![]() |
5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
|
The User Equipment NetDevice. More...
#include "nr-ue-net-device.h"
Public Member Functions | |
NrUeNetDevice () | |
NrUeNetDevice. | |
~NrUeNetDevice () override | |
~NrUeNetDevice | |
void | EnqueueDlHarqFeedback (const DlHarqInfo &m) const |
Spectrum has calculated the HarqFeedback for one DL transmission, and give it to the NetDevice of the UE. | |
Ptr< BwpManagerUe > | GetBwpManager () const |
Get the bandwidth part manager. | |
std::map< uint8_t, Ptr< BandwidthPartUe > > | GetCcMap () |
Get the NrComponentCarrier Map for the UE. | |
uint32_t | GetCcMapSize () const |
Get the size of the component carriers map. | |
uint16_t | GetCellId () const |
Get the CellId. | |
uint32_t | GetCsgId () const |
GetCsgId ? | |
uint64_t | GetImsi () const |
Get the Imsi. | |
Ptr< NrUeMac > | GetMac (uint8_t index) const |
Obtain a pointer to the MAC at the index specified. | |
Ptr< NrEpcUeNas > | GetNas () const |
Get a pointer to the Nas. | |
Ptr< NrUePhy > | GetPhy (uint8_t index) const |
Obtain a pointer to the PHY at the index specified. | |
Ptr< NrUeRrc > | GetRrc () const |
Get a Rrc pointer. | |
Ptr< const NrGnbNetDevice > | GetTargetGnb () const |
Obtain a pointer to the target gnb. | |
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 NrComponentCarrier Map for the UE. | |
void | SetCsgId (uint32_t csgId) |
SetCsgId ? | |
void | SetImsi (uint64_t imsi) |
Set the IMSI. | |
void | SetInitAssoc (Ptr< NrInitialAssociation > initAssoc) |
Set the Nr Initial Association. | |
void | SetTargetGnb (Ptr< NrGnbNetDevice > gnb) |
Set the GNB to which this UE is attached to. | |
void | UpdateConfig () |
Update the RRC config. Must be called only once. | |
![]() | |
NrNetDevice () | |
NrNetDevice. | |
~NrNetDevice () override | |
~NrNetDevice | |
void | AddLinkChangeCallback (Callback< void > callback) override |
Address | GetAddress () const override |
Address | GetBroadcast () const override |
Ptr< Channel > | GetChannel () const override |
uint32_t | GetIfIndex () const override |
uint16_t | GetMtu () const override |
Address | GetMulticast (Ipv4Address multicastGroup) const override |
Address | GetMulticast (Ipv6Address addr) const override |
Ptr< Node > | GetNode () const override |
bool | IsBridge () const override |
bool | IsBroadcast () const override |
bool | IsLinkUp () const override |
bool | IsMulticast () const override |
bool | IsPointToPoint () const override |
bool | NeedsArp () const override |
void | Receive (Ptr< Packet > p) |
bool | Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) override |
bool | SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) override |
void | SetAddress (Address address) override |
void | SetIfIndex (const uint32_t index) override |
bool | SetMtu (const uint16_t mtu) override |
void | SetNode (Ptr< Node > node) override |
void | SetPromiscReceiveCallback (PromiscReceiveCallback cb) override |
void | SetReceiveCallback (ReceiveCallback cb) override |
bool | SupportsSendFrom () const override |
Static Public Member Functions | |
static TypeId | GetTypeId () |
GetTypeId. | |
![]() | |
static TypeId | GetTypeId () |
GetTypeId. | |
Protected Member Functions | |
void | DoDispose () override |
void | DoInitialize () override |
bool | DoSend (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) override |
![]() | |
void | DoDispose () override |
Additional Inherited Members | |
![]() | |
TracedCallback< Ptr< const Packet > > | m_dropTrace |
Traced Callback for dropped packets. | |
NetDevice::ReceiveCallback | m_rxCallback |
TracedCallback< Ptr< const Packet > > | m_rxTrace |
Traced Callback for received packets. | |
TracedCallback< Ptr< const Packet >, const Address & > | m_txTrace |
Traced Callback for transmitted packets. | |
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.
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
No TraceSources are defined for this type.
Size of this type is 272 bytes (on a 64-bit architecture).
Definition at line 36 of file nr-ue-net-device.h.
ns3::NrUeNetDevice::NrUeNetDevice | ( | ) |
Definition at line 88 of file nr-ue-net-device.cc.
|
override |
~NrUeNetDevice
Definition at line 93 of file nr-ue-net-device.cc.
|
overrideprotected |
Definition at line 110 of file nr-ue-net-device.cc.
|
overrideprotected |
Definition at line 98 of file nr-ue-net-device.cc.
|
overrideprotectedvirtual |
Implements ns3::NrNetDevice.
Definition at line 230 of file nr-ue-net-device.cc.
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.
The NetDevice find the best BWP to forward the Harq Feedback, and then forward it to the PHY of the selected BWP.
m | feedback |
Definition at line 145 of file nr-ue-net-device.cc.
Ptr< BwpManagerUe > ns3::NrUeNetDevice::GetBwpManager | ( | ) | const |
Get the bandwidth part manager.
Definition at line 248 of file nr-ue-net-device.cc.
std::map< uint8_t, Ptr< BandwidthPartUe > > ns3::NrUeNetDevice::GetCcMap | ( | ) |
Get the NrComponentCarrier Map for the UE.
Definition at line 131 of file nr-ue-net-device.cc.
uint32_t ns3::NrUeNetDevice::GetCcMapSize | ( | ) | const |
Get the size of the component carriers map.
Definition at line 138 of file nr-ue-net-device.cc.
uint16_t ns3::NrUeNetDevice::GetCellId | ( | ) | const |
Get the CellId.
Definition at line 291 of file nr-ue-net-device.cc.
References GetTargetGnb().
uint32_t ns3::NrUeNetDevice::GetCsgId | ( | ) | const |
uint64_t ns3::NrUeNetDevice::GetImsi | ( | ) | const |
Get the Imsi.
Definition at line 284 of file nr-ue-net-device.cc.
Referenced by ns3::NrStatsCalculator::FindImsiFromNrUeNetDevice(), and GetTypeId().
Ptr< NrUeMac > ns3::NrUeNetDevice::GetMac | ( | uint8_t | index | ) | const |
Obtain a pointer to the MAC at the index specified.
index | bandwidth part index |
Definition at line 217 of file nr-ue-net-device.cc.
Ptr< NrEpcUeNas > ns3::NrUeNetDevice::GetNas | ( | ) | const |
Get a pointer to the Nas.
Definition at line 255 of file nr-ue-net-device.cc.
Ptr< NrUePhy > ns3::NrUeNetDevice::GetPhy | ( | uint8_t | index | ) | const |
Obtain a pointer to the PHY at the index specified.
index | bandwidth part index |
Definition at line 241 of file nr-ue-net-device.cc.
Referenced by ns3::NrRadioEnvironmentMapHelper::CreateRem(), ns3::NrInitialAssociation::GetUeActivePanel(), and ns3::NrInitialAssociation::SetUeActivePanel().
Ptr< NrUeRrc > ns3::NrUeNetDevice::GetRrc | ( | ) | const |
Ptr< const NrGnbNetDevice > ns3::NrUeNetDevice::GetTargetGnb | ( | ) | const |
Obtain a pointer to the target gnb.
Definition at line 319 of file nr-ue-net-device.cc.
Referenced by GetCellId().
|
static |
GetTypeId.
Definition at line 30 of file nr-ue-net-device.cc.
References GetImsi(), and SetImsi().
Referenced by ns3::NrHelper::NrHelper().
void ns3::NrUeNetDevice::RouteIngoingCtrlMsgs | ( | const std::list< Ptr< NrControlMessage > > & | msgList, |
uint8_t | sourceBwpId | ||
) |
The UE received a CTRL message list.
The UE should divide the messages to the BWP they pertain to.
msgList | Message list |
sourceBwpId | BWP Id from which the list originated |
Definition at line 156 of file nr-ue-net-device.cc.
void ns3::NrUeNetDevice::RouteOutgoingCtrlMsgs | ( | const std::list< Ptr< NrControlMessage > > & | msgList, |
uint8_t | sourceBwpId | ||
) |
Route the outgoing messages to the right BWP.
msgList | the list of messages |
sourceBwpId | the source bwp of the messages |
Definition at line 170 of file nr-ue-net-device.cc.
void ns3::NrUeNetDevice::SetCcMap | ( | std::map< uint8_t, Ptr< BandwidthPartUe > > | ccm | ) |
Set the NrComponentCarrier Map for the UE.
ccm | the map of ComponentCarrierUe |
Definition at line 191 of file nr-ue-net-device.cc.
void ns3::NrUeNetDevice::SetCsgId | ( | uint32_t | csgId | ) |
void ns3::NrUeNetDevice::SetImsi | ( | uint64_t | imsi | ) |
Set the IMSI.
This propagates to the device's RRC and EpcUeNas, if present. This is also called at device Initialization time.
imsi | The device's IMSI |
Definition at line 269 of file nr-ue-net-device.cc.
Referenced by GetTypeId().
void ns3::NrUeNetDevice::SetInitAssoc | ( | Ptr< NrInitialAssociation > | initAssoc | ) |
Set the Nr Initial Association.
initAssoc | initial assoc to attach |
Definition at line 305 of file nr-ue-net-device.cc.
void ns3::NrUeNetDevice::SetTargetGnb | ( | Ptr< NrGnbNetDevice > | gnb | ) |
Set the GNB to which this UE is attached to.
gnb | GNB to attach to |
This method may change once we implement handover.
Definition at line 312 of file nr-ue-net-device.cc.
void ns3::NrUeNetDevice::UpdateConfig | ( | ) |
Update the RRC config. Must be called only once.
This method is deprecated and no longer needed and will be removed from future versions of this model.
Definition at line 224 of file nr-ue-net-device.cc.