A Discrete-Event Network Simulator
API
emu-epc-helper.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011-2019 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Jaume Nin <jnin@cttc.es>
19  * Nicola Baldo <nbaldo@cttc.es>
20  * Manuel Requena <manuel.requena@cttc.es>
21  */
22 
23 #ifndef EMU_EPC_HELPER_H
24 #define EMU_EPC_HELPER_H
25 
26 #include "ns3/no-backhaul-epc-helper.h"
27 
28 namespace ns3 {
29 
42 {
43 public:
47  EmuEpcHelper ();
48 
52  virtual ~EmuEpcHelper ();
53 
54  // inherited from Object
59  static TypeId GetTypeId (void);
60  TypeId GetInstanceTypeId () const;
61  virtual void DoDispose ();
62 
63  // inherited from EpcHelper
64  virtual void AddEnb (Ptr<Node> enbNode, Ptr<NetDevice> lteEnbNetDevice, uint16_t cellId);
65  virtual void AddX2Interface (Ptr<Node> enbNode1, Ptr<Node> enbNode2);
66 
67 private:
68 
73 
78 
82  std::string m_sgwDeviceName;
83 
87  std::string m_enbDeviceName;
88 
92  std::string m_sgwMacAddress;
93 
97  std::string m_enbMacAddressBase;
98 };
99 
100 } // namespace ns3
101 
102 #endif // EMU_EPC_HELPER_H
static TypeId GetTypeId(void)
Register this type.
holds a vector of std::pair of Ptr<Ipv4> and interface index.
std::string m_sgwDeviceName
The name of the device used for the S1-U interface of the SGW.
Ipv4InterfaceContainer m_sgwIpIfaces
Container for Ipv4Interfaces of the SGW.
EmuEpcHelper()
Constructor.
virtual void AddX2Interface(Ptr< Node > enbNode1, Ptr< Node > enbNode2)
Add an X2 interface between two eNB.
virtual void AddEnb(Ptr< Node > enbNode, Ptr< NetDevice > lteEnbNetDevice, uint16_t cellId)
Add an eNB to the EPC.
TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
Create an EPC network using EmuFdNetDevice.
Create an EPC network with PointToPoint links between the core network nodes.
std::string m_enbMacAddressBase
First 5 bytes of the Enb MAC address base.
std::string m_sgwMacAddress
MAC address used for the SGW.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual ~EmuEpcHelper()
Destructor.
std::string m_enbDeviceName
The name of the device used for the S1-U interface of the eNB.
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
Ipv4AddressHelper m_epcIpv4AddressHelper
helper to assign addresses to S1-U NetDevices
virtual void DoDispose()
Destructor implementation.
a unique identifier for an interface.
Definition: type-id.h:58