class
NrUeNetDeviceThe User Equipment NetDevice.
This class represent the netdevice of the UE. This class is the contact point between the TCP/IP part (from internet and network modules) and the NR part.
Config Paths
ns3::
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice
Attributes
- EpcUeNas: The NAS associated to this UeNetDevice
- Set with class: ns3::PointerValue
- Underlying type: ns3::Ptr< ns3::EpcUeNas>
- Initial value: 0
- Flags: construct write read
- nrUeRrc: The RRC associated to this UeNetDevice
- Set with class: ns3::PointerValue
- Underlying type: ns3::Ptr< ns3::LteUeRrc>
- Initial value: 0
- Flags: construct write read
- Imsi: International Mobile Subscriber Identity assigned to this UE
- Set with class: ns3::UintegerValue
- Underlying type: uint64_t 0:18446744073709551615
- Initial value: 0
- Flags: construct write read
- LteUeRrc: The RRC layer associated with the ENB
- Set with class: ns3::PointerValue
- Underlying type: ns3::Ptr< ns3::LteUeRrc>
- Initial value: 0
- Flags: construct write read
- LteUeComponentCarrierManager: The ComponentCarrierManager associated to this UeNetDevice
- Set with class: ns3::PointerValue
- Underlying type: ns3::Ptr< ns3::LteUeComponentCarrierManager>
- Initial value: 0
- Flags: construct write read
- ComponentCarrierMapUe: List of all component Carrier.
- Set with class: ns3::ObjectPtrContainerValue
- Underlying type: ns3::Ptr< ns3::
BandwidthPartUe> - Flags: read
Attributes defined in parent class ns3::NrNetDevice
- Mtu: The MAC-level Maximum Transmission Unit
- Set with class: ns3::UintegerValue
- Underlying type: uint16_t 0:65535
- Initial value: 30000
- Flags: construct write read
No TraceSources are defined for this type.
Size of this type is 160 bytes (on a 64-bit architecture).
Base classes
- class NrNetDevice
- The NrNetDevice class.
Public static functions
- static auto GetTypeId() -> TypeId
- GetTypeId.
Constructors, destructors, conversion operators
- NrUeNetDevice()
- NrUeNetDevice.
- ~NrUeNetDevice() override
- ~NrUeNetDevice
Public functions
- void EnqueueDlHarqFeedback(const DlHarqInfo& m) const
- Spectrum has calculated the HarqFeedback for one DL transmission, and give it to the NetDevice of the UE.
- auto GetBwpManager() const -> Ptr<BwpManagerUe>
- Get the bandwidth part manager.
- auto GetCcMap() -> std::map<uint8_t, Ptr<BandwidthPartUe>>
- Get the ComponentCarrier Map for the UE.
- auto GetCcMapSize() const -> uint32_t
- Get the size of the component carriers map.
- auto GetCellId() const -> uint16_t
- Get the CellId.
- auto GetCsgId() const -> uint32_t
- GetCsgId ?
- auto GetImsi() const -> uint64_t
- Get the Imsi.
- auto GetMac(uint8_t index) const -> Ptr<NrUeMac>
- Obtain a pointer to the MAC at the index specified.
- auto GetNas() const -> Ptr<EpcUeNas>
- Get a pointer to the Nas.
- auto GetPhy(uint8_t index) const -> Ptr<NrUePhy>
- Obtain a pointer to the PHY at the index specified.
- auto GetRrc() const -> Ptr<LteUeRrc>
- Get a Rrc pointer.
- auto GetTargetEnb() const -> Ptr<const NrGnbNetDevice>
- Obtain a pointer to the target enb.
- void RouteIngoingCtrlMsgs(const std::list<Ptr<NrControlMessage>>& msgList, uint8_t sourceBwpId)
- The UE received a CTRL message list.
- void RouteOutgoingCtrlMsgs(const std::list<Ptr<NrControlMessage>>& msgList, uint8_t sourceBwpId)
- Route the outgoing messages to the right BWP.
- void SetCcMap(std::map<uint8_t, Ptr<BandwidthPartUe>> ccm)
- Set the ComponentCarrier Map for the UE.
- void SetCsgId(uint32_t csgId)
- SetCsgId ?
- void SetTargetEnb(Ptr<NrGnbNetDevice> enb)
- Set the GNB to which this UE is attached to.
- void UpdateConfig()
- Update the RRC config. Must be called only once.
Function documentation
void ns3:: NrUeNetDevice:: EnqueueDlHarqFeedback(const DlHarqInfo& m) const
Spectrum has calculated the HarqFeedback for one DL transmission, and give it to the NetDevice of the UE.
Parameters | |
---|---|
m | feedback |
The NetDevice find the best BWP to forward the Harq Feedback, and then forward it to the PHY of the selected BWP.
Ptr<BwpManagerUe> ns3:: NrUeNetDevice:: GetBwpManager() const
Get the bandwidth part manager.
Returns | a pointer to the BWP manager |
---|
std::map<uint8_t, Ptr<BandwidthPartUe>> ns3:: NrUeNetDevice:: GetCcMap()
Get the ComponentCarrier Map for the UE.
Returns | the map of ComponentCarrierUe |
---|
uint32_t ns3:: NrUeNetDevice:: GetCcMapSize() const
Get the size of the component carriers map.
Returns | the number of cc that we have |
---|
Ptr<const NrGnbNetDevice> ns3:: NrUeNetDevice:: GetTargetEnb() const
Obtain a pointer to the target enb.
Returns | a pointer to the target enb |
---|
void ns3:: NrUeNetDevice:: RouteIngoingCtrlMsgs(const std::list<Ptr<NrControlMessage>>& msgList,
uint8_t sourceBwpId)
The UE received a CTRL message list.
Parameters | |
---|---|
msgList | Message list |
sourceBwpId | BWP Id from which the list originated |
The UE should divide the messages to the BWP they pertain to.
void ns3:: NrUeNetDevice:: RouteOutgoingCtrlMsgs(const std::list<Ptr<NrControlMessage>>& msgList,
uint8_t sourceBwpId)
Route the outgoing messages to the right BWP.
Parameters | |
---|---|
msgList | the list of messages |
sourceBwpId | the source bwp of the messages |
void ns3:: NrUeNetDevice:: SetCcMap(std::map<uint8_t, Ptr<BandwidthPartUe>> ccm)
Set the ComponentCarrier Map for the UE.
Parameters | |
---|---|
ccm | the map of ComponentCarrierUe |
void ns3:: NrUeNetDevice:: SetTargetEnb(Ptr<NrGnbNetDevice> enb)
Set the GNB to which this UE is attached to.
Parameters | |
---|---|
enb | GNB to attach to |
This method may change once we implement handover.