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 void DoDispose() override;
48
49 // inherited from EpcHelper
50 void AddEnb(Ptr<Node> enbNode,
51 Ptr<NetDevice> lteEnbNetDevice,
52 std::vector<uint16_t> cellIds) override;
53
54 protected:
55 void NotifyConstructionCompleted() override;
56
57 private:
58 /**
59 * S1-U interfaces
60 */
61
62 /**
63 * Helper to assign addresses to S1-U NetDevices
64 */
66
67 /**
68 * The data rate to be used for the next S1-U link to be created
69 */
71
72 /**
73 * The delay to be used for the next S1-U link to be created
74 */
76
77 /**
78 * The MTU of the next S1-U link to be created. Note that,
79 * because of the additional GTP/UDP/IP tunneling overhead,
80 * you need a MTU larger than the end-to-end MTU that you
81 * want to support.
82 */
83 uint16_t m_s1uLinkMtu;
84
85 /**
86 * Helper to assign addresses to S1-MME NetDevices
87 */
89
90 /**
91 * Enable PCAP generation for S1 link
92 */
94
95 /**
96 * Prefix for the PCAP file for the S1 link
97 */
99};
100
101} // namespace ns3
102
103#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.
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.
uint16_t m_s1uLinkMtu
The MTU of the next S1-U link to be created.
void NotifyConstructionCompleted() override
Notifier called once the ObjectBase is fully constructed.
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.
Definition ptr.h:67
Simulation virtual time values and global simulation resolution.
Definition nstime.h:96
a unique identifier for an interface.
Definition type-id.h:49
Every class exported by the ns3 library is enclosed in the ns3 namespace.