A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::NoBackhaulEpcHelper Class Reference

Create an EPC network with PointToPoint links between the core network nodes. More...

#include "no-backhaul-epc-helper.h"

+ Inheritance diagram for ns3::NoBackhaulEpcHelper:
+ Collaboration diagram for ns3::NoBackhaulEpcHelper:

Public Member Functions

 NoBackhaulEpcHelper ()
 Constructor.
 
 ~NoBackhaulEpcHelper () override
 Destructor.
 
uint8_t ActivateEpsBearer (Ptr< NetDevice > ueLteDevice, uint64_t imsi, Ptr< EpcTft > tft, EpsBearer bearer) override
 Activate an EPS bearer, setting up the corresponding S1-U tunnel.
 
void AddEnb (Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, std::vector< uint16_t > cellIds) override
 Add an eNB to the EPC.
 
void AddS1Interface (Ptr< Node > enb, Ipv4Address enbAddress, Ipv4Address sgwAddress, std::vector< uint16_t > cellIds) override
 Add an S1 interface between an eNB and a SGW.
 
void AddUe (Ptr< NetDevice > ueLteDevice, uint64_t imsi) override
 Notify the EPC of the existence of a new UE which might attach at a later time.
 
void AddX2Interface (Ptr< Node > enbNode1, Ptr< Node > enbNode2) override
 Add an X2 interface between two eNB.
 
int64_t AssignStreams (int64_t stream) override
 Assign a fixed random variable stream number to the random variables used.
 
Ipv4InterfaceContainer AssignUeIpv4Address (NetDeviceContainer ueDevices) override
 Assign IPv4 addresses to UE devices.
 
Ipv6InterfaceContainer AssignUeIpv6Address (NetDeviceContainer ueDevices) override
 Assign IPv6 addresses to UE devices.
 
void DoDispose () override
 Destructor implementation.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
Ptr< NodeGetPgwNode () const override
 Get the PGW node.
 
Ptr< NodeGetSgwNode () const override
 Get the SGW node.
 
Ipv4Address GetUeDefaultGatewayAddress () override
 
Ipv6Address GetUeDefaultGatewayAddress6 () override
 
- Public Member Functions inherited from ns3::EpcHelper
 EpcHelper ()
 Constructor.
 
 ~EpcHelper () override
 Destructor.
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

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

Protected Member Functions

virtual void DoActivateEpsBearerForUe (const Ptr< NetDevice > &ueDevice, const Ptr< EpcTft > &tft, const EpsBearer &bearer) const
 DoActivateEpsBearerForUe: Schedule ActivateEpsBearer on the UE.
 
virtual void DoAddX2Interface (const Ptr< EpcX2 > &enb1X2, const Ptr< NetDevice > &enb1LteDev, const Ipv4Address &enb1X2Address, const Ptr< EpcX2 > &enb2X2, const Ptr< NetDevice > &enb2LteDev, const Ipv4Address &enb2X2Address) const
 DoAddX2Interface: Call AddX2Interface on top of the Enb device pointers.
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Private Attributes

uint16_t m_gtpcUdpPort
 UDP port where the GTPv2-C Socket is bound, fixed by the standard as 2123.
 
uint16_t m_gtpuUdpPort
 UDP port where the GTP-U Socket is bound, fixed by the standard as 2152.
 
std::map< uint64_t, Ptr< NetDevice > > m_imsiEnbDeviceMap
 Map storing for each IMSI the corresponding eNB NetDevice.
 
Ptr< Nodem_mme
 MME network element.
 
Ptr< EpcMmeApplicationm_mmeApp
 MME application.
 
Ptr< Nodem_pgw
 PGW network element.
 
Ptr< EpcPgwApplicationm_pgwApp
 PGW application.
 
Ipv4AddressHelper m_s11Ipv4AddressHelper
 Helper to assign addresses to S11 NetDevices.
 
DataRate m_s11LinkDataRate
 The data rate to be used for the next S11 link to be created.
 
Time m_s11LinkDelay
 The delay to be used for the next S11 link to be created.
 
uint16_t m_s11LinkMtu
 The MTU of the next S11 link to be created.
 
Ipv4AddressHelper m_s5Ipv4AddressHelper
 S5 interfaces.
 
DataRate m_s5LinkDataRate
 The data rate to be used for the next S5 link to be created.
 
Time m_s5LinkDelay
 The delay to be used for the next S5 link to be created.
 
uint16_t m_s5LinkMtu
 The MTU of the next S5 link to be created.
 
Ptr< Nodem_sgw
 SGW network element.
 
Ptr< EpcSgwApplicationm_sgwApp
 SGW application.
 
Ptr< VirtualNetDevicem_tunDevice
 TUN device implementing tunneling of user data over GTP-U/UDP/IP.
 
Ipv4AddressHelper m_uePgwAddressHelper
 helper to assign IPv4 addresses to UE devices as well as to the TUN device of the SGW/PGW
 
Ipv6AddressHelper m_uePgwAddressHelper6
 helper to assign IPv6 addresses to UE devices as well as to the TUN device of the SGW/PGW
 
Ipv4AddressHelper m_x2Ipv4AddressHelper
 helper to assign addresses to X2 NetDevices
 
DataRate m_x2LinkDataRate
 The data rate to be used for the next X2 link to be created.
 
Time m_x2LinkDelay
 The delay to be used for the next X2 link to be created.
 
bool m_x2LinkEnablePcap
 Enable PCAP generation for X2 link.
 
uint16_t m_x2LinkMtu
 The MTU of the next X2 link to be created.
 
std::string m_x2LinkPcapPrefix
 Prefix for the PCAP file for the X2 link.
 

Additional Inherited Members

Detailed Description

Create an EPC network with PointToPoint links between the core network nodes.

Introspection did not find any typical Config paths.

This Helper will create an EPC network topology comprising of three nodes: SGW, PGW and MME. The X2-U, X2-C, S5 and S11 interfaces are realized over PointToPoint links.

The S1 interface is not created. So, no backhaul network is built. You have to build your own backhaul network in the simulation program. Or you can use PointToPointEpcHelper or CsmaEpcHelper (instead of this NoBackhaulEpcHelper) to use reference backhaul networks.


Attributes

  • S11LinkDataRate: The data rate to be used for the next S11 link to be created
    • Set with class: ns3::DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • S11LinkDelay: The delay to be used for the next S11 link to be created
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +0ns
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • S11LinkMtu: The MTU of the next S11 link to be created.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 2000
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • S5LinkDataRate: The data rate to be used for the next S5 link to be created
    • Set with class: ns3::DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • S5LinkDelay: The delay to be used for the next S5 link to be created
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +0ns
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • S5LinkMtu: The MTU of the next S5 link to be created
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 2000
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • X2LinkDataRate: The data rate to be used for the next X2 link to be created
    • Set with class: ns3::DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • X2LinkDelay: The delay to be used for the next X2 link to be created
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +0ns
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • X2LinkEnablePcap: Enable Pcap for X2 link
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • X2LinkMtu: The MTU of the next X2 link to be created. Note that, because of some big X2 messages, you need a big MTU.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 3000
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • X2LinkPcapPrefix: Prefix for Pcap generated by X2 link
    • Set with class: ns3::StringValue
    • Underlying type: std::string
    • Initial value: x2
    • Flags: constructwriteread
    • Support level: SUPPORTED

No TraceSources are defined for this type.
Group: Lte

Size of this type is 432 bytes (on a 64-bit architecture).

Definition at line 35 of file no-backhaul-epc-helper.h.

Constructor & Destructor Documentation

◆ NoBackhaulEpcHelper()

ns3::NoBackhaulEpcHelper::NoBackhaulEpcHelper ( )

◆ ~NoBackhaulEpcHelper()

ns3::NoBackhaulEpcHelper::~NoBackhaulEpcHelper ( )
override

Destructor.

Definition at line 218 of file no-backhaul-epc-helper.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ ActivateEpsBearer()

uint8_t ns3::NoBackhaulEpcHelper::ActivateEpsBearer ( Ptr< NetDevice > ueLteDevice,
uint64_t imsi,
Ptr< EpcTft > tft,
EpsBearer bearer )
overridevirtual

Activate an EPS bearer, setting up the corresponding S1-U tunnel.

Parameters
ueLteDevicethe Ipv4-enabled device of the UE, normally connected via the LTE radio interface
imsithe unique identifier of the UE
tftthe Traffic Flow Template of the new bearer
bearerstruct describing the characteristics of the EPS bearer to be activated
Returns
bearer ID

Implements ns3::EpcHelper.

Definition at line 456 of file no-backhaul-epc-helper.cc.

References DoActivateEpsBearerForUe(), m_mmeApp, m_pgwApp, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ AddEnb()

void ns3::NoBackhaulEpcHelper::AddEnb ( Ptr< Node > enbNode,
Ptr< NetDevice > lteEnbNetDevice,
std::vector< uint16_t > cellIds )
overridevirtual

Add an eNB to the EPC.

Parameters
enbNodethe previously created eNB node which is to be added to the EPC
lteEnbNetDevicethe LteEnbNetDevice of the eNB node
cellIdsIDs of cells served by this eNB

Implements ns3::EpcHelper.

Reimplemented in ns3::PointToPointEpcHelper.

Definition at line 313 of file no-backhaul-epc-helper.cc.

References ns3::CreateObject(), ns3::Socket::CreateSocket(), ns3::Mac48Address::GetBroadcast(), ns3::Ipv4::GetNInterfaces(), ns3::TypeId::LookupByName(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::Ipv4L3Protocol::PROT_NUMBER, ns3::Ipv6L3Protocol::PROT_NUMBER, ns3::PacketSocketAddress::SetPhysicalAddress(), ns3::PacketSocketAddress::SetProtocol(), and ns3::PacketSocketAddress::SetSingleDevice().

Referenced by ns3::EmuEpcHelper::AddEnb(), and ns3::PointToPointEpcHelper::AddEnb().

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

◆ AddS1Interface()

void ns3::NoBackhaulEpcHelper::AddS1Interface ( Ptr< Node > enb,
Ipv4Address enbAddress,
Ipv4Address sgwAddress,
std::vector< uint16_t > cellIds )
overridevirtual

Add an S1 interface between an eNB and a SGW.

Parameters
enbeNB peer of the S1 interface
enbAddresseNB IPv4 address of the S1 interface
sgwAddressSGW IPv4 address of the S1 interface
cellIdscellIds of the eNB

Implements ns3::EpcHelper.

Definition at line 561 of file no-backhaul-epc-helper.cc.

References ns3::Socket::CreateSocket(), ns3::TypeId::LookupByName(), m_gtpuUdpPort, m_mmeApp, m_sgwApp, NS_ASSERT, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, and NS_LOG_INFO.

Referenced by ns3::EmuEpcHelper::AddEnb(), and ns3::PointToPointEpcHelper::AddEnb().

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

◆ AddUe()

void ns3::NoBackhaulEpcHelper::AddUe ( Ptr< NetDevice > ueLteDevice,
uint64_t imsi )
overridevirtual

Notify the EPC of the existence of a new UE which might attach at a later time.

Parameters
ueLteDevicethe UE device to be attached
imsithe unique identifier of the UE

Implements ns3::EpcHelper.

Definition at line 447 of file no-backhaul-epc-helper.cc.

References m_mmeApp, m_pgwApp, and NS_LOG_FUNCTION.

◆ AddX2Interface()

void ns3::NoBackhaulEpcHelper::AddX2Interface ( Ptr< Node > enbNode1,
Ptr< Node > enbNode2 )
overridevirtual

Add an X2 interface between two eNB.

Parameters
enbNode1one eNB peer of the X2 interface
enbNode2the other eNB peer of the X2 interface

Implements ns3::EpcHelper.

Definition at line 373 of file no-backhaul-epc-helper.cc.

References ns3::Ipv4AddressHelper::Assign(), DoAddX2Interface(), ns3::PcapHelperForDevice::EnablePcapAll(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Ipv4::GetNInterfaces(), ns3::PointToPointHelper::Install(), m_x2Ipv4AddressHelper, m_x2LinkDataRate, m_x2LinkDelay, m_x2LinkEnablePcap, m_x2LinkMtu, m_x2LinkPcapPrefix, ns3::Ipv4AddressHelper::NewNetwork(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::PointToPointHelper::SetChannelAttribute(), and ns3::PointToPointHelper::SetDeviceAttribute().

+ Here is the call graph for this function:

◆ AssignStreams()

int64_t ns3::NoBackhaulEpcHelper::AssignStreams ( int64_t stream)
overridevirtual

Assign a fixed random variable stream number to the random variables used.

Parameters
streamfirst stream index to use
Returns
the number of stream indices (possibly zero) that have been assigned

Implements ns3::EpcHelper.

Definition at line 589 of file no-backhaul-epc-helper.cc.

References ns3::NodeContainer::Add(), m_mme, m_pgw, m_sgw, and NS_ABORT_MSG_UNLESS.

+ Here is the call graph for this function:

◆ AssignUeIpv4Address()

Ipv4InterfaceContainer ns3::NoBackhaulEpcHelper::AssignUeIpv4Address ( NetDeviceContainer ueDevices)
overridevirtual

Assign IPv4 addresses to UE devices.

Parameters
ueDevicesthe set of UE devices
Returns
the interface container,
See also
Ipv4AddressHelper::Assign() which has similar semantics

Implements ns3::EpcHelper.

Definition at line 524 of file no-backhaul-epc-helper.cc.

References ns3::Ipv4AddressHelper::Assign(), and m_uePgwAddressHelper.

Referenced by NoBackhaulEpcHelper().

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

◆ AssignUeIpv6Address()

Ipv6InterfaceContainer ns3::NoBackhaulEpcHelper::AssignUeIpv6Address ( NetDeviceContainer ueDevices)
overridevirtual

Assign IPv6 addresses to UE devices.

Parameters
ueDevicesthe set of UE devices
Returns
the interface container,
See also
Ipv6AddressHelper::Assign() which has similar semantics

Implements ns3::EpcHelper.

Definition at line 530 of file no-backhaul-epc-helper.cc.

References ns3::Ipv6AddressHelper::Assign(), ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and m_uePgwAddressHelper6.

Referenced by NoBackhaulEpcHelper().

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

◆ DoActivateEpsBearerForUe()

void ns3::NoBackhaulEpcHelper::DoActivateEpsBearerForUe ( const Ptr< NetDevice > & ueDevice,
const Ptr< EpcTft > & tft,
const EpsBearer & bearer ) const
protectedvirtual

DoActivateEpsBearerForUe: Schedule ActivateEpsBearer on the UE.

Parameters
ueDeviceLTE device for the UE
tftTFT
bearerBearer

Definition at line 499 of file no-backhaul-epc-helper.cc.

References ns3::EpcUeNas::ActivateEpsBearer(), ns3::DynamicCast(), NS_LOG_FUNCTION, NS_LOG_WARN, and ns3::Simulator::ScheduleNow().

Referenced by ActivateEpsBearer().

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

◆ DoAddX2Interface()

void ns3::NoBackhaulEpcHelper::DoAddX2Interface ( const Ptr< EpcX2 > & enb1X2,
const Ptr< NetDevice > & enb1LteDev,
const Ipv4Address & enb1X2Address,
const Ptr< EpcX2 > & enb2X2,
const Ptr< NetDevice > & enb2LteDev,
const Ipv4Address & enb2X2Address ) const
protectedvirtual

DoAddX2Interface: Call AddX2Interface on top of the Enb device pointers.

Parameters
enb1X2EPCX2 of ENB1
enb1LteDevLTE device of ENB1
enb1X2AddressAddress for ENB1
enb2X2EPCX2 of ENB2
enb2LteDevLTE device of ENB2
enb2X2AddressAddress for ENB2

Definition at line 415 of file no-backhaul-epc-helper.cc.

References NS_ABORT_MSG_IF, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by AddX2Interface().

+ Here is the caller graph for this function:

◆ DoDispose()

void ns3::NoBackhaulEpcHelper::DoDispose ( )
overridevirtual

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::EpcHelper.

Reimplemented in ns3::PointToPointEpcHelper.

Definition at line 298 of file no-backhaul-epc-helper.cc.

References ns3::Object::Dispose(), m_mme, m_mmeApp, m_pgw, m_pgwApp, m_sgw, m_sgwApp, m_tunDevice, ns3::MakeNullCallback(), and NS_LOG_FUNCTION.

Referenced by ns3::EmuEpcHelper::DoDispose(), and ns3::PointToPointEpcHelper::DoDispose().

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

◆ GetInstanceTypeId()

TypeId ns3::NoBackhaulEpcHelper::GetInstanceTypeId ( ) const
overridevirtual

Get the most derived TypeId for this Object.

This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.

Returns
The TypeId associated to the most-derived type of this instance.

Implements ns3::ObjectBase.

Reimplemented in ns3::PointToPointEpcHelper.

Definition at line 292 of file no-backhaul-epc-helper.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetPgwNode()

Ptr< Node > ns3::NoBackhaulEpcHelper::GetPgwNode ( ) const
overridevirtual

Get the PGW node.

Returns
a pointer to the PGW node The primary use intended for this method is to allow the user to configure the SGi interface of the PGW, i.e., to connect the PGW to the internet.

Implements ns3::EpcHelper.

Definition at line 518 of file no-backhaul-epc-helper.cc.

References m_pgw.

◆ GetSgwNode()

Ptr< Node > ns3::NoBackhaulEpcHelper::GetSgwNode ( ) const
overridevirtual

Get the SGW node.

Returns
a pointer to the SGW

Implements ns3::EpcHelper.

Definition at line 555 of file no-backhaul-epc-helper.cc.

References m_sgw.

Referenced by ns3::EmuEpcHelper::EmuEpcHelper(), and ns3::PointToPointEpcHelper::AddEnb().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::NoBackhaulEpcHelper::GetTypeId ( )
static

Register this type.

Returns
The object TypeId.

Definition at line 224 of file no-backhaul-epc-helper.cc.

References m_s11LinkDataRate, m_s11LinkDelay, m_s11LinkMtu, m_s5LinkDataRate, m_s5LinkDelay, m_s5LinkMtu, m_x2LinkDataRate, m_x2LinkDelay, m_x2LinkEnablePcap, m_x2LinkMtu, m_x2LinkPcapPrefix, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeDataRateAccessor(), ns3::MakeDataRateChecker(), ns3::MakeStringAccessor(), ns3::MakeStringChecker(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeUintegerAccessor(), ns3::MakeUintegerChecker(), NS_LOG_FUNCTION_NOARGS, ns3::Seconds(), and ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

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

◆ GetUeDefaultGatewayAddress()

Ipv4Address ns3::NoBackhaulEpcHelper::GetUeDefaultGatewayAddress ( )
overridevirtual
Returns
the IPv4 address of the Default Gateway to be used by UEs to reach the internet

Implements ns3::EpcHelper.

Definition at line 541 of file no-backhaul-epc-helper.cc.

References ns3::Object::GetObject(), and m_pgw.

+ Here is the call graph for this function:

◆ GetUeDefaultGatewayAddress6()

Ipv6Address ns3::NoBackhaulEpcHelper::GetUeDefaultGatewayAddress6 ( )
overridevirtual
Returns
the IPv6 address of the Default Gateway to be used by UEs to reach the internet

Implements ns3::EpcHelper.

Definition at line 548 of file no-backhaul-epc-helper.cc.

References ns3::Ipv6::GetAddress(), ns3::Object::GetObject(), and m_pgw.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_gtpcUdpPort

uint16_t ns3::NoBackhaulEpcHelper::m_gtpcUdpPort
private

UDP port where the GTPv2-C Socket is bound, fixed by the standard as 2123.

Definition at line 180 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper().

◆ m_gtpuUdpPort

uint16_t ns3::NoBackhaulEpcHelper::m_gtpuUdpPort
private

UDP port where the GTP-U Socket is bound, fixed by the standard as 2152.

Definition at line 155 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and AddS1Interface().

◆ m_imsiEnbDeviceMap

std::map<uint64_t, Ptr<NetDevice> > ns3::NoBackhaulEpcHelper::m_imsiEnbDeviceMap
private

Map storing for each IMSI the corresponding eNB NetDevice.

Definition at line 209 of file no-backhaul-epc-helper.h.

◆ m_mme

Ptr<Node> ns3::NoBackhaulEpcHelper::m_mme
private

MME network element.

Definition at line 130 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), AssignStreams(), and DoDispose().

◆ m_mmeApp

Ptr<EpcMmeApplication> ns3::NoBackhaulEpcHelper::m_mmeApp
private

MME application.

Definition at line 145 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), ActivateEpsBearer(), AddS1Interface(), AddUe(), and DoDispose().

◆ m_pgw

Ptr<Node> ns3::NoBackhaulEpcHelper::m_pgw
private

◆ m_pgwApp

Ptr<EpcPgwApplication> ns3::NoBackhaulEpcHelper::m_pgwApp
private

PGW application.

Definition at line 140 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), ActivateEpsBearer(), AddUe(), and DoDispose().

◆ m_s11Ipv4AddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_s11Ipv4AddressHelper
private

Helper to assign addresses to S11 NetDevices.

Definition at line 160 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper().

◆ m_s11LinkDataRate

DataRate ns3::NoBackhaulEpcHelper::m_s11LinkDataRate
private

The data rate to be used for the next S11 link to be created.

Definition at line 165 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and GetTypeId().

◆ m_s11LinkDelay

Time ns3::NoBackhaulEpcHelper::m_s11LinkDelay
private

The delay to be used for the next S11 link to be created.

Definition at line 170 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and GetTypeId().

◆ m_s11LinkMtu

uint16_t ns3::NoBackhaulEpcHelper::m_s11LinkMtu
private

The MTU of the next S11 link to be created.

Definition at line 175 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and GetTypeId().

◆ m_s5Ipv4AddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_s5Ipv4AddressHelper
private

S5 interfaces.

Helper to assign addresses to S5 NetDevices

Definition at line 189 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper().

◆ m_s5LinkDataRate

DataRate ns3::NoBackhaulEpcHelper::m_s5LinkDataRate
private

The data rate to be used for the next S5 link to be created.

Definition at line 194 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and GetTypeId().

◆ m_s5LinkDelay

Time ns3::NoBackhaulEpcHelper::m_s5LinkDelay
private

The delay to be used for the next S5 link to be created.

Definition at line 199 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and GetTypeId().

◆ m_s5LinkMtu

uint16_t ns3::NoBackhaulEpcHelper::m_s5LinkMtu
private

The MTU of the next S5 link to be created.

Definition at line 204 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and GetTypeId().

◆ m_sgw

Ptr<Node> ns3::NoBackhaulEpcHelper::m_sgw
private

SGW network element.

Definition at line 125 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), AssignStreams(), DoDispose(), and GetSgwNode().

◆ m_sgwApp

Ptr<EpcSgwApplication> ns3::NoBackhaulEpcHelper::m_sgwApp
private

SGW application.

Definition at line 135 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), AddS1Interface(), and DoDispose().

◆ m_tunDevice

Ptr<VirtualNetDevice> ns3::NoBackhaulEpcHelper::m_tunDevice
private

TUN device implementing tunneling of user data over GTP-U/UDP/IP.

Definition at line 150 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and DoDispose().

◆ m_uePgwAddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_uePgwAddressHelper
private

helper to assign IPv4 addresses to UE devices as well as to the TUN device of the SGW/PGW

Definition at line 111 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and AssignUeIpv4Address().

◆ m_uePgwAddressHelper6

Ipv6AddressHelper ns3::NoBackhaulEpcHelper::m_uePgwAddressHelper6
private

helper to assign IPv6 addresses to UE devices as well as to the TUN device of the SGW/PGW

Definition at line 115 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and AssignUeIpv6Address().

◆ m_x2Ipv4AddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_x2Ipv4AddressHelper
private

helper to assign addresses to X2 NetDevices

Definition at line 214 of file no-backhaul-epc-helper.h.

Referenced by NoBackhaulEpcHelper(), and AddX2Interface().

◆ m_x2LinkDataRate

DataRate ns3::NoBackhaulEpcHelper::m_x2LinkDataRate
private

The data rate to be used for the next X2 link to be created.

Definition at line 219 of file no-backhaul-epc-helper.h.

Referenced by AddX2Interface(), and GetTypeId().

◆ m_x2LinkDelay

Time ns3::NoBackhaulEpcHelper::m_x2LinkDelay
private

The delay to be used for the next X2 link to be created.

Definition at line 224 of file no-backhaul-epc-helper.h.

Referenced by AddX2Interface(), and GetTypeId().

◆ m_x2LinkEnablePcap

bool ns3::NoBackhaulEpcHelper::m_x2LinkEnablePcap
private

Enable PCAP generation for X2 link.

Definition at line 235 of file no-backhaul-epc-helper.h.

Referenced by AddX2Interface(), and GetTypeId().

◆ m_x2LinkMtu

uint16_t ns3::NoBackhaulEpcHelper::m_x2LinkMtu
private

The MTU of the next X2 link to be created.

Note that, because of some big X2 messages, you need a big MTU.

Definition at line 230 of file no-backhaul-epc-helper.h.

Referenced by AddX2Interface(), and GetTypeId().

◆ m_x2LinkPcapPrefix

std::string ns3::NoBackhaulEpcHelper::m_x2LinkPcapPrefix
private

Prefix for the PCAP file for the X2 link.

Definition at line 240 of file no-backhaul-epc-helper.h.

Referenced by AddX2Interface(), and GetTypeId().


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