![]() |
5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
|
The NrGnbNetDevice class. More...
#include "nr-gnb-net-device.h"
Public Member Functions | |
void | ConfigureCell () |
Update the RRC configuration after installation. | |
uint16_t | GetBwpId (uint8_t index) const |
Ptr< BwpManagerGnb > | GetBwpManager () const |
uint32_t | GetCcMapSize () const |
Get the size of the component carriers map. | |
uint16_t | GetCellId () const |
uint16_t | GetCellIdDlBandwidth (uint16_t cellId) const |
Get downlink bandwidth for a given physical cell Id. | |
uint32_t | GetCellIdDlEarfcn (uint16_t cellId) const |
Get uplink earfcn for a given physical cell Id. | |
std::vector< uint16_t > | GetCellIds () const |
uint16_t | GetCellIdUlBandwidth (uint16_t cellId) const |
Get uplink bandwidth for a given physical cell Id. | |
uint32_t | GetCellIdUlEarfcn (uint16_t cellId) const |
Get uplink earfcn for a given physical cell Id. | |
uint16_t | GetEarfcn (uint8_t index) const |
Ptr< NrGnbMac > | GetMac (uint8_t index) const |
Ptr< NrFhControl > | GetNrFhControl () |
Get the NrFhControl for this cell. | |
Ptr< NrGnbPhy > | GetPhy (uint8_t index) const |
Ptr< NrGnbRrc > | GetRrc () |
Ptr< NrMacScheduler > | GetScheduler (uint8_t index) const |
bool | IsCellConfigured () const |
Return true if ConfigureCell() has been called. | |
void | RouteIngoingCtrlMsgs (const std::list< Ptr< NrControlMessage > > &msgList, uint8_t sourceBwpId) |
The gNB 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 (const std::map< uint8_t, Ptr< BandwidthPartGnb > > &ccm) |
void | SetCellId (uint16_t cellId) |
Set this gnb cell id. | |
void | SetNrFhControl (Ptr< NrFhControl > nrFh) |
Set the NrFhControl for this cell. | |
void | SetRrc (Ptr< NrGnbRrc > rrc) |
void | UpdateConfig () |
Update the RRC configuration after installation. | |
![]() | |
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 () |
![]() | |
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 NrGnbNetDevice class.
This class represent the GNB NetDevice.
ns3::NrGnbNetDevice is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice
No TraceSources are defined for this type.
Size of this type is 256 bytes (on a 64-bit architecture).
Definition at line 34 of file nr-gnb-net-device.h.
ns3::NrGnbNetDevice::NrGnbNetDevice | ( | ) |
Definition at line 53 of file nr-gnb-net-device.cc.
|
override |
Definition at line 59 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::ConfigureCell | ( | ) |
Update the RRC configuration after installation.
This method calls ConfigureCell() on the RRC using the component carrier map that has already been installed on this net device.
This method finishes cell configuration in the RRC once PHY configuration is finished. It must be called exactly once for each NrGnbNetDevice.
After NrHelper::Install() is called on gNB nodes, either this method or the NrHelper::AttachToGnb() method (or AttachToClosestGnb() method), which, in turn, calls this method, must be called exactly once, after any post-install PHY configuration is done (if any).
If AttachToGnb() is not called by initialization time, this method will be called by DoInitialize().
This method will assert if called twice on the same device. Users may check whether it has been called already by calling the IsCellConfigured() method.
Definition at line 255 of file nr-gnb-net-device.cc.
|
overrideprotected |
Definition at line 144 of file nr-gnb-net-device.cc.
|
overrideprotected |
Definition at line 134 of file nr-gnb-net-device.cc.
|
overrideprotectedvirtual |
Implements ns3::NrNetDevice.
Definition at line 233 of file nr-gnb-net-device.cc.
uint16_t ns3::NrGnbNetDevice::GetBwpId | ( | uint8_t | index | ) | const |
Definition at line 207 of file nr-gnb-net-device.cc.
Ptr< BwpManagerGnb > ns3::NrGnbNetDevice::GetBwpManager | ( | ) | const |
Definition at line 174 of file nr-gnb-net-device.cc.
uint32_t ns3::NrGnbNetDevice::GetCcMapSize | ( | ) | const |
Get the size of the component carriers map.
Definition at line 79 of file nr-gnb-net-device.cc.
uint16_t ns3::NrGnbNetDevice::GetCellId | ( | ) | const |
Definition at line 180 of file nr-gnb-net-device.cc.
Referenced by ns3::NrStatsCalculator::FindCellIdFromGnbRlcPath().
uint16_t ns3::NrGnbNetDevice::GetCellIdDlBandwidth | ( | uint16_t | cellId | ) | const |
Get downlink bandwidth for a given physical cell Id.
cellId | Physical cell Id |
Definition at line 271 of file nr-gnb-net-device.cc.
uint32_t ns3::NrGnbNetDevice::GetCellIdDlEarfcn | ( | uint16_t | cellId | ) | const |
Get uplink earfcn for a given physical cell Id.
cellId | Physical cell Id |
Definition at line 305 of file nr-gnb-net-device.cc.
std::vector< uint16_t > ns3::NrGnbNetDevice::GetCellIds | ( | ) | const |
Definition at line 187 of file nr-gnb-net-device.cc.
uint16_t ns3::NrGnbNetDevice::GetCellIdUlBandwidth | ( | uint16_t | cellId | ) | const |
Get uplink bandwidth for a given physical cell Id.
cellId | Physical cell Id |
Definition at line 288 of file nr-gnb-net-device.cc.
uint32_t ns3::NrGnbNetDevice::GetCellIdUlEarfcn | ( | uint16_t | cellId | ) | const |
Get uplink earfcn for a given physical cell Id.
cellId | Physical cell Id |
Definition at line 322 of file nr-gnb-net-device.cc.
uint16_t ns3::NrGnbNetDevice::GetEarfcn | ( | uint8_t | index | ) | const |
Definition at line 214 of file nr-gnb-net-device.cc.
Ptr< NrGnbMac > ns3::NrGnbNetDevice::GetMac | ( | uint8_t | index | ) | const |
Definition at line 161 of file nr-gnb-net-device.cc.
Ptr< NrFhControl > ns3::NrGnbNetDevice::GetNrFhControl | ( | ) |
Get the NrFhControl for this cell.
Definition at line 92 of file nr-gnb-net-device.cc.
Ptr< NrGnbPhy > ns3::NrGnbNetDevice::GetPhy | ( | uint8_t | index | ) | const |
Definition at line 167 of file nr-gnb-net-device.cc.
Ptr< NrGnbRrc > ns3::NrGnbNetDevice::GetRrc | ( | ) |
Definition at line 227 of file nr-gnb-net-device.cc.
Ptr< NrMacScheduler > ns3::NrGnbNetDevice::GetScheduler | ( | uint8_t | index | ) | const |
Definition at line 65 of file nr-gnb-net-device.cc.
|
static |
Definition at line 29 of file nr-gnb-net-device.cc.
bool ns3::NrGnbNetDevice::IsCellConfigured | ( | ) | const |
Return true if ConfigureCell() has been called.
Definition at line 265 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::RouteIngoingCtrlMsgs | ( | const std::list< Ptr< NrControlMessage > > & | msgList, |
uint8_t | sourceBwpId | ||
) |
The gNB received a CTRL message list.
The gNB should divide the messages to the BWP they pertain to.
msgList | Message list |
sourceBwpId | BWP Id from which the list originated |
Definition at line 99 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::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 113 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::SetCcMap | ( | const std::map< uint8_t, Ptr< BandwidthPartGnb > > & | ccm | ) |
Definition at line 72 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::SetCellId | ( | uint16_t | cellId | ) |
Set this gnb cell id.
cellId | the cell id |
Definition at line 200 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::SetNrFhControl | ( | Ptr< NrFhControl > | nrFh | ) |
Set the NrFhControl for this cell.
nrFh | The ptr to the NrFhControl |
Definition at line 85 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::SetRrc | ( | Ptr< NrGnbRrc > | rrc | ) |
Definition at line 221 of file nr-gnb-net-device.cc.
void ns3::NrGnbNetDevice::UpdateConfig | ( | ) |
Update the RRC configuration after installation.
This method finishes cell configuration in the RRC once PHY configuration is finished. It must be called exactly once for each NrGnbNetDevice.
After NrHelper::Install() is called on gNB nodes, either this method or the NrHelper::UpdateDeviceConfigs() method (which, in turn, calls this method) must be called exactly once, after any post-install PHY configuration is done (if any), and before any call is made (if any) to attach UEs to gNBs, such as AttachToGnb() and AttachToClosestGnb().
This method will assert if called twice on the same device.
This method is deprecated and no longer needed and will be removed from future versions of this model. It is replaced by ConfigureCell().
Definition at line 248 of file nr-gnb-net-device.cc.