5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrEpcGnbApplication Class Reference

#include "nr-epc-gnb-application.h"

+ Inheritance diagram for ns3::NrEpcGnbApplication:
+ Collaboration diagram for ns3::NrEpcGnbApplication:

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)
 
NrEpcS1apSapGnbGetS1apSapGnb ()
 
NrEpcGnbS1SapProviderGetS1SapProvider ()
 
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
 

Detailed Description

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.

Member Typedef Documentation

◆ RxTracedCallback

typedef void(* ns3::NrEpcGnbApplication::RxTracedCallback) (Ptr< Packet > packet)

TracedCallback signature for data Packet reception event.

Parameters
[in]packetThe data packet sent from the internet.

Definition at line 132 of file nr-epc-gnb-application.h.

Constructor & Destructor Documentation

◆ NrEpcGnbApplication()

ns3::NrEpcGnbApplication::NrEpcGnbApplication ( Ptr< Socket >  nrSocket,
Ptr< Socket >  nrSocket6,
uint16_t  cellId 
)

Constructor

Parameters
nrSocketthe socket to be used to send/receive IPv4 packets to/from the NR radio interface
nrSocket6the socket to be used to send/receive IPv6 packets to/from the NR radio interface
cellIdthe identifier of the gNB

Definition at line 75 of file nr-epc-gnb-application.cc.

References NrMemberEpcGnbS1SapProvider< NrEpcGnbApplication >, NrMemberEpcS1apSapGnb< NrEpcGnbApplication >, and RecvFromNrSocket().

+ Here is the call graph for this function:

◆ ~NrEpcGnbApplication()

ns3::NrEpcGnbApplication::~NrEpcGnbApplication ( )
override

Destructor

Definition at line 106 of file nr-epc-gnb-application.cc.

Member Function Documentation

◆ AddS1Interface()

void ns3::NrEpcGnbApplication::AddS1Interface ( Ptr< Socket >  s1uSocket,
Ipv4Address  gnbS1uAddress,
Ipv4Address  sgwS1uAddress 
)

Add a S1-U interface to the gNB

Parameters
s1uSocketthe socket to be used to send/receive packets to/from the S1-U interface connected with the SGW
gnbS1uAddressthe IPv4 address of the S1-U interface of this gNB
sgwS1uAddressthe 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().

+ Here is the call graph for this function:

◆ DoDispose()

void ns3::NrEpcGnbApplication::DoDispose ( )
overrideprotected

Definition at line 65 of file nr-epc-gnb-application.cc.

◆ GetS1apSapGnb()

NrEpcS1apSapGnb * ns3::NrEpcGnbApplication::GetS1apSapGnb ( )
Returns
the gNB side of the S1-AP SAP

Definition at line 130 of file nr-epc-gnb-application.cc.

◆ GetS1SapProvider()

NrEpcGnbS1SapProvider * ns3::NrEpcGnbApplication::GetS1SapProvider ( )
Returns
the S1 SAP Provider

Definition at line 118 of file nr-epc-gnb-application.cc.

◆ GetTypeId()

TypeId ns3::NrEpcGnbApplication::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 47 of file nr-epc-gnb-application.cc.

◆ RecvFromNrSocket()

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.

Parameters
socketpointer 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecvFromS1uSocket()

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.

Parameters
socketpointer to the S1-U socket

Definition at line 286 of file nr-epc-gnb-application.cc.

References ns3::NrGtpuHeader::GetTeid().

Referenced by AddS1Interface().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetS1apSapMme()

void ns3::NrEpcGnbApplication::SetS1apSapMme ( NrEpcS1apSapMme s)

Set the MME side of the S1-AP SAP

Parameters
sthe MME side of the S1-AP SAP

Definition at line 124 of file nr-epc-gnb-application.cc.

◆ SetS1SapUser()

void ns3::NrEpcGnbApplication::SetS1SapUser ( NrEpcGnbS1SapUser s)

Set the S1 SAP User

Parameters
sthe S1 SAP User

Definition at line 112 of file nr-epc-gnb-application.cc.

Friends And Related Symbol Documentation

◆ NrMemberEpcGnbS1SapProvider< NrEpcGnbApplication >

allow NrMemberEpcGnbS1SapProvider<NrEpcGnbApplication> class friend access

Definition at line 1 of file nr-epc-gnb-application.h.

Referenced by NrEpcGnbApplication().

◆ NrMemberEpcS1apSapGnb< NrEpcGnbApplication >

allow NrMemberEpcS1apSapGnb<NrEpcGnbApplication> class friend access

Definition at line 1 of file nr-epc-gnb-application.h.

Referenced by NrEpcGnbApplication().


The documentation for this class was generated from the following files: