A Discrete-Event Network Simulator
API
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. More...
 
virtual ~NoBackhaulEpcHelper ()
 Destructor. More...
 
virtual uint8_t ActivateEpsBearer (Ptr< NetDevice > ueLteDevice, uint64_t imsi, Ptr< EpcTft > tft, EpsBearer bearer)
 Activate an EPS bearer, setting up the corresponding S1-U tunnel. More...
 
virtual void AddEnb (Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, uint16_t cellId)
 Add an eNB to the EPC. More...
 
virtual void AddS1Interface (Ptr< Node > enb, Ipv4Address enbAddress, Ipv4Address sgwAddress, uint16_t cellId=0)
 Add an S1 interface between an eNB and a SGW. More...
 
virtual void AddUe (Ptr< NetDevice > ueLteDevice, uint64_t imsi)
 Notify the EPC of the existence of a new UE which might attach at a later time. More...
 
virtual void AddX2Interface (Ptr< Node > enbNode1, Ptr< Node > enbNode2)
 Add an X2 interface between two eNB. More...
 
virtual Ipv4InterfaceContainer AssignUeIpv4Address (NetDeviceContainer ueDevices)
 Assign IPv4 addresses to UE devices. More...
 
virtual Ipv6InterfaceContainer AssignUeIpv6Address (NetDeviceContainer ueDevices)
 Assign IPv6 addresses to UE devices. More...
 
virtual void DoDispose ()
 Destructor implementation. More...
 
TypeId GetInstanceTypeId () const
 Get the most derived TypeId for this Object. More...
 
virtual Ptr< NodeGetPgwNode () const
 Get the PGW node. More...
 
virtual Ptr< NodeGetSgwNode () const
 Get the SGW node. More...
 
virtual Ipv4Address GetUeDefaultGatewayAddress ()
 
virtual Ipv6Address GetUeDefaultGatewayAddress6 ()
 
- Public Member Functions inherited from ns3::EpcHelper
 EpcHelper ()
 Constructor. More...
 
virtual ~EpcHelper ()
 Destructor. More...
 
- 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...
 
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...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. 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)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::EpcHelper
static TypeId GetTypeId (void)
 Register this type. 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 DoActivateEpsBearerForUe (const Ptr< NetDevice > &ueDevice, const Ptr< EpcTft > &tft, const EpsBearer &bearer) const
 DoActivateEpsBearerForUe: Schedule ActivateEpsBearer on the UE. More...
 
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. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. 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 Attributes

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

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

  • S5LinkDataRate: The data rate to be used for the next S5 link to be created
    • Set with class: DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: construct write read
  • 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: construct write read
  • 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: construct write read
  • S11LinkDataRate: The data rate to be used for the next S11 link to be created
    • Set with class: DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: construct write read
  • 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: construct write read
  • 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: construct write read
  • X2LinkDataRate: The data rate to be used for the next X2 link to be created
    • Set with class: DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: construct write read
  • 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: construct write read
  • 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: construct write read
  • X2LinkPcapPrefix: Prefix for Pcap generated by X2 link
    • Set with class: StringValue
    • Underlying type:
    • Initial value: x2
    • Flags: construct write read
  • X2LinkEnablePcap: Enable Pcap for X2 link
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write read

No TraceSources are defined for this type.
Size of this type is 384 bytes (on a 64-bit architecture).

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

Constructor & Destructor Documentation

◆ NoBackhaulEpcHelper()

ns3::NoBackhaulEpcHelper::NoBackhaulEpcHelper ( )

Constructor.

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

References ns3::NetDeviceContainer::Add(), ns3::Node::AddApplication(), ns3::Node::AddDevice(), ns3::Mac48Address::Allocate(), ns3::Ipv4AddressHelper::Assign(), AssignUeIpv4Address(), AssignUeIpv6Address(), ns3::Socket::Bind(), ns3::ObjectBase::ConstructSelf(), ns3::Socket::CreateSocket(), ns3::NetDeviceContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Ipv4Address::GetAny(), ns3::Ipv4::GetNInterfaces(), ns3::Object::GetObject(), ns3::Ipv6StaticRoutingHelper::GetStaticRouting(), ns3::PointToPointHelper::Install(), ns3::InternetStackHelper::Install(), ns3::TypeId::LookupByName(), m_gtpcUdpPort, m_gtpuUdpPort, m_mme, m_mmeApp, m_pgw, m_pgwApp, m_s11Ipv4AddressHelper, m_s11LinkDataRate, m_s11LinkDelay, m_s11LinkMtu, m_s5Ipv4AddressHelper, m_s5LinkDataRate, m_s5LinkDelay, m_s5LinkMtu, m_sgw, m_sgwApp, m_tunDevice, m_uePgwAddressHelper, m_uePgwAddressHelper6, m_x2Ipv4AddressHelper, ns3::MakeCallback(), ns3::Ipv4AddressHelper::NewNetwork(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::EpcPgwApplication::RecvFromTunDevice(), ns3::VirtualNetDevice::SetAddress(), ns3::ObjectBase::SetAttribute(), ns3::Ipv4AddressHelper::SetBase(), ns3::Ipv6AddressHelper::SetBase(), ns3::PointToPointHelper::SetChannelAttribute(), ns3::Ipv6InterfaceContainer::SetDefaultRouteInAllNodes(), ns3::PointToPointHelper::SetDeviceAttribute(), ns3::Ipv6InterfaceContainer::SetForwarding(), and ns3::VirtualNetDevice::SetSendCallback().

+ Here is the call graph for this function:

◆ ~NoBackhaulEpcHelper()

ns3::NoBackhaulEpcHelper::~NoBackhaulEpcHelper ( )
virtual

Destructor.

Definition at line 216 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 
)
virtual

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 439 of file no-backhaul-epc-helper.cc.

References DoActivateEpsBearerForUe(), ns3::Object::GetObject(), m_mmeApp, m_pgwApp, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by EpcS1uDlTestCase::DoRun(), and EpcS1uUlTestCase::DoRun().

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

◆ AddEnb()

◆ AddS1Interface()

void ns3::NoBackhaulEpcHelper::AddS1Interface ( Ptr< Node enb,
Ipv4Address  enbAddress,
Ipv4Address  sgwAddress,
uint16_t  cellId = 0 
)
virtual

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
cellIdcellId of the eNB

Implements ns3::EpcHelper.

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

References ns3::Socket::Bind(), ns3::Socket::CreateSocket(), ns3::Node::GetApplication(), ns3::LteEnbNetDevice::GetCellId(), ns3::Node::GetDevice(), ns3::Object::GetObject(), ns3::TypeId::LookupByName(), m_gtpuUdpPort, m_mmeApp, m_sgwApp, NS_ASSERT, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_INFO.

Referenced by ns3::PointToPointEpcHelper::AddEnb(), and ns3::EmuEpcHelper::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 
)
virtual

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 430 of file no-backhaul-epc-helper.cc.

References m_mmeApp, m_pgwApp, and NS_LOG_FUNCTION.

Referenced by EpcS1uDlTestCase::DoRun(), and EpcS1uUlTestCase::DoRun().

+ Here is the caller graph for this function:

◆ AddX2Interface()

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

◆ AssignUeIpv4Address()

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

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 504 of file no-backhaul-epc-helper.cc.

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

Referenced by LteX2HandoverTestCase::DoRun(), EpcS1uDlTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), EpcS1uUlTestCase::DoRun(), and NoBackhaulEpcHelper().

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

◆ AssignUeIpv6Address()

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

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 510 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 479 of file no-backhaul-epc-helper.cc.

References ns3::EpcUeNas::ActivateEpsBearer(), 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 402 of file no-backhaul-epc-helper.cc.

References ns3::LteEnbNetDevice::GetCellId(), ns3::LteEnbNetDevice::GetRrc(), NS_ABORT_MSG_IF, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by AddX2Interface().

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

◆ DoDispose()

void ns3::NoBackhaulEpcHelper::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::EpcHelper.

Reimplemented in ns3::EmuEpcHelper, and ns3::PointToPointEpcHelper.

Definition at line 295 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(), NS_LOG_FUNCTION, and ns3::VirtualNetDevice::SetSendCallback().

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

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

◆ GetInstanceTypeId()

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

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.

Reimplemented from ns3::Object.

Reimplemented in ns3::PointToPointEpcHelper.

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

References GetTypeId().

+ Here is the call graph for this function:

◆ GetPgwNode()

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

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 498 of file no-backhaul-epc-helper.cc.

References m_pgw.

Referenced by LteX2HandoverTestCase::DoRun(), EpcS1uDlTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), and EpcS1uUlTestCase::DoRun().

+ Here is the caller graph for this function:

◆ GetSgwNode()

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

Get the SGW node.

Returns
a pointer to the SGW

Implements ns3::EpcHelper.

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

References m_sgw.

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

+ Here is the caller graph for this function:

◆ GetTypeId()

◆ GetUeDefaultGatewayAddress()

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

Implements ns3::EpcHelper.

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

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

Referenced by LteX2HandoverTestCase::DoRun(), LteCellSelectionTestCase::DoRun(), LteX2HandoverMeasuresTestCase::DoRun(), and EpcS1uUlTestCase::DoRun().

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

◆ GetUeDefaultGatewayAddress6()

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

Implements ns3::EpcHelper.

Definition at line 530 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 181 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 156 of file no-backhaul-epc-helper.h.

Referenced by AddS1Interface(), and NoBackhaulEpcHelper().

◆ 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 210 of file no-backhaul-epc-helper.h.

◆ m_mme

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

MME network element.

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

Referenced by DoDispose(), and NoBackhaulEpcHelper().

◆ m_mmeApp

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

MME application.

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

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

◆ m_pgw

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

◆ m_pgwApp

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

PGW application.

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

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

◆ m_s11Ipv4AddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_s11Ipv4AddressHelper
private

Helper to assign addresses to S11 NetDevices.

Definition at line 161 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 166 of file no-backhaul-epc-helper.h.

Referenced by GetTypeId(), and NoBackhaulEpcHelper().

◆ m_s11LinkDelay

Time ns3::NoBackhaulEpcHelper::m_s11LinkDelay
private

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

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

Referenced by GetTypeId(), and NoBackhaulEpcHelper().

◆ m_s11LinkMtu

uint16_t ns3::NoBackhaulEpcHelper::m_s11LinkMtu
private

The MTU of the next S11 link to be created.

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

Referenced by GetTypeId(), and NoBackhaulEpcHelper().

◆ m_s5Ipv4AddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_s5Ipv4AddressHelper
private

S5 interfaces.

Helper to assign addresses to S5 NetDevices

Definition at line 190 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 195 of file no-backhaul-epc-helper.h.

Referenced by GetTypeId(), and NoBackhaulEpcHelper().

◆ m_s5LinkDelay

Time ns3::NoBackhaulEpcHelper::m_s5LinkDelay
private

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

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

Referenced by GetTypeId(), and NoBackhaulEpcHelper().

◆ m_s5LinkMtu

uint16_t ns3::NoBackhaulEpcHelper::m_s5LinkMtu
private

The MTU of the next S5 link to be created.

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

Referenced by GetTypeId(), and NoBackhaulEpcHelper().

◆ m_sgw

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

SGW network element.

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

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

◆ m_sgwApp

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

SGW application.

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

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

◆ m_tunDevice

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

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

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

Referenced by DoDispose(), and NoBackhaulEpcHelper().

◆ 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 112 of file no-backhaul-epc-helper.h.

Referenced by AssignUeIpv4Address(), and NoBackhaulEpcHelper().

◆ 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 116 of file no-backhaul-epc-helper.h.

Referenced by AssignUeIpv6Address(), and NoBackhaulEpcHelper().

◆ m_x2Ipv4AddressHelper

Ipv4AddressHelper ns3::NoBackhaulEpcHelper::m_x2Ipv4AddressHelper
private

helper to assign addresses to X2 NetDevices

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

Referenced by AddX2Interface(), and NoBackhaulEpcHelper().

◆ 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 220 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 225 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 236 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 231 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 241 of file no-backhaul-epc-helper.h.

Referenced by AddX2Interface(), and GetTypeId().


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