15#include "ns3/data-rate.h"
16#include "ns3/epc-tft.h"
17#include "ns3/eps-bearer.h"
18#include "ns3/ipv4-address-helper.h"
19#include "ns3/ipv6-address-helper.h"
20#include "ns3/object.h"
70 std::vector<uint16_t> cellIds) = 0;
99 std::vector<uint16_t> cellIds) = 0;
virtual Ipv4InterfaceContainer AssignUeIpv4Address(NetDeviceContainer ueDevices)=0
Assign IPv4 addresses to UE devices.
static TypeId GetTypeId()
Register this type.
virtual int64_t AssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used.
virtual void AddX2Interface(Ptr< Node > enbNode1, Ptr< Node > enbNode2)=0
Add an X2 interface between two eNB.
void DoDispose() override
Destructor implementation.
virtual void AddUe(Ptr< NetDevice > ueLteDevice, uint64_t imsi)=0
Notify the EPC of the existence of a new UE which might attach at a later time.
virtual Ptr< Node > GetSgwNode() const =0
Get the SGW node.
virtual void AddEnb(Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, std::vector< uint16_t > cellIds)=0
Add an eNB to the EPC.
virtual Ptr< Node > GetPgwNode() const =0
Get the PGW node.
virtual Ipv6InterfaceContainer AssignUeIpv6Address(NetDeviceContainer ueDevices)=0
Assign IPv6 addresses to UE devices.
~EpcHelper() override
Destructor.
virtual Ipv4Address GetUeDefaultGatewayAddress()=0
virtual void AddS1Interface(Ptr< Node > enb, Ipv4Address enbAddress, Ipv4Address sgwAddress, std::vector< uint16_t > cellIds)=0
Add an S1 interface between an eNB and a SGW.
virtual Ipv6Address GetUeDefaultGatewayAddress6()=0
virtual uint8_t ActivateEpsBearer(Ptr< NetDevice > ueLteDevice, uint64_t imsi, Ptr< EpcTft > tft, EpsBearer bearer)=0
Activate an EPS bearer, setting up the corresponding S1-U tunnel.
This entity is installed inside an eNB and provides the functionality for the X2 interface.
This class contains the specification of EPS Bearers.
Ipv4 addresses are stored in host order in this class.
holds a vector of std::pair of Ptr<Ipv4> and interface index.
Describes an IPv6 address.
Keep track of a set of IPv6 interfaces.
holds a vector of ns3::NetDevice pointers
Network layer to device interface.
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
A virtual device, similar to Linux TUN/TAP interfaces.
Every class exported by the ns3 library is enclosed in the ns3 namespace.