52 void DoDispose()
override;
55 void AddGnb(Ptr<Node> gnbNode,
56 Ptr<NetDevice> nrGnbNetDevice,
57 std::vector<uint16_t> cellIds)
override;
58 void AddUe(Ptr<NetDevice> ueNrDevice, uint64_t imsi)
override;
59 void AddX2Interface(Ptr<Node> gnbNode1, Ptr<Node> gnbNode2)
override;
61 Ipv4Address gnbAddress,
62 Ipv4Address sgwAddress,
63 std::vector<uint16_t> cellIds)
override;
75 std::pair<Ptr<Node>, Ipv4Address>
SetupRemoteHost(std::optional<std::string> dataRate,
76 std::optional<uint16_t> mtu,
77 std::optional<Time> delay)
override;
78 std::pair<Ptr<Node>, Ipv6Address>
SetupRemoteHost6(std::optional<std::string> dataRate,
79 std::optional<uint16_t> mtu,
80 std::optional<Time> delay)
override;
94 const Ptr<NetDevice>& gnb1NrDev,
95 const Ipv4Address& gnb1X2Address,
96 const Ptr<NrEpcX2>& gnb2X2,
97 const Ptr<NetDevice>& gnb2NrDev,
98 const Ipv4Address& gnb2X2Address)
const;
107 const Ptr<NrEpcTft>& tft,
114 Ipv4AddressHelper m_uePgwAddressHelper;
118 Ipv6AddressHelper m_uePgwAddressHelper6;
138 Ptr<NrEpcSgwApplication> m_sgwApp;
143 Ptr<NrEpcPgwApplication> m_pgwApp;
148 Ptr<NrEpcMmeApplication> m_mmeApp;
153 Ptr<VirtualNetDevice> m_tunDevice;
158 uint16_t m_gtpuUdpPort;
163 Ipv4AddressHelper m_s11Ipv4AddressHelper;
168 DataRate m_s11LinkDataRate;
178 uint16_t m_s11LinkMtu;
183 uint16_t m_gtpcUdpPort;
192 Ipv4AddressHelper m_s5Ipv4AddressHelper;
197 DataRate m_s5LinkDataRate;
207 uint16_t m_s5LinkMtu;
212 std::map<uint64_t, Ptr<NetDevice>> m_imsiGnbDeviceMap;
217 Ipv4AddressHelper m_x2Ipv4AddressHelper;
222 DataRate m_x2LinkDataRate;
233 uint16_t m_x2LinkMtu;
238 bool m_x2LinkEnablePcap;
243 std::string m_x2LinkPcapPrefix;
virtual void DoAddX2Interface(const Ptr< NrEpcX2 > &gnb1X2, const Ptr< NetDevice > &gnb1NrDev, const Ipv4Address &gnb1X2Address, const Ptr< NrEpcX2 > &gnb2X2, const Ptr< NetDevice > &gnb2NrDev, const Ipv4Address &gnb2X2Address) const
DoAddX2Interface: Call AddX2Interface on top of the Gnb device pointers.