A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
point-to-point-epc-helper.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011-2019 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Authors:
7 * Jaume Nin <jnin@cttc.es>
8 * Nicola Baldo <nbaldo@cttc.es>
9 * Manuel Requena <manuel.requena@cttc.es>
10 * (most of the code refactored to no-backhaul-epc-helper.h)
11 */
12
13#ifndef POINT_TO_POINT_EPC_HELPER_H
14#define POINT_TO_POINT_EPC_HELPER_H
15
17
18namespace ns3
19{
20
21/**
22 * @ingroup lte
23 * @brief Create an EPC network with PointToPoint links in the backhaul network.
24 *
25 * This Helper extends NoBackhaulEpcHelper creating PointToPoint links in the
26 * backhaul network (i.e. in the S1-U and S1-MME interfaces)
27 */
29{
30 public:
31 /**
32 * Constructor
33 */
35
36 /**
37 * Destructor
38 */
39 ~PointToPointEpcHelper() override;
40
41 // inherited from Object
42 /**
43 * Register this type.
44 * @return The object TypeId.
45 */
46 static TypeId GetTypeId();
47 TypeId GetInstanceTypeId() const override;
48 void DoDispose() override;
49
50 // inherited from EpcHelper
51 void AddEnb(Ptr<Node> enbNode,
52 Ptr<NetDevice> lteEnbNetDevice,
53 std::vector<uint16_t> cellIds) override;
54
55 private:
56 /**
57 * S1-U interfaces
58 */
59
60 /**
61 * Helper to assign addresses to S1-U NetDevices
62 */
64
65 /**
66 * The data rate to be used for the next S1-U link to be created
67 */
69
70 /**
71 * The delay to be used for the next S1-U link to be created
72 */
74
75 /**
76 * The MTU of the next S1-U link to be created. Note that,
77 * because of the additional GTP/UDP/IP tunneling overhead,
78 * you need a MTU larger than the end-to-end MTU that you
79 * want to support.
80 */
81 uint16_t m_s1uLinkMtu;
82
83 /**
84 * Helper to assign addresses to S1-MME NetDevices
85 */
87
88 /**
89 * Enable PCAP generation for S1 link
90 */
92
93 /**
94 * Prefix for the PCAP file for the S1 link
95 */
97};
98
99} // namespace ns3
100
101#endif // POINT_TO_POINT_EPC_HELPER_H
Class for representing data rates.
Definition data-rate.h:78
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
Create an EPC network with PointToPoint links between the core network nodes.
Create an EPC network with PointToPoint links in the backhaul network.
Ipv4AddressHelper m_s1uIpv4AddressHelper
S1-U interfaces.
Ipv4AddressHelper m_s1apIpv4AddressHelper
Helper to assign addresses to S1-MME NetDevices.
bool m_s1uLinkEnablePcap
Enable PCAP generation for S1 link.
DataRate m_s1uLinkDataRate
The data rate to be used for the next S1-U link to be created.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t m_s1uLinkMtu
The MTU of the next S1-U link to be created.
static TypeId GetTypeId()
Register this type.
void AddEnb(Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, std::vector< uint16_t > cellIds) override
Add an eNB to the EPC.
std::string m_s1uLinkPcapPrefix
Prefix for the PCAP file for the S1 link.
void DoDispose() override
Destructor implementation.
Time m_s1uLinkDelay
The delay to be used for the next S1-U link to be created.
~PointToPointEpcHelper() override
Destructor.
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
Definition nstime.h:94
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.