![]() |
5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
|
#include "nr-epc-gnb-application.h"
Classes | |
struct | EpsFlowId_t |
Public Types | |
typedef void(* | RxTracedCallback) (Ptr< Packet > packet) |
Public Member Functions | |
NrEpcGnbApplication (Ptr< Socket > nrSocket, Ptr< Socket > nrSocket6, uint16_t cellId) | |
~NrEpcGnbApplication () override | |
void | AddS1Interface (Ptr< Socket > s1uSocket, Ipv4Address gnbS1uAddress, Ipv4Address sgwS1uAddress) |
NrEpcS1apSapGnb * | GetS1apSapGnb () |
NrEpcGnbS1SapProvider * | GetS1SapProvider () |
void | RecvFromNrSocket (Ptr< Socket > socket) |
void | RecvFromS1uSocket (Ptr< Socket > socket) |
void | SetS1apSapMme (NrEpcS1apSapMme *s) |
void | SetS1SapUser (NrEpcGnbS1SapUser *s) |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Member Functions | |
void | DoDispose () override |
Friends | |
class | NrMemberEpcGnbS1SapProvider< NrEpcGnbApplication > |
allow NrMemberEpcGnbS1SapProvider<NrEpcGnbApplication> class friend access | |
class | NrMemberEpcS1apSapGnb< NrEpcGnbApplication > |
allow NrMemberEpcS1apSapGnb<NrEpcGnbApplication> class friend access | |
This application is installed inside gNBs and provides the bridge functionality for user data plane packets between the radio interface and the S1-U interface.
Definition at line 37 of file nr-epc-gnb-application.h.
typedef void(* ns3::NrEpcGnbApplication::RxTracedCallback) (Ptr< Packet > packet) |
TracedCallback signature for data Packet reception event.
[in] | packet | The data packet sent from the internet. |
Definition at line 132 of file nr-epc-gnb-application.h.
ns3::NrEpcGnbApplication::NrEpcGnbApplication | ( | Ptr< Socket > | nrSocket, |
Ptr< Socket > | nrSocket6, | ||
uint16_t | cellId | ||
) |
Constructor
nrSocket | the socket to be used to send/receive IPv4 packets to/from the NR radio interface |
nrSocket6 | the socket to be used to send/receive IPv6 packets to/from the NR radio interface |
cellId | the identifier of the gNB |
Definition at line 75 of file nr-epc-gnb-application.cc.
References NrMemberEpcGnbS1SapProvider< NrEpcGnbApplication >, NrMemberEpcS1apSapGnb< NrEpcGnbApplication >, and RecvFromNrSocket().
|
override |
Destructor
Definition at line 106 of file nr-epc-gnb-application.cc.
void ns3::NrEpcGnbApplication::AddS1Interface | ( | Ptr< Socket > | s1uSocket, |
Ipv4Address | gnbS1uAddress, | ||
Ipv4Address | sgwS1uAddress | ||
) |
Add a S1-U interface to the gNB
s1uSocket | the socket to be used to send/receive packets to/from the S1-U interface connected with the SGW |
gnbS1uAddress | the IPv4 address of the S1-U interface of this gNB |
sgwS1uAddress | the IPv4 address at which this gNB will be able to reach its SGW for S1-U communications |
Definition at line 94 of file nr-epc-gnb-application.cc.
References RecvFromS1uSocket().
|
overrideprotected |
Definition at line 65 of file nr-epc-gnb-application.cc.
NrEpcS1apSapGnb * ns3::NrEpcGnbApplication::GetS1apSapGnb | ( | ) |
Definition at line 130 of file nr-epc-gnb-application.cc.
NrEpcGnbS1SapProvider * ns3::NrEpcGnbApplication::GetS1SapProvider | ( | ) |
Definition at line 118 of file nr-epc-gnb-application.cc.
|
static |
void ns3::NrEpcGnbApplication::RecvFromNrSocket | ( | Ptr< Socket > | socket | ) |
Method to be assigned to the recv callback of the NR socket. It is called when the gNB receives a data packet from the radio interface that is to be forwarded to the SGW.
socket | pointer to the NR socket |
Definition at line 251 of file nr-epc-gnb-application.cc.
References ns3::NrEpsBearerTag::GetBid(), and ns3::NrEpsBearerTag::GetRnti().
Referenced by NrEpcGnbApplication().
void ns3::NrEpcGnbApplication::RecvFromS1uSocket | ( | Ptr< Socket > | socket | ) |
Method to be assigned to the recv callback of the S1-U socket. It is called when the gNB receives a data packet from the SGW that is to be forwarded to the UE.
socket | pointer to the S1-U socket |
Definition at line 286 of file nr-epc-gnb-application.cc.
References ns3::NrGtpuHeader::GetTeid().
Referenced by AddS1Interface().
void ns3::NrEpcGnbApplication::SetS1apSapMme | ( | NrEpcS1apSapMme * | s | ) |
Set the MME side of the S1-AP SAP
s | the MME side of the S1-AP SAP |
Definition at line 124 of file nr-epc-gnb-application.cc.
void ns3::NrEpcGnbApplication::SetS1SapUser | ( | NrEpcGnbS1SapUser * | s | ) |
Set the S1 SAP User
s | the S1 SAP User |
Definition at line 112 of file nr-epc-gnb-application.cc.
|
friend |
allow NrMemberEpcGnbS1SapProvider<NrEpcGnbApplication> class friend access
Definition at line 1 of file nr-epc-gnb-application.h.
Referenced by NrEpcGnbApplication().
|
friend |
allow NrMemberEpcS1apSapGnb<NrEpcGnbApplication> class friend access
Definition at line 1 of file nr-epc-gnb-application.h.
Referenced by NrEpcGnbApplication().