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

#include "nr-epc-x2.h"

+ Inheritance diagram for ns3::NrEpcX2:
+ Collaboration diagram for ns3::NrEpcX2:

Public Member Functions

 NrEpcX2 ()
 
 ~NrEpcX2 () override
 
void AddX2Interface (uint16_t gnb1CellId, Ipv4Address gnb1X2Address, std::vector< uint16_t > gnb2CellIds, Ipv4Address gnb2X2Address)
 
void DoDispose () override
 
NrEpcX2SapProviderGetEpcX2SapProvider ()
 
void RecvFromX2cSocket (Ptr< Socket > socket)
 
void RecvFromX2uSocket (Ptr< Socket > socket)
 
void SetEpcX2SapUser (NrEpcX2SapUser *s)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Protected Member Functions

virtual void DoSendHandoverCancel (NrEpcX2SapProvider::HandoverCancelParams params)
 Send Handover Cancel function.
 
virtual void DoSendHandoverPreparationFailure (NrEpcX2SapProvider::HandoverPreparationFailureParams params)
 
virtual void DoSendHandoverRequest (NrEpcX2SapProvider::HandoverRequestParams params)
 
virtual void DoSendHandoverRequestAck (NrEpcX2SapProvider::HandoverRequestAckParams params)
 
virtual void DoSendLoadInformation (NrEpcX2SapProvider::LoadInformationParams params)
 
virtual void DoSendResourceStatusUpdate (NrEpcX2SapProvider::ResourceStatusUpdateParams params)
 
virtual void DoSendSnStatusTransfer (NrEpcX2SapProvider::SnStatusTransferParams params)
 
virtual void DoSendUeContextRelease (NrEpcX2SapProvider::UeContextReleaseParams params)
 
virtual void DoSendUeData (NrEpcX2SapProvider::UeDataParams params)
 

Protected Attributes

NrEpcX2SapProviderm_x2SapProvider
 X2 SAP provider.
 
NrEpcX2SapUserm_x2SapUser
 X2 SAP user.
 

Friends

class NrEpcX2SpecificEpcX2SapProvider< NrEpcX2 >
 allow NrEpcX2SpecificEpcX2SapProvider<NrEpcX2> class friend access
 

Detailed Description

This entity is installed inside an gNB and provides the functionality for the X2 interface

Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 176 bytes (on a 64-bit architecture).

Definition at line 85 of file nr-epc-x2.h.

Constructor & Destructor Documentation

◆ NrEpcX2()

ns3::NrEpcX2::NrEpcX2 ( )

Constructor

Definition at line 72 of file nr-epc-x2.cc.

References m_x2SapProvider, and NrEpcX2SpecificEpcX2SapProvider< NrEpcX2 >.

◆ ~NrEpcX2()

ns3::NrEpcX2::~NrEpcX2 ( )
override

Destructor

Definition at line 81 of file nr-epc-x2.cc.

Member Function Documentation

◆ AddX2Interface()

void ns3::NrEpcX2::AddX2Interface ( uint16_t  gnb1CellId,
Ipv4Address  gnb1X2Address,
std::vector< uint16_t >  gnb2CellIds,
Ipv4Address  gnb2X2Address 
)

Add an X2 interface to this EPC X2 entity

Parameters
gnb1CellIdthe cell ID of the current eNodeB
gnb1X2Addressthe address of the current eNodeB
gnb2CellIdsthe cell IDs of the neighbouring eNodeB
gnb2X2Addressthe address of the neighbouring eNodeB

Definition at line 118 of file nr-epc-x2.cc.

References RecvFromX2cSocket(), and RecvFromX2uSocket().

+ Here is the call graph for this function:

◆ DoDispose()

void ns3::NrEpcX2::DoDispose ( )
override

Definition at line 87 of file nr-epc-x2.cc.

◆ DoSendHandoverCancel()

◆ DoSendHandoverPreparationFailure()

◆ DoSendHandoverRequest()

◆ DoSendHandoverRequestAck()

◆ DoSendLoadInformation()

◆ DoSendResourceStatusUpdate()

◆ DoSendSnStatusTransfer()

◆ DoSendUeContextRelease()

◆ DoSendUeData()

void ns3::NrEpcX2::DoSendUeData ( NrEpcX2SapProvider::UeDataParams  params)
protectedvirtual

Send UE data function

Parameters
paramsNrEpcX2SapProvider::UeDataParams
Todo:
This should be done in NrGtpuHeader

Definition at line 750 of file nr-epc-x2.cc.

References ns3::NrEpcX2Sap::UeDataParams::gtpTeid, ns3::NrGtpuHeader::SetLength(), ns3::NrGtpuHeader::SetTeid(), ns3::NrEpcX2Sap::UeDataParams::sourceCellId, ns3::NrEpcX2Sap::UeDataParams::targetCellId, and ns3::NrEpcX2Sap::UeDataParams::ueData.

+ Here is the call graph for this function:

◆ GetEpcX2SapProvider()

NrEpcX2SapProvider * ns3::NrEpcX2::GetEpcX2SapProvider ( )
Returns
the X2 SAP Provider interface offered by this EPC X2 entity

Definition at line 111 of file nr-epc-x2.cc.

References m_x2SapProvider.

◆ GetTypeId()

TypeId ns3::NrEpcX2::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 97 of file nr-epc-x2.cc.

◆ RecvFromX2cSocket()

void ns3::NrEpcX2::RecvFromX2cSocket ( Ptr< Socket >  socket)

Method to be assigned to the recv callback of the X2-C (X2 Control Plane) socket. It is called when the gNB receives a packet from the peer gNB of the X2-C interface

Parameters
socketsocket of the X2-C interface

Definition at line 167 of file nr-epc-x2.cc.

References ns3::NrEpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::NrEpcX2Sap::HandoverRequestParams::bearers, ns3::NrEpcX2Sap::HandoverRequestParams::cause, ns3::NrEpcX2Sap::HandoverPreparationFailureParams::cause, ns3::NrEpcX2Sap::HandoverCancelParams::cause, ns3::NrEpcX2Sap::LoadInformationParams::cellInformationList, ns3::NrEpcX2Sap::ResourceStatusUpdateParams::cellMeasurementResultList, ns3::NrEpcX2Sap::HandoverPreparationFailureParams::criticalityDiagnostics, ns3::NrEpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, ns3::NrEpcX2HandoverRequestAckHeader::GetAdmittedBearers(), ns3::NrEpcX2HandoverRequestHeader::GetBearers(), ns3::NrEpcX2HandoverRequestHeader::GetCause(), ns3::NrEpcX2HandoverPreparationFailureHeader::GetCause(), ns3::NrEpcX2HandoverCancelHeader::GetCause(), ns3::NrEpcX2LoadInformationHeader::GetCellInformationList(), ns3::NrEpcX2ResourceStatusUpdateHeader::GetCellMeasurementResultList(), ns3::NrEpcX2HandoverPreparationFailureHeader::GetCriticalityDiagnostics(), ns3::NrEpcX2SnStatusTransferHeader::GetErabsSubjectToStatusTransferList(), ns3::NrEpcX2ResourceStatusUpdateHeader::GetGnb1MeasurementId(), ns3::NrEpcX2ResourceStatusUpdateHeader::GetGnb2MeasurementId(), ns3::NrEpcX2Header::GetMessageType(), ns3::NrEpcX2HandoverRequestHeader::GetMmeUeS1apId(), ns3::NrEpcX2HandoverRequestAckHeader::GetNewGnbUeX2apId(), ns3::NrEpcX2SnStatusTransferHeader::GetNewGnbUeX2apId(), ns3::NrEpcX2UeContextReleaseHeader::GetNewGnbUeX2apId(), ns3::NrEpcX2HandoverCancelHeader::GetNewGnbUeX2apId(), ns3::NrEpcX2HandoverRequestAckHeader::GetNotAdmittedBearers(), ns3::NrEpcX2HandoverRequestHeader::GetOldGnbUeX2apId(), ns3::NrEpcX2HandoverRequestAckHeader::GetOldGnbUeX2apId(), ns3::NrEpcX2HandoverPreparationFailureHeader::GetOldGnbUeX2apId(), ns3::NrEpcX2SnStatusTransferHeader::GetOldGnbUeX2apId(), ns3::NrEpcX2UeContextReleaseHeader::GetOldGnbUeX2apId(), ns3::NrEpcX2HandoverCancelHeader::GetOldGnbUeX2apId(), ns3::NrEpcX2Header::GetProcedureCode(), ns3::NrEpcX2HandoverRequestHeader::GetTargetCellId(), ns3::NrEpcX2HandoverRequestHeader::GetUeAggregateMaxBitRateDownlink(), ns3::NrEpcX2HandoverRequestHeader::GetUeAggregateMaxBitRateUplink(), ns3::NrEpcX2Sap::ResourceStatusUpdateParams::gnb1MeasurementId, ns3::NrEpcX2Sap::ResourceStatusUpdateParams::gnb2MeasurementId, m_x2SapUser, ns3::NrEpcX2Sap::HandoverRequestParams::mmeUeS1apId, ns3::NrEpcX2Sap::HandoverRequestAckParams::newGnbUeX2apId, ns3::NrEpcX2Sap::SnStatusTransferParams::newGnbUeX2apId, ns3::NrEpcX2Sap::UeContextReleaseParams::newGnbUeX2apId, ns3::NrEpcX2Sap::HandoverCancelParams::newGnbUeX2apId, ns3::NrEpcX2Sap::HandoverRequestAckParams::notAdmittedBearers, ns3::NrEpcX2Sap::HandoverRequestParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::HandoverRequestAckParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::HandoverPreparationFailureParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::SnStatusTransferParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::UeContextReleaseParams::oldGnbUeX2apId, ns3::NrEpcX2Sap::HandoverCancelParams::oldGnbUeX2apId, ns3::NrEpcX2SapUser::RecvHandoverCancel(), ns3::NrEpcX2SapUser::RecvHandoverPreparationFailure(), ns3::NrEpcX2SapUser::RecvHandoverRequest(), ns3::NrEpcX2SapUser::RecvHandoverRequestAck(), ns3::NrEpcX2SapUser::RecvLoadInformation(), ns3::NrEpcX2SapUser::RecvResourceStatusUpdate(), ns3::NrEpcX2SapUser::RecvSnStatusTransfer(), ns3::NrEpcX2SapUser::RecvUeContextRelease(), ns3::NrEpcX2Sap::HandoverRequestParams::rrcContext, ns3::NrEpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::NrEpcX2Sap::HandoverRequestParams::sourceCellId, ns3::NrEpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::NrEpcX2Sap::HandoverPreparationFailureParams::sourceCellId, ns3::NrEpcX2Sap::SnStatusTransferParams::sourceCellId, ns3::NrEpcX2Sap::HandoverCancelParams::sourceCellId, ns3::NrEpcX2Sap::HandoverRequestParams::targetCellId, ns3::NrEpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::NrEpcX2Sap::HandoverPreparationFailureParams::targetCellId, ns3::NrEpcX2Sap::SnStatusTransferParams::targetCellId, ns3::NrEpcX2Sap::ResourceStatusUpdateParams::targetCellId, ns3::NrEpcX2Sap::HandoverCancelParams::targetCellId, ns3::NrEpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateDownlink, and ns3::NrEpcX2Sap::HandoverRequestParams::ueAggregateMaxBitRateUplink.

Referenced by AddX2Interface().

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

◆ RecvFromX2uSocket()

void ns3::NrEpcX2::RecvFromX2uSocket ( Ptr< Socket >  socket)

Method to be assigned to the recv callback of the X2-U (X2 User Plane) socket. It is called when the gNB receives a packet from the peer gNB of the X2-U interface

Parameters
socketsocket of the X2-U interface

Definition at line 394 of file nr-epc-x2.cc.

References ns3::NrGtpuHeader::GetTeid(), ns3::NrEpcX2Sap::UeDataParams::gtpTeid, m_x2SapUser, ns3::NrEpcX2SapUser::RecvUeData(), ns3::NrEpcX2Sap::UeDataParams::sourceCellId, ns3::NrEpcX2Sap::UeDataParams::targetCellId, and ns3::NrEpcX2Sap::UeDataParams::ueData.

Referenced by AddX2Interface().

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

◆ SetEpcX2SapUser()

void ns3::NrEpcX2::SetEpcX2SapUser ( NrEpcX2SapUser s)
Parameters
sthe X2 SAP User to be used by this EPC X2 entity

Definition at line 104 of file nr-epc-x2.cc.

References m_x2SapUser.

Friends And Related Symbol Documentation

◆ NrEpcX2SpecificEpcX2SapProvider< NrEpcX2 >

friend class NrEpcX2SpecificEpcX2SapProvider< NrEpcX2 >
friend

allow NrEpcX2SpecificEpcX2SapProvider<NrEpcX2> class friend access

Definition at line 77 of file nr-epc-x2.h.

Referenced by NrEpcX2().

Member Data Documentation

◆ m_x2SapProvider

NrEpcX2SapProvider* ns3::NrEpcX2::m_x2SapProvider
protected

X2 SAP provider.

Definition at line 198 of file nr-epc-x2.h.

Referenced by NrEpcX2(), and GetEpcX2SapProvider().

◆ m_x2SapUser

NrEpcX2SapUser* ns3::NrEpcX2::m_x2SapUser
protected

X2 SAP user.

Definition at line 197 of file nr-epc-x2.h.

Referenced by RecvFromX2cSocket(), RecvFromX2uSocket(), and SetEpcX2SapUser().


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