5G-LENA nr-v4.0-29-g6d8085cd
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrEpsBearer Class Reference

This class contains the specification of EPS Bearers. More...

#include "nr-eps-bearer.h"

+ Inheritance diagram for ns3::NrEpsBearer:
+ Collaboration diagram for ns3::NrEpsBearer:

Public Types

enum  Qci : uint8_t {
  GBR_CONV_VOICE = 1 , GBR_CONV_VIDEO = 2 , GBR_GAMING = 3 , GBR_NON_CONV_VIDEO = 4 ,
  GBR_MC_PUSH_TO_TALK = 65 , GBR_NMC_PUSH_TO_TALK = 66 , GBR_MC_VIDEO = 67 , GBR_V2X = 75 ,
  GBR_LIVE_UL_71 = 71 , GBR_LIVE_UL_72 = 72 , GBR_LIVE_UL_73 = 73 , GBR_LIVE_UL_74 = 74 ,
  GBR_LIVE_UL_76 = 76 , NGBR_IMS = 5 , NGBR_VIDEO_TCP_OPERATOR , NGBR_VOICE_VIDEO_GAMING = 7 ,
  NGBR_VIDEO_TCP_PREMIUM , NGBR_VIDEO_TCP_DEFAULT , NGBR_MC_DELAY_SIGNAL , NGBR_MC_DATA = 70 ,
  NGBR_V2X = 79 , NGBR_LOW_LAT_EMBB = 80 , DGBR_DISCRETE_AUT_SMALL , DGBR_DISCRETE_AUT_LARGE ,
  DGBR_ITS = 84 , DGBR_ELECTRICITY , DGBR_V2X = 86 , DGBR_INTER_SERV_87 ,
  DGBR_INTER_SERV_88 , DGBR_VISUAL_CONTENT_89 , DGBR_VISUAL_CONTENT_90
}
 

Public Member Functions

 NrEpsBearer ()
 
 NrEpsBearer (const NrEpsBearer &o)
 NrEpsBearer copy constructor.
 
 NrEpsBearer (Qci x)
 
 NrEpsBearer (Qci x, NrGbrQosInformation y)
 
 ~NrEpsBearer () override
 Deconstructor.
 
TypeId GetInstanceTypeId () const override
 
uint16_t GetPacketDelayBudgetMs () const
 
double GetPacketErrorLossRate () const
 
uint8_t GetPriority () const
 
uint8_t GetRelease () const
 GetRelease.
 
uint8_t GetResourceType () const
 
void SetRelease (uint8_t release)
 SetRelease.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Public Attributes

NrAllocationRetentionPriority arp
 allocation retention priority
 
NrGbrQosInformation gbrQosInfo
 GBR QOS information.
 
Qci qci
 Qos class indicator.
 

Detailed Description

This class contains the specification of EPS Bearers.

See the following references: 3GPP TS 23.203, Section 4.7.2 The EPS bearer 3GPP TS 23.203, Section 4.7.3 Bearer level QoS parameters 3GPP TS 36.413 Section 9.2.1.15 E-RAB Level QoS Parameters

It supports the selection of different specifications depending on the release. To change the release, change the attribute "Release". Please remember that we must expose to all releases the most recent Qci. Asking for Qci parameters for a release in which it has not been created will result in a crash.

For example, if you select Release 11 (or if you don't select anything, as it is the default selection) and then ask for the packet error rate of the NGBR_MC_DELAY_SIGNAL Qci, the program will crash.

Please note that from Release 8 (the latest when the LENA project finished) to Release 11, the bearers ID and requirements are the same. From Release 12, they started to change, and the latest version is now Release 18. However, we do not support intermediate types between releases 11 and 15: in other words, you can select from Release 8 to Release 11, or Release 15 or 18. Any other value will result in a program crash.

The release version only affect Bearer definitions. Other part of the LTE module are not affected when changing the Release attribute.

Introspection did not find any typical Config paths.

Attributes

  • Release: Change from 11 to 18 if you need bearer definition as per newer Releases. Reference document: TS 23.203. The change does not impact other LTE code than bearers definition.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 11
    • Flags: construct write read

No TraceSources are defined for this type.
Size of this type is 120 bytes (on a 64-bit architecture).

Definition at line 77 of file nr-eps-bearer.h.

Member Enumeration Documentation

◆ Qci

enum ns3::NrEpsBearer::Qci : uint8_t

QoS Class Indicator. See 3GPP 23.203 Section 6.1.7.2 for standard values. Updated to Release 18.

Enumerator
GBR_CONV_VOICE 

GBR Conversational Voice.

GBR_CONV_VIDEO 

GBR Conversational Video (Live streaming)

GBR_GAMING 

GBR Real Time Gaming.

GBR_NON_CONV_VIDEO 

GBR Non-Conversational Video (Buffered Streaming)

GBR_MC_PUSH_TO_TALK 

GBR Mission Critical User Plane Push To Talk voice.

GBR_NMC_PUSH_TO_TALK 

GBR Non-Mission-Critical User Plane Push To Talk voice.

GBR_MC_VIDEO 

GBR Mission Critical Video User Plane.

GBR_V2X 

GBR V2X Messages.

GBR_LIVE_UL_71 

GBR Live UL streaming.

GBR_LIVE_UL_72 

GBR Live UL streaming.

GBR_LIVE_UL_73 

GBR Live UL streaming.

GBR_LIVE_UL_74 

GBR Live UL streaming.

GBR_LIVE_UL_76 

GBR Live UL streaming.

NGBR_IMS 

Non-GBR IMS Signalling.

NGBR_VIDEO_TCP_OPERATOR 

Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)

NGBR_VOICE_VIDEO_GAMING 

Non-GBR Voice, Video, Interactive Streaming.

NGBR_VIDEO_TCP_PREMIUM 

Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)

NGBR_VIDEO_TCP_DEFAULT 

Non-GBR TCP-based Video (Buffered Streaming, e.g., www, e-mail...)

NGBR_MC_DELAY_SIGNAL 

Non-GBR Mission Critical Delay Sensitive Signalling (e.g., MC-PTT)

NGBR_MC_DATA 

Non-GBR Mission Critical Data.

NGBR_V2X 

Non-GBR V2X Messages.

NGBR_LOW_LAT_EMBB 

Non-GBR Low Latency eMBB applications.

DGBR_DISCRETE_AUT_SMALL 

Delay-Critical GBR Discrete Automation Small Packets (TS 22.261)

DGBR_DISCRETE_AUT_LARGE 

Delay-Critical GBR Discrete Automation Large Packets (TS 22.261)

DGBR_ITS 

Delay-Critical GBR Intelligent Transport Systems (TS 22.261)

DGBR_ELECTRICITY 

Delay-Critical GBR Electricity Distribution High Voltage (TS 22.261)

DGBR_V2X 

Delay-Critical GBR V2X Messages (TS 23.501)

DGBR_INTER_SERV_87 

Delay-Critical GBR Interactive Service - Motion tracking data (TS 23.501)

DGBR_INTER_SERV_88 

Delay-Critical GBR Interactive Service - Motion tracking data (TS 23.501)

DGBR_VISUAL_CONTENT_89 

Delay-Critical GBR Visual Content for cloud/edge/split rendering (TS 23.501)

DGBR_VISUAL_CONTENT_90 

Delay-Critical GBR Visual Content for cloud/edge/split rendering (TS 23.501)

Definition at line 92 of file nr-eps-bearer.h.

Constructor & Destructor Documentation

◆ NrEpsBearer() [1/4]

ns3::NrEpsBearer::NrEpsBearer ( )

Default constructor. QCI will be initialized to NGBR_VIDEO_TCP_DEFAULT

Definition at line 57 of file nr-eps-bearer.cc.

◆ NrEpsBearer() [2/4]

ns3::NrEpsBearer::NrEpsBearer ( Qci  x)
Parameters
xthe QoS Class Indicator

Definition at line 64 of file nr-eps-bearer.cc.

◆ NrEpsBearer() [3/4]

ns3::NrEpsBearer::NrEpsBearer ( Qci  x,
NrGbrQosInformation  y 
)
Parameters
xthe QoS Class Indicator
ythe NrGbrQosInformation

Definition at line 71 of file nr-eps-bearer.cc.

◆ NrEpsBearer() [4/4]

ns3::NrEpsBearer::NrEpsBearer ( const NrEpsBearer o)

NrEpsBearer copy constructor.

Parameters
oother instance

Definition at line 79 of file nr-eps-bearer.cc.

References gbrQosInfo, and qci.

◆ ~NrEpsBearer()

ns3::NrEpsBearer::~NrEpsBearer ( )
inlineoverride

Deconstructor.

Definition at line 173 of file nr-eps-bearer.h.

Member Function Documentation

◆ GetInstanceTypeId()

TypeId ns3::NrEpsBearer::GetInstanceTypeId ( ) const
override

Definition at line 52 of file nr-eps-bearer.cc.

◆ GetPacketDelayBudgetMs()

uint16_t ns3::NrEpsBearer::GetPacketDelayBudgetMs ( ) const
Returns
the packet delay budget associated with the QCI of this bearer as per 3GPP 23.203 Section 6.1.7.2

Definition at line 125 of file nr-eps-bearer.cc.

References GetPacketDelayBudgetMs(), and qci.

Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), GetPacketDelayBudgetMs(), and ns3::NrUeManager::SetupDataRadioBearer().

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

◆ GetPacketErrorLossRate()

double ns3::NrEpsBearer::GetPacketErrorLossRate ( ) const
Returns
the packet error loss rate associated with the QCI of this bearer as per 3GPP 23.203 Section 6.1.7.2

Definition at line 131 of file nr-eps-bearer.cc.

References GetPacketErrorLossRate(), and qci.

Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), and GetPacketErrorLossRate().

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

◆ GetPriority()

uint8_t ns3::NrEpsBearer::GetPriority ( ) const
Returns
the priority associated with the QCI of this bearer as per 3GPP 23.203 Section 6.1.7.2

Definition at line 119 of file nr-eps-bearer.cc.

References GetPriority(), and qci.

Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), and GetPriority().

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

◆ GetRelease()

uint8_t ns3::NrEpsBearer::GetRelease ( ) const
inline

GetRelease.

Returns
The release currently set for this bearer type

Definition at line 195 of file nr-eps-bearer.h.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetResourceType()

uint8_t ns3::NrEpsBearer::GetResourceType ( ) const
Returns
the resource type (NON-GBR, GBR, DC-GBR) of the selected QCI

Definition at line 113 of file nr-eps-bearer.cc.

References GetResourceType(), and qci.

Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), ns3::NrNoOpComponentCarrierManager::DoSetupDataRadioBearer(), GetResourceType(), and ns3::NrUeManager::SetupDataRadioBearer().

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

◆ GetTypeId()

TypeId ns3::NrEpsBearer::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 33 of file nr-eps-bearer.cc.

References GetRelease(), and SetRelease().

+ Here is the call graph for this function:

◆ SetRelease()

void ns3::NrEpsBearer::SetRelease ( uint8_t  release)

SetRelease.

Parameters
releaseThe release the user want for this bearer

Releases introduces new types, and change values for existing ones. While we can't do much for the added type (we must expose them even if the user want to work with older releases) by calling this method we can, at least, select the specific parameters value the bearer returns.

For instance, if the user select release 10 (the default) the priority of CONV_VIDEO will be 2. With release 15, such priority will be 20.

Definition at line 88 of file nr-eps-bearer.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ arp

NrAllocationRetentionPriority ns3::NrEpsBearer::arp

allocation retention priority

Definition at line 141 of file nr-eps-bearer.h.

◆ gbrQosInfo

◆ qci


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