A Discrete-Event Network Simulator
API
ns3::LteEnbNetDevice Class Reference

The eNodeB device implementation. More...

#include "lte-enb-net-device.h"

+ Inheritance diagram for ns3::LteEnbNetDevice:
+ Collaboration diagram for ns3::LteEnbNetDevice:

Public Member Functions

 LteEnbNetDevice ()
 
virtual ~LteEnbNetDevice (void)
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > GetCcMap (void) const
 
uint16_t GetCellId () const
 
Ptr< LteEnbComponentCarrierManagerGetComponentCarrierManager () const
 
uint32_t GetCsgId () const
 Returns the CSG ID of the eNodeB. More...
 
bool GetCsgIndication () const
 Returns the CSG indication flag of the eNodeB. More...
 
uint16_t GetDlBandwidth () const
 
uint32_t GetDlEarfcn () const
 
Ptr< LteEnbMacGetMac (void) const
 
Ptr< LteEnbMacGetMac (uint8_t index) const
 
Ptr< LteEnbPhyGetPhy (void) const
 
Ptr< LteEnbPhyGetPhy (uint8_t index) const
 
Ptr< LteEnbRrcGetRrc () const
 
uint16_t GetUlBandwidth () const
 
uint32_t GetUlEarfcn () const
 
bool HasCellId (uint16_t cellId) const
 
virtual bool Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
 
void SetCcMap (std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ccm)
 Set the ComponentCarrier Map of the Enb. More...
 
void SetCsgId (uint32_t csgId)
 Associate the eNodeB device with a particular CSG. More...
 
void SetCsgIndication (bool csgIndication)
 Enable or disable the CSG indication flag. More...
 
void SetDlBandwidth (uint16_t bw)
 
void SetDlEarfcn (uint32_t earfcn)
 
void SetUlBandwidth (uint16_t bw)
 
void SetUlEarfcn (uint32_t earfcn)
 
- Public Member Functions inherited from ns3::LteNetDevice
 LteNetDevice (void)
 
virtual ~LteNetDevice (void)
 
virtual void AddLinkChangeCallback (Callback< void > callback)
 
virtual Address GetAddress (void) const
 
virtual Address GetBroadcast (void) const
 
virtual Ptr< ChannelGetChannel (void) const
 
virtual uint32_t GetIfIndex (void) const
 
virtual uint16_t GetMtu (void) const
 
virtual Address GetMulticast (Ipv4Address addr) const
 Make and return a MAC multicast address using the provided multicast group. More...
 
virtual Address GetMulticast (Ipv6Address addr) const
 Get the MAC multicast address corresponding to the IPv6 address provided. More...
 
virtual Ptr< NodeGetNode (void) const
 
virtual bool IsBridge (void) const
 Return true if the net device is acting as a bridge. More...
 
virtual bool IsBroadcast (void) const
 
virtual bool IsLinkUp (void) const
 
virtual bool IsMulticast (void) const
 
virtual bool IsPointToPoint (void) const
 Return true if the net device is on a point-to-point link. More...
 
virtual bool NeedsArp (void) const
 
void Receive (Ptr< Packet > p)
 receive a packet from the lower layers in order to forward it to the upper layers More...
 
virtual bool SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
 
virtual void SetAddress (Address address)
 Set the address of this interface. More...
 
virtual void SetIfIndex (const uint32_t index)
 
virtual bool SetMtu (const uint16_t mtu)
 
virtual void SetNode (Ptr< Node > node)
 
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb)
 
virtual void SetReceiveCallback (NetDevice::ReceiveCallback cb)
 
virtual bool SupportsSendFrom (void) const
 
- Public Member Functions inherited from ns3::NetDevice
virtual ~NetDevice ()
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::LteNetDevice
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::NetDevice
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Protected Member Functions

virtual void DoInitialize (void)
 Initialize() implementation. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Private Member Functions

void UpdateConfig ()
 Propagate attributes and configuration to sub-modules. More...
 

Private Attributes

Ptr< LteAnrm_anr
 ANR. More...
 
std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > m_ccMap
 ComponentCarrier map. More...
 
uint16_t m_cellId
 Cell Identifier. More...
 
Ptr< LteEnbComponentCarrierManagerm_componentCarrierManager
 the component carrier manager of this eNb More...
 
uint16_t m_csgId
 CSG ID. More...
 
bool m_csgIndication
 CSG indication. More...
 
uint16_t m_dlBandwidth
 DEPRECATE - It is maintained for backward compatibility after adding CA feature- downlink bandwidth in RBs. More...
 
uint32_t m_dlEarfcn
 DEPRECATE - It is maintained for backward compatibility after adding CA feature- downlink carrier frequency. More...
 
Ptr< LteFfrAlgorithmm_ffrAlgorithm
 DEPRECATED - It is maintained for backward compatibility after adding CA feature. More...
 
Ptr< LteHandoverAlgorithmm_handoverAlgorithm
 the handover algorithm More...
 
bool m_isConfigured
 is configured? More...
 
bool m_isConstructed
 is constructed? More...
 
Ptr< LteEnbRrcm_rrc
 the RRC More...
 
uint16_t m_ulBandwidth
 DEPRECATE - It is maintained for backward compatibility after adding CA feature- uplink bandwidth in RBs. More...
 
uint32_t m_ulEarfcn
 DEPRECATE - It is maintained for backward compatibility after adding CA feature- uplink carrier frequency. More...
 

Additional Inherited Members

- Public Types inherited from ns3::NetDevice
typedef void(* LinkChangeTracedCallback) (void)
 TracedCallback signature for link changed event. More...
 
enum  PacketType {
  PACKET_HOST = 1, NS3_PACKET_HOST = PACKET_HOST, PACKET_BROADCAST, NS3_PACKET_BROADCAST = PACKET_BROADCAST,
  PACKET_MULTICAST, NS3_PACKET_MULTICAST = PACKET_MULTICAST, PACKET_OTHERHOST, NS3_PACKET_OTHERHOST = PACKET_OTHERHOST
}
 Packet types are used as they are in Linux. More...
 
typedef Callback< bool, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address &, const Address &, enum PacketTypePromiscReceiveCallback
 
typedef Callback< bool, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address &> ReceiveCallback
 
- Protected Attributes inherited from ns3::LteNetDevice
NetDevice::ReceiveCallback m_rxCallback
 receive callback More...
 

Detailed Description

The eNodeB device implementation.


Config Paths

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

  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice"

Attributes

  • LteEnbRrc: The RRC associated to this EnbNetDevice
  • LteHandoverAlgorithm: The handover algorithm associated to this EnbNetDevice
  • LteAnr: The automatic neighbour relation function associated to this EnbNetDevice
  • LteFfrAlgorithm: The FFR algorithm associated to this EnbNetDevice
  • LteEnbComponentCarrierManager: The RRC associated to this EnbNetDevice
  • ComponentCarrierMap: List of component carriers.
  • UlBandwidth: Uplink Transmission Bandwidth Configuration in number of Resource Blocks
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 25
    • Flags: construct write read
  • DlBandwidth: Downlink Transmission Bandwidth Configuration in number of Resource Blocks
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 25
    • Flags: construct write read
  • CellId: Cell Identifier
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 0
    • Flags: construct write read
  • DlEarfcn: Downlink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) as per 3GPP 36.101 Section 5.7.3.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:262143
    • Initial value: 100
    • Flags: construct write read
  • UlEarfcn: Uplink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) as per 3GPP 36.101 Section 5.7.3.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:262143
    • Initial value: 18100
    • Flags: construct write read
  • CsgId: The Closed Subscriber Group (CSG) identity that this eNodeB belongs to
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 0
    • Flags: construct write read
  • CsgIndication: If true, only UEs which are members of the CSG (i.e. same CSG ID) can gain access to the eNodeB, therefore enforcing closed access mode. Otherwise, the eNodeB operates as a non-CSG cell and implements open access mode.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read

Attributes defined in parent class ns3::LteNetDevice

  • 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 200 bytes (on a 64-bit architecture).

Definition at line 56 of file lte-enb-net-device.h.

Constructor & Destructor Documentation

◆ LteEnbNetDevice()

ns3::LteEnbNetDevice::LteEnbNetDevice ( )

Definition at line 142 of file lte-enb-net-device.cc.

References NS_LOG_FUNCTION.

◆ ~LteEnbNetDevice()

ns3::LteEnbNetDevice::~LteEnbNetDevice ( void  )
virtual

Definition at line 151 of file lte-enb-net-device.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ DoDispose()

void ns3::LteEnbNetDevice::DoDispose ( void  )
virtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::LteNetDevice.

Definition at line 157 of file lte-enb-net-device.cc.

References ns3::LteNetDevice::DoDispose(), m_anr, m_ccMap, m_componentCarrierManager, m_handoverAlgorithm, m_rrc, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoInitialize()

void ns3::LteEnbNetDevice::DoInitialize ( void  )
protectedvirtual

Initialize() implementation.

This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.

Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.

Reimplemented from ns3::Object.

Definition at line 364 of file lte-enb-net-device.cc.

References m_anr, m_ccMap, m_componentCarrierManager, m_ffrAlgorithm, m_handoverAlgorithm, m_isConstructed, m_rrc, NS_LOG_FUNCTION, and UpdateConfig().

+ Here is the call graph for this function:

◆ GetCcMap()

std::map< uint8_t, Ptr< ComponentCarrierBaseStation > > ns3::LteEnbNetDevice::GetCcMap ( void  ) const
Returns
The Component Carrier Map of the Enb.

Definition at line 351 of file lte-enb-net-device.cc.

References m_ccMap.

Referenced by ns3::LteHelper::AssignStreams(), and LenaMimoTestCase::DoRun().

+ Here is the caller graph for this function:

◆ GetCellId()

◆ GetComponentCarrierManager()

Ptr< LteEnbComponentCarrierManager > ns3::LteEnbNetDevice::GetComponentCarrierManager ( ) const
Returns
a pointer to the ComponentCarrierManager instance of the eNB

Definition at line 218 of file lte-enb-net-device.cc.

References m_componentCarrierManager.

◆ GetCsgId()

uint32_t ns3::LteEnbNetDevice::GetCsgId ( ) const

Returns the CSG ID of the eNodeB.

Returns
the Closed Subscriber Group identity
See also
LteEnbNetDevice::SetCsgId

Definition at line 323 of file lte-enb-net-device.cc.

References m_csgId.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetCsgIndication()

bool ns3::LteEnbNetDevice::GetCsgIndication ( ) const

Returns the CSG indication flag of the eNodeB.

Returns
the CSG indication flag
See also
LteEnbNetDevice::SetCsgIndication

Definition at line 337 of file lte-enb-net-device.cc.

References m_csgIndication.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetDlBandwidth()

uint16_t ns3::LteEnbNetDevice::GetDlBandwidth ( ) const
Returns
the downlink bandwidth in RBs

Definition at line 270 of file lte-enb-net-device.cc.

References m_dlBandwidth.

Referenced by LteRadioLinkFailureTestCase::CheckConnected(), GetTypeId(), and ns3::LteHelper::InstallSingleEnbDevice().

+ Here is the caller graph for this function:

◆ GetDlEarfcn()

uint32_t ns3::LteEnbNetDevice::GetDlEarfcn ( ) const
Returns
the downlink carrier frequency (EARFCN)

Definition at line 297 of file lte-enb-net-device.cc.

References m_dlEarfcn.

Referenced by LteRadioLinkFailureTestCase::CheckConnected(), and ns3::LteHelper::InstallSingleEnbDevice().

+ Here is the caller graph for this function:

◆ GetMac() [1/2]

Ptr< LteEnbMac > ns3::LteEnbNetDevice::GetMac ( void  ) const
Returns
a pointer to the MAC of the PCC.

Definition at line 188 of file lte-enb-net-device.cc.

Referenced by GetMac().

+ Here is the caller graph for this function:

◆ GetMac() [2/2]

Ptr< LteEnbMac > ns3::LteEnbNetDevice::GetMac ( uint8_t  index) const
Parameters
indexCC index
Returns
a pointer to the MAC of the CC addressed by index.

Definition at line 200 of file lte-enb-net-device.cc.

References GetMac(), and m_ccMap.

+ Here is the call graph for this function:

◆ GetPhy() [1/2]

◆ GetPhy() [2/2]

Ptr< LteEnbPhy > ns3::LteEnbNetDevice::GetPhy ( uint8_t  index) const
Parameters
indexSCC index
Returns
a pointer to the physical layer of the SCC addressed by index.

Definition at line 206 of file lte-enb-net-device.cc.

References GetPhy(), and m_ccMap.

+ Here is the call graph for this function:

◆ GetRrc()

Ptr< LteEnbRrc > ns3::LteEnbNetDevice::GetRrc ( ) const

◆ GetTypeId()

◆ GetUlBandwidth()

uint16_t ns3::LteEnbNetDevice::GetUlBandwidth ( ) const
Returns
the uplink bandwidth in RBs

Definition at line 243 of file lte-enb-net-device.cc.

References m_ulBandwidth.

Referenced by LteRadioLinkFailureTestCase::CheckConnected(), GetTypeId(), and ns3::LteHelper::InstallSingleEnbDevice().

+ Here is the caller graph for this function:

◆ GetUlEarfcn()

uint32_t ns3::LteEnbNetDevice::GetUlEarfcn ( ) const
Returns
the uplink carrier frequency (EARFCN)

Definition at line 310 of file lte-enb-net-device.cc.

References m_ulEarfcn.

Referenced by LteRadioLinkFailureTestCase::CheckConnected(), and ns3::LteHelper::InstallSingleEnbDevice().

+ Here is the caller graph for this function:

◆ HasCellId()

bool ns3::LteEnbNetDevice::HasCellId ( uint16_t  cellId) const
Parameters
cellIdcell ID
Returns
true if cellId is served by this eNB

Definition at line 230 of file lte-enb-net-device.cc.

References m_ccMap.

Referenced by ns3::LteUeRrcProtocolIdeal::SetEnbRrcSapProvider(), and ns3::LteUeRrcProtocolReal::SetEnbRrcSapProvider().

+ Here is the caller graph for this function:

◆ Send()

bool ns3::LteEnbNetDevice::Send ( Ptr< Packet packet,
const Address dest,
uint16_t  protocolNumber 
)
virtual
Parameters
packetpacket sent from above down to Network Device
destmac address of the destination (already resolved)
protocolNumberidentifies the type of payload contained in this packet. Used to call the right L3Protocol when the packet is received.

Called from higher layer to send packet into Network Device to the specified destination Address

Returns
whether the Send operation succeeded

Implements ns3::NetDevice.

Definition at line 387 of file lte-enb-net-device.cc.

References m_rrc, NS_ABORT_MSG_IF, NS_LOG_FUNCTION, ns3::Ipv6L3Protocol::PROT_NUMBER, and ns3::Ipv4L3Protocol::PROT_NUMBER.

◆ SetCcMap()

void ns3::LteEnbNetDevice::SetCcMap ( std::map< uint8_t, Ptr< ComponentCarrierBaseStation > >  ccm)

Set the ComponentCarrier Map of the Enb.

Parameters
ccmthe map of ComponentCarrierEnb

Definition at line 357 of file lte-enb-net-device.cc.

References m_ccMap, m_isConfigured, and NS_ASSERT_MSG().

Referenced by ns3::LteHelper::InstallSingleEnbDevice().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetCsgId()

void ns3::LteEnbNetDevice::SetCsgId ( uint32_t  csgId)

Associate the eNodeB device with a particular CSG.

Parameters
csgIdthe intended Closed Subscriber Group identity

CSG identity is a number identifying a Closed Subscriber Group which the cell belongs to. eNodeB is associated with a single CSG identity.

The same CSG identity can also be associated to several UEs, which is equivalent as enlisting these UEs as the members of this particular CSG.

See also
LteEnbNetDevice::SetCsgIndication

Definition at line 329 of file lte-enb-net-device.cc.

References m_csgId, NS_LOG_FUNCTION, and UpdateConfig().

Referenced by GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetCsgIndication()

void ns3::LteEnbNetDevice::SetCsgIndication ( bool  csgIndication)

Enable or disable the CSG indication flag.

Parameters
csgIndicationif TRUE, only CSG members are allowed to access this cell

When the CSG indication field is set to TRUE, only UEs which are members of the CSG (i.e. same CSG ID) can gain access to the eNodeB, therefore enforcing closed access mode. Otherwise, the eNodeB operates as a non-CSG cell and implements open access mode.

Note
This restriction only applies to initial cell selection and EPC-enabled simulation.
See also
LteEnbNetDevice::SetCsgIndication

Definition at line 343 of file lte-enb-net-device.cc.

References m_csgIndication, NS_LOG_FUNCTION, and UpdateConfig().

Referenced by GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetDlBandwidth()

void ns3::LteEnbNetDevice::SetDlBandwidth ( uint16_t  bw)
Parameters
bwthe downlink bandwidth in RBs

Definition at line 276 of file lte-enb-net-device.cc.

References m_dlBandwidth, NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetDlEarfcn()

void ns3::LteEnbNetDevice::SetDlEarfcn ( uint32_t  earfcn)
Parameters
earfcnthe downlink carrier frequency (EARFCN)

Definition at line 303 of file lte-enb-net-device.cc.

References m_dlEarfcn, and NS_LOG_FUNCTION.

◆ SetUlBandwidth()

void ns3::LteEnbNetDevice::SetUlBandwidth ( uint16_t  bw)
Parameters
bwthe uplink bandwidth in RBs

Definition at line 249 of file lte-enb-net-device.cc.

References m_ulBandwidth, NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetUlEarfcn()

void ns3::LteEnbNetDevice::SetUlEarfcn ( uint32_t  earfcn)
Parameters
earfcnthe uplink carrier frequency (EARFCN)

Definition at line 316 of file lte-enb-net-device.cc.

References m_ulEarfcn, and NS_LOG_FUNCTION.

◆ UpdateConfig()

void ns3::LteEnbNetDevice::UpdateConfig ( void  )
private

Propagate attributes and configuration to sub-modules.

Several attributes (e.g., the bandwidth) are exported as the attributes of the LteEnbNetDevice from a user perspective, but are actually used also in other sub-modules (the RRC, the PHY, the scheduler, etc.). This method takes care of updating the configuration of all these sub-modules so that their copy of attribute values are in sync with the one in the LteEnbNetDevice.

Definition at line 398 of file lte-enb-net-device.cc.

References m_ccMap, m_cellId, m_csgId, m_csgIndication, m_isConfigured, m_isConstructed, m_rrc, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC().

Referenced by DoInitialize(), SetCsgId(), and SetCsgIndication().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_anr

Ptr<LteAnr> ns3::LteEnbNetDevice::m_anr
private

ANR.

Definition at line 241 of file lte-enb-net-device.h.

Referenced by DoDispose(), DoInitialize(), and GetTypeId().

◆ m_ccMap

std::map< uint8_t, Ptr<ComponentCarrierBaseStation> > ns3::LteEnbNetDevice::m_ccMap
private

◆ m_cellId

uint16_t ns3::LteEnbNetDevice::m_cellId
private

Cell Identifier.

Part of the CGI, see TS 29.274, section 8.21.1

Definition at line 245 of file lte-enb-net-device.h.

Referenced by GetCellId(), GetTypeId(), and UpdateConfig().

◆ m_componentCarrierManager

Ptr<LteEnbComponentCarrierManager> ns3::LteEnbNetDevice::m_componentCarrierManager
private

the component carrier manager of this eNb

Definition at line 258 of file lte-enb-net-device.h.

Referenced by DoDispose(), DoInitialize(), GetComponentCarrierManager(), and GetTypeId().

◆ m_csgId

uint16_t ns3::LteEnbNetDevice::m_csgId
private

CSG ID.

Definition at line 253 of file lte-enb-net-device.h.

Referenced by GetCsgId(), SetCsgId(), and UpdateConfig().

◆ m_csgIndication

bool ns3::LteEnbNetDevice::m_csgIndication
private

CSG indication.

Definition at line 254 of file lte-enb-net-device.h.

Referenced by GetCsgIndication(), SetCsgIndication(), and UpdateConfig().

◆ m_dlBandwidth

uint16_t ns3::LteEnbNetDevice::m_dlBandwidth
private

DEPRECATE - It is maintained for backward compatibility after adding CA feature- downlink bandwidth in RBs.

Definition at line 247 of file lte-enb-net-device.h.

Referenced by GetDlBandwidth(), and SetDlBandwidth().

◆ m_dlEarfcn

uint32_t ns3::LteEnbNetDevice::m_dlEarfcn
private

DEPRECATE - It is maintained for backward compatibility after adding CA feature- downlink carrier frequency.

Definition at line 250 of file lte-enb-net-device.h.

Referenced by GetDlEarfcn(), GetTypeId(), and SetDlEarfcn().

◆ m_ffrAlgorithm

Ptr<LteFfrAlgorithm> ns3::LteEnbNetDevice::m_ffrAlgorithm
private

DEPRECATED - It is maintained for backward compatibility after adding CA feature.

Definition at line 243 of file lte-enb-net-device.h.

Referenced by DoInitialize(), and GetTypeId().

◆ m_handoverAlgorithm

Ptr<LteHandoverAlgorithm> ns3::LteEnbNetDevice::m_handoverAlgorithm
private

the handover algorithm

Definition at line 239 of file lte-enb-net-device.h.

Referenced by DoDispose(), DoInitialize(), and GetTypeId().

◆ m_isConfigured

bool ns3::LteEnbNetDevice::m_isConfigured
private

is configured?

Definition at line 223 of file lte-enb-net-device.h.

Referenced by SetCcMap(), and UpdateConfig().

◆ m_isConstructed

bool ns3::LteEnbNetDevice::m_isConstructed
private

is constructed?

Definition at line 222 of file lte-enb-net-device.h.

Referenced by DoInitialize(), and UpdateConfig().

◆ m_rrc

Ptr<LteEnbRrc> ns3::LteEnbNetDevice::m_rrc
private

the RRC

Definition at line 237 of file lte-enb-net-device.h.

Referenced by DoDispose(), DoInitialize(), GetRrc(), GetTypeId(), Send(), and UpdateConfig().

◆ m_ulBandwidth

uint16_t ns3::LteEnbNetDevice::m_ulBandwidth
private

DEPRECATE - It is maintained for backward compatibility after adding CA feature- uplink bandwidth in RBs.

Definition at line 248 of file lte-enb-net-device.h.

Referenced by GetUlBandwidth(), and SetUlBandwidth().

◆ m_ulEarfcn

uint32_t ns3::LteEnbNetDevice::m_ulEarfcn
private

DEPRECATE - It is maintained for backward compatibility after adding CA feature- uplink carrier frequency.

Definition at line 251 of file lte-enb-net-device.h.

Referenced by GetTypeId(), GetUlEarfcn(), and SetUlEarfcn().


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