![]() |
5G-LENA nr-v4.0-29-g6d8085cd
The 5G/NR module for the ns-3 simulator
|
This class contains the specification of EPS Bearers. More...
#include "nr-eps-bearer.h"
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. | |
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.
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.
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.
Definition at line 92 of file nr-eps-bearer.h.
ns3::NrEpsBearer::NrEpsBearer | ( | ) |
Default constructor. QCI will be initialized to NGBR_VIDEO_TCP_DEFAULT
Definition at line 57 of file nr-eps-bearer.cc.
ns3::NrEpsBearer::NrEpsBearer | ( | Qci | x | ) |
x | the QoS Class Indicator |
Definition at line 64 of file nr-eps-bearer.cc.
ns3::NrEpsBearer::NrEpsBearer | ( | Qci | x, |
NrGbrQosInformation | y | ||
) |
x | the QoS Class Indicator |
y | the NrGbrQosInformation |
Definition at line 71 of file nr-eps-bearer.cc.
ns3::NrEpsBearer::NrEpsBearer | ( | const NrEpsBearer & | o | ) |
NrEpsBearer copy constructor.
o | other instance |
Definition at line 79 of file nr-eps-bearer.cc.
References gbrQosInfo, and qci.
|
inlineoverride |
Deconstructor.
Definition at line 173 of file nr-eps-bearer.h.
|
override |
Definition at line 52 of file nr-eps-bearer.cc.
uint16_t ns3::NrEpsBearer::GetPacketDelayBudgetMs | ( | ) | const |
Definition at line 125 of file nr-eps-bearer.cc.
References GetPacketDelayBudgetMs(), and qci.
Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), GetPacketDelayBudgetMs(), and ns3::NrUeManager::SetupDataRadioBearer().
double ns3::NrEpsBearer::GetPacketErrorLossRate | ( | ) | const |
Definition at line 131 of file nr-eps-bearer.cc.
References GetPacketErrorLossRate(), and qci.
Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), and GetPacketErrorLossRate().
uint8_t ns3::NrEpsBearer::GetPriority | ( | ) | const |
Definition at line 119 of file nr-eps-bearer.cc.
References GetPriority(), and qci.
Referenced by ns3::NrMacSchedulerLC::NrMacSchedulerLC(), and GetPriority().
|
inline |
GetRelease.
Definition at line 195 of file nr-eps-bearer.h.
Referenced by GetTypeId().
uint8_t ns3::NrEpsBearer::GetResourceType | ( | ) | const |
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().
|
static |
Get the type ID.
Definition at line 33 of file nr-eps-bearer.cc.
References GetRelease(), and SetRelease().
void ns3::NrEpsBearer::SetRelease | ( | uint8_t | release | ) |
SetRelease.
release | The 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().
NrAllocationRetentionPriority ns3::NrEpsBearer::arp |
allocation retention priority
Definition at line 141 of file nr-eps-bearer.h.
NrGbrQosInformation ns3::NrEpsBearer::gbrQosInfo |
GBR QOS information.
Definition at line 140 of file nr-eps-bearer.h.
Referenced by NrEpsBearer(), ns3::NrGtpcIes::DeserializeBearerQos(), ns3::NrNoOpComponentCarrierManager::DoSetupDataRadioBearer(), ns3::NrGtpcIes::SerializeBearerQos(), and ns3::NrUeManager::SetupDataRadioBearer().
Qci ns3::NrEpsBearer::qci |
Qos class indicator.
Definition at line 138 of file nr-eps-bearer.h.
Referenced by NrEpsBearer(), ns3::NrGtpcIes::DeserializeBearerQos(), ns3::NrNoOpComponentCarrierManager::DoSetupDataRadioBearer(), GetPacketDelayBudgetMs(), GetPacketErrorLossRate(), GetPriority(), GetResourceType(), and ns3::NrGtpcIes::SerializeBearerQos().