A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-enb-mac.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Marco Miozzo <marco.miozzo@cttc.es>
7 * Nicola Baldo <nbaldo@cttc.es>
8 * Modified by:
9 * Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
10 * Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
11 */
12
13#ifndef LTE_ENB_MAC_H
14#define LTE_ENB_MAC_H
15
16#include "ff-mac-csched-sap.h"
17#include "ff-mac-sched-sap.h"
18#include "lte-ccm-mac-sap.h"
19#include "lte-common.h"
20#include "lte-enb-cmac-sap.h"
21#include "lte-enb-phy-sap.h"
22#include "lte-mac-sap.h"
23
24#include <ns3/nstime.h>
25#include <ns3/packet-burst.h>
26#include <ns3/packet.h>
27#include <ns3/trace-source-accessor.h>
28#include <ns3/traced-value.h>
29
30#include <map>
31#include <vector>
32
33namespace ns3
34{
35
36class DlCqiLteControlMessage;
37class UlCqiLteControlMessage;
38class PdcchMapLteControlMessage;
39
40/// DlHarqProcessesBuffer_t typedef
41typedef std::vector<std::vector<Ptr<PacketBurst>>> DlHarqProcessesBuffer_t;
42
43/**
44 * This class implements the MAC layer of the eNodeB device
45 */
46class LteEnbMac : public Object
47{
48 /// allow EnbMacMemberLteEnbCmacSapProvider class friend access
50 /// allow EnbMacMemberLteMacSapProvider<LteEnbMac> class friend access
52 /// allow EnbMacMemberFfMacSchedSapUser class friend access
54 /// allow EnbMacMemberFfMacCschedSapUser class friend access
56 /// allow EnbMacMemberLteEnbPhySapUser class friend access
58 /// allow MemberLteCcmMacSapProvider<LteEnbMac> class friend access
60
61 public:
62 /**
63 * \brief Get the type ID.
64 * \return the object TypeId
65 */
66 static TypeId GetTypeId();
67
68 LteEnbMac();
69 ~LteEnbMac() override;
70 void DoDispose() override;
71
72 /**
73 * \brief Set the component carrier ID
74 * \param index the component carrier ID
75 */
76 void SetComponentCarrierId(uint8_t index);
77 /**
78 * \brief Set the scheduler SAP provider
79 * \param s a pointer SAP provider of the FF packet scheduler
80 */
82 /**
83 * \brief Get the scheduler SAP user
84 * \return a pointer to the SAP user of the scheduler
85 */
87 /**
88 * \brief Set the control scheduler SAP provider
89 * \param s a pointer to the control scheduler SAP provider
90 */
92 /**
93 * \brief Get the control scheduler SAP user
94 * \return a pointer to the control scheduler SAP user
95 */
97
98 /**
99 * \brief Set the MAC SAP user
100 * \param s a pointer to the MAC SAP user
101 */
103 /**
104 * \brief Get the MAC SAP provider
105 * \return a pointer to the SAP provider of the MAC
106 */
108 /**
109 * \brief Set the control MAC SAP user
110 * \param s a pointer to the control MAC SAP user
111 */
113 /**
114 * \brief Get the control MAC SAP provider
115 * \return a pointer to the control MAC SAP provider
116 */
118
119 /**
120 * \brief Get the eNB-PHY SAP User
121 * \return a pointer to the SAP User of the PHY
122 */
124
125 /**
126 * \brief Set the PHY SAP Provider
127 * \param s a pointer to the PHY SAP provider
128 */
130
131 /**
132 * \brief Get the eNB-ComponentCarrierManager SAP User
133 * \return a pointer to the SAP User of the ComponentCarrierManager
134 */
136
137 /**
138 * \brief Set the ComponentCarrierManager SAP user
139 * \param s a pointer to the ComponentCarrierManager provider
140 */
142
143 /**
144 * TracedCallback signature for DL scheduling events.
145 *
146 * \param [in] frame Frame number.
147 * \param [in] subframe Subframe number.
148 * \param [in] rnti The C-RNTI identifying the UE.
149 * \param [in] mcs0 The MCS for transport block..
150 * \param [in] tbs0Size
151 * \param [in] mcs1 The MCS for transport block.
152 * \param [in] tbs1Size
153 * \param [in] component carrier id
154 */
155 typedef void (*DlSchedulingTracedCallback)(const uint32_t frame,
156 const uint32_t subframe,
157 const uint16_t rnti,
158 const uint8_t mcs0,
159 const uint16_t tbs0Size,
160 const uint8_t mcs1,
161 const uint16_t tbs1Size,
162 const uint8_t ccId);
163
164 /**
165 * TracedCallback signature for UL scheduling events.
166 *
167 * \param [in] frame Frame number.
168 * \param [in] subframe Subframe number.
169 * \param [in] rnti The C-RNTI identifying the UE.
170 * \param [in] mcs The MCS for transport block
171 * \param [in] tbsSize
172 */
173 typedef void (*UlSchedulingTracedCallback)(const uint32_t frame,
174 const uint32_t subframe,
175 const uint16_t rnti,
176 const uint8_t mcs,
177 const uint16_t tbsSize);
178
179 private:
180 /**
181 * \brief Receive a DL CQI ideal control message
182 * \param msg the DL CQI message
183 */
185
186 /**
187 * \brief Receive a DL CQI ideal control message
188 * \param msg the DL CQI message
189 */
191
192 /**
193 * \brief Receive a CE element containing the buffer status report
194 * \param bsr the BSR message
195 */
197
198 /**
199 * \brief UL CQI report
200 * \param ulcqi FfMacSchedSapProvider::SchedUlCqiInfoReqParameters
201 */
203
204 // forwarded from LteEnbCmacSapProvider
205 /**
206 * \brief Configure MAC function
207 * \param ulBandwidth the UL bandwidth
208 * \param dlBandwidth the DL bandwidth
209 */
210 void DoConfigureMac(uint16_t ulBandwidth, uint16_t dlBandwidth);
211 /**
212 * \brief Add UE function
213 * \param rnti the RNTI
214 */
215 void DoAddUe(uint16_t rnti);
216 /**
217 * \brief Remove UE function
218 * \param rnti the RNTI
219 */
220 void DoRemoveUe(uint16_t rnti);
221 /**
222 * \brief Add LC function
223 * \param lcinfo the LC info
224 * \param msu the LTE MAC SAP user
225 */
227 /**
228 * \brief Reconfigure LC function
229 * \param lcinfo the LC info
230 */
232 /**
233 * \brief Release LC function
234 * \param rnti the RNTI
235 * \param lcid the LCID
236 */
237 void DoReleaseLc(uint16_t rnti, uint8_t lcid);
238 /**
239 * \brief UE Update configuration request function
240 * \param params LteEnbCmacSapProvider::UeConfig
241 */
243 /**
244 * \brief Get RACH configuration function
245 * \returns LteEnbCmacSapProvider::RachConfig
246 */
248 /**
249 * \brief Allocate NC RA preamble function
250 * \param rnti the RNTI
251 * \returns LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue
252 */
254
255 // forwarded from LteMacSapProvider
256 /**
257 * \brief Transmit PDU function
258 * \param params LteMacSapProvider::TransmitPduParameters
259 */
261 /**
262 * \brief Report Buffer Status function
263 * \param params LteMacSapProvider::ReportBufferStatusParameters
264 */
266
267 // forwarded from FfMacCchedSapUser
268 /**
269 * \brief CSched Cell Config configure function
270 * \param params FfMacCschedSapUser::CschedCellConfigCnfParameters
271 */
273 /**
274 * \brief CSched UE Config configure function
275 * \param params FfMacCschedSapUser::CschedUeConfigCnfParameters
276 */
278 /**
279 * \brief CSched LC Config configure function
280 * \param params FfMacCschedSapUser::CschedLcConfigCnfParameters
281 */
283 /**
284 * \brief CSched LC Release configure function
285 * \param params FfMacCschedSapUser::CschedLcReleaseCnfParameters
286 */
288 /**
289 * \brief CSched UE Release configure function
290 * \param params FfMacCschedSapUser::CschedUeReleaseCnfParameters
291 */
293 /**
294 * \brief CSched UE Config Update Indication function
295 * \param params FfMacCschedSapUser::CschedUeConfigUpdateIndParameters
296 */
298 /**
299 * \brief CSched Cell Config Update Indication function
300 * \param params FfMacCschedSapUser::CschedCellConfigUpdateIndParameters
301 */
304
305 // forwarded from FfMacSchedSapUser
306 /**
307 * \brief Sched DL Config Indication function
308 * \param ind FfMacSchedSapUser::SchedDlConfigIndParameters
309 */
311 /**
312 * \brief Sched UL Config Indication function
313 * \param params FfMacSchedSapUser::SchedUlConfigIndParameters
314 */
316
317 // forwarded from LteEnbPhySapUser
318 /**
319 * \brief Subrame Indication function
320 * \param frameNo frame number
321 * \param subframeNo subframe number
322 */
323 void DoSubframeIndication(uint32_t frameNo, uint32_t subframeNo);
324 /**
325 * \brief Receive RACH Preamble function
326 * \param prachId PRACH ID number
327 */
328 void DoReceiveRachPreamble(uint8_t prachId);
329
330 // forwarded by LteCcmMacSapProvider
331 /**
332 * Report MAC CE to scheduler
333 * \param bsr the BSR
334 */
336
337 /**
338 * \brief Report SR to scheduler
339 * \param rnti RNTI of the UE that requested the SR
340 *
341 * Since SR is not implemented in LTE, this method does nothing.
342 */
343 void DoReportSrToScheduler(uint16_t rnti [[maybe_unused]])
344 {
345 }
346
347 public:
348 /**
349 * legacy public for use the Phy callback
350 * \param p packet
351 */
353
354 private:
355 /**
356 * \brief UL Info List Elements HARQ Feedback function
357 * \param params UlInfoListElement_s
358 */
360 /**
361 * \brief DL Info List Elements HARQ Feedback function
362 * \param params DlInfoListElement_s
363 */
365
366 /// RNTI, LC ID, SAP of the RLC instance
367 std::map<uint16_t, std::map<uint8_t, LteMacSapUser*>> m_rlcAttached;
368
369 std::vector<CqiListElement_s> m_dlCqiReceived; ///< DL-CQI received
370 std::vector<FfMacSchedSapProvider::SchedUlCqiInfoReqParameters>
371 m_ulCqiReceived; ///< UL-CQI received
372 std::vector<MacCeListElement_s> m_ulCeReceived; ///< CE received (BSR up to now)
373
374 std::vector<DlInfoListElement_s> m_dlInfoListReceived; ///< DL HARQ feedback received
375
376 std::vector<UlInfoListElement_s> m_ulInfoListReceived; ///< UL HARQ feedback received
377
378 /*
379 * Map of UE's info element (see 4.3.12 of FF MAC Scheduler API)
380 */
381 // std::map <uint16_t,UlInfoListElement_s> m_ulInfoListElements;
382
383 LteMacSapProvider* m_macSapProvider; ///< the MAC SAP provider
384 LteEnbCmacSapProvider* m_cmacSapProvider; ///< the CMAC SAP provider
385 LteMacSapUser* m_macSapUser; ///< the MAC SAP user
386 LteEnbCmacSapUser* m_cmacSapUser; ///< the CMAC SAP user
387
388 FfMacSchedSapProvider* m_schedSapProvider; ///< the Sched SAP provider
389 FfMacCschedSapProvider* m_cschedSapProvider; ///< the Csched SAP provider
390 FfMacSchedSapUser* m_schedSapUser; ///< the Sched SAP user
391 FfMacCschedSapUser* m_cschedSapUser; ///< the CSched SAP user
392
393 // PHY-SAP
394 LteEnbPhySapProvider* m_enbPhySapProvider; ///< the ENB Phy SAP provider
395 LteEnbPhySapUser* m_enbPhySapUser; ///< the ENB Phy SAP user
396
397 // Sap For ComponentCarrierManager 'Uplink case'
398 LteCcmMacSapProvider* m_ccmMacSapProvider; ///< CCM MAC SAP provider
399 LteCcmMacSapUser* m_ccmMacSapUser; ///< CCM MAC SAP user
400 /**
401 * frame number of current subframe indication
402 */
404 /**
405 * subframe number of current subframe indication
406 */
408 /**
409 * Trace information regarding DL scheduling
410 * Frame number, Subframe number, RNTI, MCS of TB1, size of TB1,
411 * MCS of TB2 (0 if not present), size of TB2 (0 if not present)
412 */
414
415 /**
416 * Trace information regarding UL scheduling
417 * Frame number, Subframe number, RNTI, MCS of TB, size of TB, component carrier id
418 */
420
421 uint8_t m_macChTtiDelay; ///< delay of MAC, PHY and channel in terms of TTIs
422
423 std::map<uint16_t, DlHarqProcessesBuffer_t>
424 m_miDlHarqProcessesPackets; ///< Packet under transmission of the DL HARQ process
425
426 uint8_t m_numberOfRaPreambles; ///< number of RA preambles
427 uint8_t m_preambleTransMax; ///< preamble transmit maximum
428 uint8_t m_raResponseWindowSize; ///< RA response window size
429 uint8_t m_connEstFailCount; ///< the counter value for T300 timer expiration
430
431 /**
432 * info associated with a preamble allocated for non-contention based RA
433 *
434 */
436 {
437 uint16_t rnti; ///< rnti previously allocated for this non-contention based RA procedure
438 Time expiryTime; ///< value the expiration time of this allocation (so that stale preambles
439 ///< can be reused)
440 };
441
442 /**
443 * map storing as key the random access preamble IDs allocated for
444 * non-contention based access, and as value the associated info
445 *
446 */
447 std::map<uint8_t, NcRaPreambleInfo> m_allocatedNcRaPreambleMap;
448
449 std::map<uint8_t, uint32_t> m_receivedRachPreambleCount; ///< received RACH preamble count
450
451 std::map<uint16_t, uint32_t> m_rapIdRntiMap; ///< RAPID RNTI map
452
453 /// component carrier Id used to address sap
455};
456
457} // end namespace ns3
458
459#endif /* LTE_ENB_MAC_ENTITY_H */
EnbMacMemberFfMacCschedSapUser class.
EnbMacMemberFfMacSchedSapUser class.
EnbMacMemberLteEnbCmacSapProvider class.
EnbMacMemberLteMacSapProvider class.
Provides the CSCHED SAP.
FfMacCschedSapUser class.
Provides the SCHED SAP.
FfMacSchedSapUser class.
Service Access Point (SAP) offered by the component carrier manager (CCM) by MAC to CCM.
Service Access Point (SAP) offered by MAC to the component carrier manager (CCM).
Service Access Point (SAP) offered by the eNB MAC to the eNB RRC See Femto Forum MAC Scheduler Interf...
Service Access Point (SAP) offered by the MAC to the RRC See Femto Forum MAC Scheduler Interface Spec...
This class implements the MAC layer of the eNodeB device.
Definition lte-enb-mac.h:47
void SetFfMacCschedSapProvider(FfMacCschedSapProvider *s)
Set the control scheduler SAP provider.
~LteEnbMac() override
void DoReceivePhyPdu(Ptr< Packet > p)
legacy public for use the Phy callback
void DoSchedDlConfigInd(FfMacSchedSapUser::SchedDlConfigIndParameters ind)
Sched DL Config Indication function.
FfMacSchedSapUser * m_schedSapUser
the Sched SAP user
void DoCschedCellConfigCnf(FfMacCschedSapUser::CschedCellConfigCnfParameters params)
CSched Cell Config configure function.
FfMacCschedSapProvider * m_cschedSapProvider
the Csched SAP provider
void SetLteEnbPhySapProvider(LteEnbPhySapProvider *s)
Set the PHY SAP Provider.
uint32_t m_frameNo
frame number of current subframe indication
void DoDispose() override
Destructor implementation.
LteEnbPhySapProvider * m_enbPhySapProvider
the ENB Phy SAP provider
void DoReportBufferStatus(LteMacSapProvider::ReportBufferStatusParameters params)
Report Buffer Status function.
FfMacCschedSapUser * GetFfMacCschedSapUser()
Get the control scheduler SAP user.
void(* DlSchedulingTracedCallback)(const uint32_t frame, const uint32_t subframe, const uint16_t rnti, const uint8_t mcs0, const uint16_t tbs0Size, const uint8_t mcs1, const uint16_t tbs1Size, const uint8_t ccId)
TracedCallback signature for DL scheduling events.
FfMacCschedSapUser * m_cschedSapUser
the CSched SAP user
static TypeId GetTypeId()
Get the type ID.
LteCcmMacSapUser * m_ccmMacSapUser
CCM MAC SAP user.
void DoCschedUeReleaseCnf(FfMacCschedSapUser::CschedUeReleaseCnfParameters params)
CSched UE Release configure function.
void SetLteEnbCmacSapUser(LteEnbCmacSapUser *s)
Set the control MAC SAP user.
LteEnbPhySapUser * GetLteEnbPhySapUser()
Get the eNB-PHY SAP User.
void DoUlInfoListElementHarqFeedback(UlInfoListElement_s params)
UL Info List Elements HARQ Feedback function.
std::vector< CqiListElement_s > m_dlCqiReceived
DL-CQI received.
std::map< uint8_t, uint32_t > m_receivedRachPreambleCount
received RACH preamble count
LteCcmMacSapProvider * m_ccmMacSapProvider
CCM MAC SAP provider.
FfMacSchedSapProvider * m_schedSapProvider
the Sched SAP provider
void DoReceiveRachPreamble(uint8_t prachId)
Receive RACH Preamble function.
void DoCschedLcConfigCnf(FfMacCschedSapUser::CschedLcConfigCnfParameters params)
CSched LC Config configure function.
uint8_t m_componentCarrierId
component carrier Id used to address sap
void DoCschedUeConfigCnf(FfMacCschedSapUser::CschedUeConfigCnfParameters params)
CSched UE Config configure function.
TracedCallback< uint32_t, uint32_t, uint16_t, uint8_t, uint16_t, uint8_t > m_ulScheduling
Trace information regarding UL scheduling Frame number, Subframe number, RNTI, MCS of TB,...
void DoReleaseLc(uint16_t rnti, uint8_t lcid)
Release LC function.
void DoReceiveLteControlMessage(Ptr< LteControlMessage > msg)
Receive a DL CQI ideal control message.
void SetLteCcmMacSapUser(LteCcmMacSapUser *s)
Set the ComponentCarrierManager SAP user.
std::map< uint16_t, std::map< uint8_t, LteMacSapUser * > > m_rlcAttached
RNTI, LC ID, SAP of the RLC instance.
LteMacSapUser * m_macSapUser
the MAC SAP user
std::vector< MacCeListElement_s > m_ulCeReceived
CE received (BSR up to now)
LteEnbPhySapUser * m_enbPhySapUser
the ENB Phy SAP user
void DoTransmitPdu(LteMacSapProvider::TransmitPduParameters params)
Transmit PDU function.
std::vector< FfMacSchedSapProvider::SchedUlCqiInfoReqParameters > m_ulCqiReceived
UL-CQI received.
LteEnbCmacSapProvider * m_cmacSapProvider
the CMAC SAP provider
TracedCallback< DlSchedulingCallbackInfo > m_dlScheduling
Trace information regarding DL scheduling Frame number, Subframe number, RNTI, MCS of TB1,...
void SetFfMacSchedSapProvider(FfMacSchedSapProvider *s)
Set the scheduler SAP provider.
void ReceiveBsrMessage(MacCeListElement_s bsr)
Receive a CE element containing the buffer status report.
uint8_t m_connEstFailCount
the counter value for T300 timer expiration
LteMacSapProvider * m_macSapProvider
the MAC SAP provider
uint8_t m_raResponseWindowSize
RA response window size.
void DoUeUpdateConfigurationReq(LteEnbCmacSapProvider::UeConfig params)
UE Update configuration request function.
void DoReconfigureLc(LteEnbCmacSapProvider::LcInfo lcinfo)
Reconfigure LC function.
uint8_t m_macChTtiDelay
delay of MAC, PHY and channel in terms of TTIs
FfMacSchedSapUser * GetFfMacSchedSapUser()
Get the scheduler SAP user.
LteCcmMacSapProvider * GetLteCcmMacSapProvider()
Get the eNB-ComponentCarrierManager SAP User.
void(* UlSchedulingTracedCallback)(const uint32_t frame, const uint32_t subframe, const uint16_t rnti, const uint8_t mcs, const uint16_t tbsSize)
TracedCallback signature for UL scheduling events.
void DoDlInfoListElementHarqFeedback(DlInfoListElement_s params)
DL Info List Elements HARQ Feedback function.
uint8_t m_preambleTransMax
preamble transmit maximum
void DoConfigureMac(uint16_t ulBandwidth, uint16_t dlBandwidth)
Configure MAC function.
std::map< uint8_t, NcRaPreambleInfo > m_allocatedNcRaPreambleMap
map storing as key the random access preamble IDs allocated for non-contention based access,...
uint8_t m_numberOfRaPreambles
number of RA preambles
LteEnbCmacSapProvider * GetLteEnbCmacSapProvider()
Get the control MAC SAP provider.
std::map< uint16_t, DlHarqProcessesBuffer_t > m_miDlHarqProcessesPackets
Packet under transmission of the DL HARQ process.
void DoCschedCellConfigUpdateInd(FfMacCschedSapUser::CschedCellConfigUpdateIndParameters params)
CSched Cell Config Update Indication function.
void DoAddLc(LteEnbCmacSapProvider::LcInfo lcinfo, LteMacSapUser *msu)
Add LC function.
void DoCschedUeConfigUpdateInd(FfMacCschedSapUser::CschedUeConfigUpdateIndParameters params)
CSched UE Config Update Indication function.
void DoSubframeIndication(uint32_t frameNo, uint32_t subframeNo)
Subrame Indication function.
void SetLteMacSapUser(LteMacSapUser *s)
Set the MAC SAP user.
void ReceiveDlCqiLteControlMessage(Ptr< DlCqiLteControlMessage > msg)
Receive a DL CQI ideal control message.
LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue DoAllocateNcRaPreamble(uint16_t rnti)
Allocate NC RA preamble function.
void DoReportSrToScheduler(uint16_t rnti)
Report SR to scheduler.
void DoRemoveUe(uint16_t rnti)
Remove UE function.
LteEnbCmacSapProvider::RachConfig DoGetRachConfig() const
Get RACH configuration function.
std::vector< DlInfoListElement_s > m_dlInfoListReceived
DL HARQ feedback received.
void DoSchedUlConfigInd(FfMacSchedSapUser::SchedUlConfigIndParameters params)
Sched UL Config Indication function.
LteMacSapProvider * GetLteMacSapProvider()
Get the MAC SAP provider.
LteEnbCmacSapUser * m_cmacSapUser
the CMAC SAP user
uint32_t m_subframeNo
subframe number of current subframe indication
void DoCschedLcReleaseCnf(FfMacCschedSapUser::CschedLcReleaseCnfParameters params)
CSched LC Release configure function.
void DoAddUe(uint16_t rnti)
Add UE function.
void DoReportMacCeToScheduler(MacCeListElement_s bsr)
Report MAC CE to scheduler.
void SetComponentCarrierId(uint8_t index)
Set the component carrier ID.
void DoUlCqiReport(FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ulcqi)
UL CQI report.
std::vector< UlInfoListElement_s > m_ulInfoListReceived
UL HARQ feedback received.
std::map< uint16_t, uint32_t > m_rapIdRntiMap
RAPID RNTI map.
Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC.
Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition lte-mac-sap.h:25
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition lte-mac-sap.h:85
MemberLteCcmMacSapProvider class.
A base class which provides memory management and object aggregation.
Definition object.h:78
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
Definition nstime.h:94
Forward calls to a chain of Callback.
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::vector< std::vector< Ptr< PacketBurst > > > DlHarqProcessesBuffer_t
DlHarqProcessesBuffer_t typedef.
Definition lte-enb-mac.h:41
See section 4.3.23 dlInfoListElement.
Parameters of the CSCHED_CELL_CONFIG_UPDATE_IND primitive.
Parameters of the CSCHED_LC_CONFIG_CNF primitive.
Parameters of the CSCHED_LC_RELEASE_CNF primitive.
Parameters of the CSCHED_UE_CONFIG_CNF primitive.
Parameters of the CSCHED_UE_CONFIG_UPDATE_IND primitive.
Parameters of the CSCHED_UE_RELEASE_CNF primitive.
Parameters of the SCHED_UL_CQI_INFO_REQ primitive.
Parameters of the SCHED_UL_CONFIG_IND primitive.
Logical Channel information to be passed to CmacSapProvider::ConfigureLc.
struct defining the RACH configuration of the MAC
Parameters for [re]configuring the UE.
info associated with a preamble allocated for non-contention based RA
Time expiryTime
value the expiration time of this allocation (so that stale preambles can be reused)
uint16_t rnti
rnti previously allocated for this non-contention based RA procedure
Parameters for LteMacSapProvider::ReportBufferStatus.
Definition lte-mac-sap.h:58
Parameters for LteMacSapProvider::TransmitPdu.
Definition lte-mac-sap.h:34
See section 4.3.14 macCEListElement.
See section 4.3.12 ulInfoListElement.