NS-3 LTE Buffer Status Report

Comments (0)

Transcript of NS-3 LTE Buffer Status Report

NS-3 LTE Buffer Status ReportSaulo da Matawww.saulodamata.comPfFfMacSchedulerpf-ff-mac-scheduler.ccDoSchedUlMacCtrlInfoReqIn this method, the buffer`s size is calculated. Note that this scheduler does not differentiate the allocation according to which Logical Channel Groups (LCGs) have more/less bytes to send. Hence the BSR of different LCGs are just summed up to get a total queue size that is used for allocation purposes. This information will be used by the method DoSchedUlTriggerReq, to allocate the resources.PfSchedulerMemberSchedSapProviderpf-ff-mac-scheduler.ccSchedUlMacCtrlInfoReqSchedUlMacCtrlInfoReqThis method calls DoSchedUlMacCtrlInfoReqLteEnbMaclte-enb-mac.ccDoSubframeIndicationThis method sends the BSR to the scheduler, calling SchedUlMacCtrlInfoReq.EnbMacMemberLteEnbPhySapUserlte-enb-mac.ccReceiveLteControlMessageThis method calls DoReceiveLteControlMessage.LteEnbPhylte-enb-phy.ccReceiveLteControlMessageListWhen a Control Message List is received, this method calls ReceiveLteControlMessage.LteRlcUmlte-rlc-um.ccDoTransmitPdcpPduThis method processes PDCP PDU and calls DoReportBufferStatus.UeMemberLteMacSapProviderlte-ue-mac.ccReportBufferStatusThis method calls DoReportBufferStatus.LteUeMaclte-ue-mac.ccSendReportBufferStatusIn this method we can see that NS-3 uses the BSR long type, where the reports for the Logical Channels are grouped into 4 Logical Channel Groups (LCGs). Afterward, it calls SendLteControlMessage.UeMemberLteUePhySapProviderlte-ue-phy.ccSendLteControlMessageThis method calls DoSendLteControlMessageLteUePhylte-ue-phy.ccSubframeIndicationWhen a sub frame starting event is triggered, this method calls SubframeIndication.DoSubframeIndicationThis method calls SendReportBufferStatusDoReportBufferStatusThis method updates the Buffer Status Report (BSR) list.DoReportBufferStatusThis method creates the Buffer Status Report and calls ReportBufferStatus.UeMemberLteUePhySapUserlte-ue-mac.ccSubframeIndicationThis method calls DoSubframeIndication.DoSendLteControlMessageThis method calls SetControlMessages.SetControlMessageThis method queues the control messages that will be sent to eNB.DoReceiveLteControlMessageThis method processes control message, identifies if it is of BSR type and calls ReceiveBsrMessage.ReceiveBsrMessageThis method queues the BSR and makes it available to be sent to the scheduler.DoSubframeIndicationThis method calls DoSubframeIndication.StartFrameWhen a Start Frame event is triggered, this method calls StartSubframe.StartSubFrameThis method calls SubframeIndication.Let`s follow a brief description of the Buffer Status Report flow, when data becomes available for any Logical Channel in the UE.