ns3::NrUeNetDevice class

The 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::NrUeNetDevice is accessible through the following paths with Config::Set and Config::Connect:

  • /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

uint16_t ns3::NrUeNetDevice::GetCellId() const

Get the CellId.

Returns cell ID

uint32_t ns3::NrUeNetDevice::GetCsgId() const

GetCsgId ?

Returns ?

uint64_t ns3::NrUeNetDevice::GetImsi() const

Get the Imsi.

Returns UE imsi

Ptr<NrUeMac> ns3::NrUeNetDevice::GetMac(uint8_t index) const

Obtain a pointer to the MAC at the index specified.

Parameters
index bandwidth part index
Returns the pointer to the MAC selected

Ptr<EpcUeNas> ns3::NrUeNetDevice::GetNas() const

Get a pointer to the Nas.

Returns the NAS pointer

Ptr<NrUePhy> ns3::NrUeNetDevice::GetPhy(uint8_t index) const

Obtain a pointer to the PHY at the index specified.

Parameters
index bandwidth part index
Returns the pointer to the PHY selected

Ptr<LteUeRrc> ns3::NrUeNetDevice::GetRrc() const

Get a Rrc pointer.

Returns RRC pointer

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::SetCsgId(uint32_t csgId)

SetCsgId ?

Parameters
csgId ?

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.