5G-LENA nr-v3.0-32-g83aee33
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrGnbNetDevice Class Reference

The NrGnbNetDevice class. More...

#include "nr-gnb-net-device.h"

+ Inheritance diagram for ns3::NrGnbNetDevice:
+ Collaboration diagram for ns3::NrGnbNetDevice:

Public Member Functions

uint16_t GetBwpId (uint8_t index) const
 
Ptr< BwpManagerGnbGetBwpManager () const
 
uint32_t GetCcMapSize () const
 Get the size of the component carriers map.
 
uint16_t GetCellId () const
 
std::vector< uint16_t > GetCellIds () const
 
uint16_t GetEarfcn (uint8_t index) const
 
Ptr< NrGnbMacGetMac (uint8_t index) const
 
Ptr< NrGnbPhyGetPhy (uint8_t index) const
 
Ptr< LteEnbRrc > GetRrc ()
 
Ptr< NrMacSchedulerGetScheduler (uint8_t index) const
 
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 SetRrc (Ptr< LteEnbRrc > rrc)
 
void UpdateConfig ()
 Update the RRC config. Must be called only once.
 
- Public Member Functions inherited from ns3::NrNetDevice
 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 Public Member Functions inherited from ns3::NrNetDevice
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
 
- Protected Member Functions inherited from ns3::NrNetDevice
void DoDispose () override
 

Additional Inherited Members

- Protected Attributes inherited from ns3::NrNetDevice
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.
 

Detailed Description

The NrGnbNetDevice class.

This class represent the GNB NetDevice.

Config Paths

ns3::NrGnbNetDevice is accessible through the following paths with Config::Set and Config::Connect:

Attributes

  • LteEnbComponentCarrierManager: The component carrier manager associated to this EnbNetDevice
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::LteEnbComponentCarrierManager>
    • Initial value: 0
    • Flags: construct write read
  • BandwidthPartMap: List of Bandwidth Part container.
    • Set with class: ns3::ObjectPtrContainerValue
    • Underlying type: ns3::Ptr< ns3::BandwidthPartGnb>
    • Flags: read
  • LteEnbRrc: The RRC layer associated with the ENB
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::LteEnbRrc>
    • Initial value: 0
    • Flags: construct write 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 136 bytes (on a 64-bit architecture).

Definition at line 34 of file nr-gnb-net-device.h.

Constructor & Destructor Documentation

◆ NrGnbNetDevice()

ns3::NrGnbNetDevice::NrGnbNetDevice ( )

Definition at line 55 of file nr-gnb-net-device.cc.

◆ ~NrGnbNetDevice()

ns3::NrGnbNetDevice::~NrGnbNetDevice ( )
override

Definition at line 61 of file nr-gnb-net-device.cc.

Member Function Documentation

◆ DoDispose()

void ns3::NrGnbNetDevice::DoDispose ( )
overrideprotected

Definition at line 131 of file nr-gnb-net-device.cc.

◆ DoInitialize()

void ns3::NrGnbNetDevice::DoInitialize ( )
overrideprotected

Definition at line 122 of file nr-gnb-net-device.cc.

◆ DoSend()

bool ns3::NrGnbNetDevice::DoSend ( Ptr< Packet >  packet,
const Address &  dest,
uint16_t  protocolNumber 
)
overrideprotectedvirtual

Implements ns3::NrNetDevice.

Definition at line 220 of file nr-gnb-net-device.cc.

◆ GetBwpId()

uint16_t ns3::NrGnbNetDevice::GetBwpId ( uint8_t  index) const

Definition at line 194 of file nr-gnb-net-device.cc.

◆ GetBwpManager()

Ptr< BwpManagerGnb > ns3::NrGnbNetDevice::GetBwpManager ( ) const

Definition at line 161 of file nr-gnb-net-device.cc.

◆ GetCcMapSize()

uint32_t ns3::NrGnbNetDevice::GetCcMapSize ( ) const

Get the size of the component carriers map.

Returns
the number of cc that we have

Definition at line 81 of file nr-gnb-net-device.cc.

◆ GetCellId()

uint16_t ns3::NrGnbNetDevice::GetCellId ( ) const
Returns
the cell id

Definition at line 167 of file nr-gnb-net-device.cc.

Referenced by ns3::NrStatsCalculator::FindCellIdFromGnbRlcPath().

+ Here is the caller graph for this function:

◆ GetCellIds()

std::vector< uint16_t > ns3::NrGnbNetDevice::GetCellIds ( ) const
Returns
the cell ids belonging to this gNB

Definition at line 174 of file nr-gnb-net-device.cc.

◆ GetEarfcn()

uint16_t ns3::NrGnbNetDevice::GetEarfcn ( uint8_t  index) const

Definition at line 201 of file nr-gnb-net-device.cc.

◆ GetMac()

Ptr< NrGnbMac > ns3::NrGnbNetDevice::GetMac ( uint8_t  index) const

Definition at line 148 of file nr-gnb-net-device.cc.

◆ GetPhy()

Ptr< NrGnbPhy > ns3::NrGnbNetDevice::GetPhy ( uint8_t  index) const

Definition at line 154 of file nr-gnb-net-device.cc.

◆ GetRrc()

Ptr< LteEnbRrc > ns3::NrGnbNetDevice::GetRrc ( )

Definition at line 214 of file nr-gnb-net-device.cc.

◆ GetScheduler()

Ptr< NrMacScheduler > ns3::NrGnbNetDevice::GetScheduler ( uint8_t  index) const

Definition at line 67 of file nr-gnb-net-device.cc.

◆ GetTypeId()

TypeId ns3::NrGnbNetDevice::GetTypeId ( )
static

Definition at line 31 of file nr-gnb-net-device.cc.

◆ RouteIngoingCtrlMsgs()

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.

Parameters
msgListMessage list
sourceBwpIdBWP Id from which the list originated

Definition at line 87 of file nr-gnb-net-device.cc.

◆ RouteOutgoingCtrlMsgs()

void ns3::NrGnbNetDevice::RouteOutgoingCtrlMsgs ( const std::list< Ptr< NrControlMessage > > &  msgList,
uint8_t  sourceBwpId 
)

Route the outgoing messages to the right BWP.

Parameters
msgListthe list of messages
sourceBwpIdthe source bwp of the messages

Definition at line 101 of file nr-gnb-net-device.cc.

◆ SetCcMap()

void ns3::NrGnbNetDevice::SetCcMap ( const std::map< uint8_t, Ptr< BandwidthPartGnb > > &  ccm)

Definition at line 74 of file nr-gnb-net-device.cc.

◆ SetCellId()

void ns3::NrGnbNetDevice::SetCellId ( uint16_t  cellId)

Set this gnb cell id.

Parameters
cellIdthe cell id

Definition at line 187 of file nr-gnb-net-device.cc.

◆ SetRrc()

void ns3::NrGnbNetDevice::SetRrc ( Ptr< LteEnbRrc >  rrc)

Definition at line 208 of file nr-gnb-net-device.cc.

◆ UpdateConfig()

void ns3::NrGnbNetDevice::UpdateConfig ( )

Update the RRC config. Must be called only once.

Definition at line 235 of file nr-gnb-net-device.cc.


The documentation for this class was generated from the following files: