|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
24 #include "ns3/boolean.h"
25 #include "ns3/string.h"
27 #include "ns3/point-to-point-helper.h"
29 #include "ns3/point-to-point-epc-helper.h"
61 static TypeId tid =
TypeId (
"ns3::PointToPointEpcHelper")
65 .AddAttribute (
"S1uLinkDataRate",
66 "The data rate to be used for the next S1-U link to be created",
70 .AddAttribute (
"S1uLinkDelay",
71 "The delay to be used for the next S1-U link to be created",
75 .AddAttribute (
"S1uLinkMtu",
76 "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.",
79 MakeUintegerChecker<uint16_t> ())
80 .AddAttribute (
"S1uLinkPcapPrefix",
81 "Prefix for Pcap generated by S1-U link",
85 .AddAttribute (
"S1uLinkEnablePcap",
86 "Enable Pcap for X2 link",
holds a vector of ns3::NetDevice pointers
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
AttributeValue implementation for DataRate.
PointToPointEpcHelper()
Constructor.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range.
AttributeValue implementation for Boolean.
Ipv4Address NewNetwork(void)
Increment the network number and reset the IP address counter to the base value provided in the SetBa...
bool m_s1uLinkEnablePcap
Enable PCAP generation for S1 link.
virtual void AddEnb(Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, uint16_t cellId)
Add an eNB to the EPC.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< const AttributeAccessor > MakeDataRateAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
void SetDeviceAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each NetDevice created by the helper.
void SetChannelAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each Channel created by the helper.
virtual void AddEnb(Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, uint16_t cellId)
Add an eNB to the EPC.
Ipv4AddressHelper m_s1apIpv4AddressHelper
Helper to assign addresses to S1-MME NetDevices.
void EnablePcapAll(std::string prefix, bool promiscuous=false)
Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created ...
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object.
NetDeviceContainer Install(NodeContainer c)
Ipv4 addresses are stored in host order in this class.
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
Ipv4AddressHelper m_s1uIpv4AddressHelper
S1-U interfaces.
void ConstructSelf(const AttributeConstructionList &attributes)
Complete construction of ObjectBase; invoked by derived classes.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
std::string m_s1uLinkPcapPrefix
Prefix for the PCAP file for the S1 link.
TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
virtual void DoDispose()
Destructor implementation.
void SetBase(Ipv4Address network, Ipv4Mask mask, Ipv4Address base="0.0.0.1")
Set the base network number, network mask and base address.
Access to the IPv4 forwarding table, interfaces, and configuration.
Class for representing data rates.
virtual void DoDispose()
Destructor implementation.
Time m_s1uLinkDelay
The delay to be used for the next S1-U link to be created.
virtual ~PointToPointEpcHelper()
Destructor.
virtual void AddS1Interface(Ptr< Node > enb, Ipv4Address enbAddress, Ipv4Address sgwAddress, uint16_t cellId=0)
Add an S1 interface between an eNB and a SGW.
holds a vector of std::pair of Ptr<Ipv4> and interface index.
Ptr< const AttributeChecker > MakeBooleanChecker(void)
Create an EPC network with PointToPoint links between the core network nodes.
DataRate m_s1uLinkDataRate
The data rate to be used for the next S1-U link to be created.
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
Hold variables of type string.
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
Time Seconds(double value)
Construct a Time in the indicated unit.
Ipv4InterfaceContainer Assign(const NetDeviceContainer &c)
Assign IP addresses to the net devices specified in the container based on the current network prefix...
AttributeValue implementation for Time.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Build a set of PointToPointNetDevice objects.
Ptr< const AttributeChecker > MakeStringChecker(void)
Ipv4Address GetAddress(uint32_t i, uint32_t j=0) const
Hold an unsigned integer type.
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
virtual uint32_t GetNInterfaces(void) const =0
uint16_t m_s1uLinkMtu
The MTU of the next S1-U link to be created.
Create an EPC network with PointToPoint links in the backhaul network.
List of Attribute name, value and checker triples used to construct Objects.
static TypeId GetTypeId(void)
Register this type.
Ptr< const AttributeAccessor > MakeStringAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
Ptr< const AttributeChecker > MakeDataRateChecker(void)
virtual Ptr< Node > GetSgwNode() const
Get the SGW node.
Ptr< const AttributeAccessor > MakeTimeAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.