ns-3
ns3::EpcHelper Class Reference

Helper class to handle the creation of the EPC entities and protocols. More...

#include <epc-helper.h>

Inheritance diagram for ns3::EpcHelper:
Collaboration diagram for ns3::EpcHelper:

List of all members.

Public Member Functions

 EpcHelper ()
virtual ~EpcHelper ()
virtual void DoDispose ()
void AddEnb (Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice)
void ActivateEpsBearer (Ptr< NetDevice > ueLteDevice, Ptr< NetDevice > enbLteDevice, Ptr< EpcTft > tft, uint16_t rnti, uint8_t lcid)
Ptr< NodeGetPgwNode ()
Ipv4InterfaceContainer AssignUeIpv4Address (NetDeviceContainer ueDevices)
Ipv4Address GetUeDefaultGatewayAddress ()
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::EpcHelper.

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
virtual void NotifyNewAggregate (void)
virtual void DoStart (void)
 Object (const Object &o)

Detailed Description

Helper class to handle the creation of the EPC entities and protocols.

This Helper will create an EPC network topology comprising of a single node that implements both the SGW and PGW functionality, and is connected to all the eNBs in the simulation by means of the S1-U interface.


Constructor & Destructor Documentation

ns3::EpcHelper::~EpcHelper ( )
virtual

Destructor

References NS_LOG_FUNCTION.


Member Function Documentation

void ns3::EpcHelper::ActivateEpsBearer ( Ptr< NetDevice ueLteDevice,
Ptr< NetDevice enbLteDevice,
Ptr< EpcTft tft,
uint16_t  rnti,
uint8_t  lcid 
)

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
enbLteDevicethe non-Ipv4-enabled device of the eNB
tftthe Traffic Flow Template of the new bearer
rntithe Radio Network Temporary Identifier that identifies the UE
lcidthe Logical Channel IDentifier of the corresponding RadioBearer

References ns3::EpcSgwPgwApplication::ActivateS1Bearer(), ns3::Ipv4::GetAddress(), ns3::Node::GetApplication(), ns3::Ipv4::GetNAddresses(), ns3::Node::GetNApplications(), ns3::Ipv4::GetNInterfaces(), ns3::NetDevice::GetNode(), ns3::Object::GetObject(), NS_ASSERT, and NS_LOG_LOGIC.

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

Ipv4InterfaceContainer ns3::EpcHelper::AssignUeIpv4Address ( NetDeviceContainer  ueDevices)

Assign IPv4 addresses to UE devices

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

References ns3::Ipv4AddressHelper::Assign().

void ns3::EpcHelper::DoDispose ( void  )
virtual

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

Subclasses are expected to implement their real destruction code in an overriden 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::Object.

References ns3::Object::Dispose(), ns3::MakeNullCallback(), and ns3::VirtualNetDevice::SetSendCallback().

Ptr< Node > ns3::EpcHelper::GetPgwNode ( )
Returns:
a pointer to the node implementing PGW functionality. Note that in this particular implementation this node will also hold the SGW functionality. The primary use intended for this method is to allow the user to configure the Gi interface of the PGW, i.e., to connect the PGW to the internet.
TypeId ns3::EpcHelper::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::EpcHelper.

Attributes defined for this type:

  • S1uLinkDataRate: The data rate to be used for the next S1-U link to be created
    • Set with class: DataRateValue
    • Underlying type: DataRate
    • Initial value: 10000000000bps
    • Flags: construct write read
  • S1uLinkDelay: The delay to be used for the next S1-U link to be created
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +0.0ns
    • Flags: construct write read
  • S1uLinkMtu: The MTU of the next S1-U link to be created. Note that, because of the additional GTP/UDP/IP tunneling overhead, you need a MTU larger than the end-to-end MTU that you want to support.

No TraceSources defined for this type.

Reimplemented from ns3::Object.

References ns3::Seconds(), and ns3::TypeId::SetParent().

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

References ns3::Object::GetObject().


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