![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
Base helper class to handle the creation of the EPC entities. More...
#include "nr-epc-helper.h"
Public Member Functions | |
NrEpcHelper () | |
~NrEpcHelper () override | |
virtual uint8_t | ActivateEpsBearer (Ptr< NetDevice > ueNrDevice, uint64_t imsi, Ptr< NrEpcTft > tft, NrEpsBearer bearer)=0 |
virtual void | AddGnb (Ptr< Node > gnbNode, Ptr< NetDevice > nrGnbNetDevice, std::vector< uint16_t > cellIds)=0 |
virtual void | AddS1Interface (Ptr< Node > gnb, Ipv4Address gnbAddress, Ipv4Address sgwAddress, std::vector< uint16_t > cellIds)=0 |
virtual void | AddUe (Ptr< NetDevice > ueNrDevice, uint64_t imsi)=0 |
virtual void | AddX2Interface (Ptr< Node > gnbNode1, Ptr< Node > gnbNode2)=0 |
virtual int64_t | AssignStreams (int64_t stream)=0 |
virtual Ipv4InterfaceContainer | AssignUeIpv4Address (NetDeviceContainer ueDevices)=0 |
virtual Ipv6InterfaceContainer | AssignUeIpv6Address (NetDeviceContainer ueDevices)=0 |
void | DoDispose () override |
virtual Ptr< Node > | GetPgwNode () const =0 |
virtual Ptr< Node > | GetSgwNode () const =0 |
virtual Ipv4Address | GetUeDefaultGatewayAddress ()=0 |
virtual Ipv6Address | GetUeDefaultGatewayAddress6 ()=0 |
virtual std::pair< Ptr< Node >, Ipv4Address > | SetupRemoteHost (std::optional< std::string > dataRate, std::optional< uint16_t > mtu, std::optional< Time > delay)=0 |
virtual std::pair< Ptr< Node >, Ipv6Address > | SetupRemoteHost6 (std::optional< std::string > dataRate, std::optional< uint16_t > mtu, std::optional< Time > delay)=0 |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Base helper class to handle the creation of the EPC entities.
This class provides the API for the implementation of helpers that allow to create EPC entities and the nodes and interfaces that host and connect them.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 56 bytes (on a 64-bit architecture).
Definition at line 40 of file nr-epc-helper.h.
ns3::NrEpcHelper::NrEpcHelper | ( | ) |
Constructor
Definition at line 24 of file nr-epc-helper.cc.
|
override |
Destructor
Definition at line 29 of file nr-epc-helper.cc.
|
pure virtual |
Activate an EPS bearer, setting up the corresponding S1-U tunnel.
ueNrDevice | the Ipv4-enabled device of the UE, normally connected via the NR radio interface |
imsi | the unique identifier of the UE |
tft | the Traffic Flow Template of the new bearer |
bearer | struct describing the characteristics of the EPS bearer to be activated |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Add an gNB to the EPC
gnbNode | the previously created gNB node which is to be added to the EPC |
nrGnbNetDevice | the NrGnbNetDevice of the gNB node |
cellIds | IDs of cells served by this gNB |
Implemented in ns3::NrNoBackhaulEpcHelper, ns3::NrPointToPointEpcHelperBase, and ns3::NrPointToPointEpcHelper.
|
pure virtual |
Add an S1 interface between an gNB and a SGW
gnb | gNB peer of the S1 interface |
gnbAddress | gNB IPv4 address of the S1 interface |
sgwAddress | SGW IPv4 address of the S1 interface |
cellIds | cellIds of the gNB |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Notify the EPC of the existence of a new UE which might attach at a later time
ueNrDevice | the UE device to be attached |
imsi | the unique identifier of the UE |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Add an X2 interface between two gNB
gnbNode1 | one gNB peer of the X2 interface |
gnbNode2 | the other gNB peer of the X2 interface |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Assign a fixed random variable stream number to the random variables used.
stream | first stream index to use |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Assign IPv4 addresses to UE devices
ueDevices | the set of UE devices |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Assign IPv6 addresses to UE devices
ueDevices | the set of UE devices |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
override |
Definition at line 42 of file nr-epc-helper.cc.
|
pure virtual |
Get the PGW node
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
|
static |
|
pure virtual |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Setup a P2P link connecting the PGW to a remote host, and create a route from the remote host to the UEs using IPv4 networks. Addresses are hardcoded for simplicity.
RemoteHost –P2P– PGW --— SGW – gNB – UEs 1.0.0.2 1.0.0.1 7.0.0.1 7.0.0.0/8
dataRateValue | Link speed connecting the PGW and the remote host |
mtu | MTU of link connecting the PGW and the remote host |
delay | One-way propagation delay of link connecting the PGW and the remote host |
Implemented in ns3::NrNoBackhaulEpcHelper.
|
pure virtual |
Setup a P2P link connecting the PGW to a remote host, and create a route from the remote host to the UEs using IPv6 networks. Addresses are hardcoded for simplicity.
RemoteHost ------------—P2P--------— PGW -------------------— SGW – gNB – UEs 6001:db80:0000:0000:0200:00ff:fe00:0007 6001:db80:0000:0000:0200:00ff:fe00:0006 7777:f00d:0000:0000:0000:0000:0000:0001 7777:f00d:
dataRateValue | Link speed connecting the PGW and the remote host |
mtu | MTU of link connecting the PGW and the remote host |
delay | One-way propagation delay of link connecting the PGW and the remote host |
Implemented in ns3::NrNoBackhaulEpcHelper.