![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
#include "introspected-doxygen.h"
Public Types | |
enum | State { OFF = 0 , ATTACHING , IDLE_REGISTERED , CONNECTING_TO_EPC , ACTIVE , NUM_STATES } |
typedef void(* | StateTracedCallback) (const State oldState, const State newState) |
Public Member Functions | |
NrEpcUeNas () | |
~NrEpcUeNas () override | |
void | ActivateEpsBearer (NrEpsBearer bearer, Ptr< NrEpcTft > tft) |
void | Connect () |
Causes NAS to tell AS to go to ACTIVE state. | |
void | Connect (uint16_t cellId, uint32_t dlEarfcn) |
Causes NAS to tell AS to camp to a specific cell and go to ACTIVE state. | |
void | Disconnect () |
void | DoDispose () override |
NrAsSapUser * | GetAsSapUser () |
uint32_t | GetCsgId () const |
State | GetState () const |
bool | Send (Ptr< Packet > p, uint16_t protocolNumber) |
void | SetAsSapProvider (NrAsSapProvider *s) |
void | SetCsgId (uint32_t csgId) |
void | SetDevice (Ptr< NetDevice > dev) |
void | SetForwardUpCallback (Callback< void, Ptr< Packet > > cb) |
void | SetImsi (uint64_t imsi) |
void | StartCellSelection (uint32_t dlEarfcn) |
Causes NAS to tell AS to find a suitable cell and camp to it. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Friends | |
class | MemberNrAsSapUser< NrEpcUeNas > |
allow MemberNrAsSapUser<NrEpcUeNas> class friend access | |
ns3::NrEpcUeNas is accessible through the following paths with Config::Set and Config::Connect:
/NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/NrEpcUeNas
/NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/NrEpcUeNas
No Attributes are defined for this type.
Size of this type is 288 bytes (on a 64-bit architecture).
Definition at line 23 of file nr-epc-ue-nas.h.
TracedCallback signature for state change events.
[in] | oldState | The old State. |
[in] | newState | the new State. |
Definition at line 169 of file nr-epc-ue-nas.h.
Definition of NAS states as per "LTE - From theory to practice", Section 3.2.3.2 "Connection Establishment and Release"
Definition at line 148 of file nr-epc-ue-nas.h.
ns3::NrEpcUeNas::NrEpcUeNas | ( | ) |
Constructor
Definition at line 42 of file nr-epc-ue-nas.cc.
References MemberNrAsSapUser< NrEpcUeNas >.
|
override |
Destructor
Definition at line 52 of file nr-epc-ue-nas.cc.
void ns3::NrEpcUeNas::ActivateEpsBearer | ( | NrEpsBearer | bearer, |
Ptr< NrEpcTft > | tft | ||
) |
Activate an EPS bearer
bearer | the characteristics of the bearer to be created |
tft | the TFT identifying the traffic that will go on this bearer |
Definition at line 166 of file nr-epc-ue-nas.cc.
Referenced by ns3::NrNoBackhaulEpcHelper::DoActivateEpsBearerForUe().
void ns3::NrEpcUeNas::Connect | ( | ) |
Causes NAS to tell AS to go to ACTIVE state.
The end result is equivalent with EMM Registered + ECM Connected states.
Definition at line 137 of file nr-epc-ue-nas.cc.
References ns3::NrAsSapProvider::Connect().
void ns3::NrEpcUeNas::Connect | ( | uint16_t | cellId, |
uint32_t | dlEarfcn | ||
) |
Causes NAS to tell AS to camp to a specific cell and go to ACTIVE state.
cellId | the id of the gNB to camp on |
dlEarfcn | the DL frequency of the gNB |
The end result is equivalent with EMM Registered + ECM Connected states. Since RRC Idle Mode cell selection is not supported yet, we force the UE RRC to be camped on a specific gNB.
Definition at line 146 of file nr-epc-ue-nas.cc.
References ns3::NrAsSapProvider::Connect(), and ns3::NrAsSapProvider::ForceCampedOnGnb().
void ns3::NrEpcUeNas::Disconnect | ( | ) |
instruct the NAS to disconnect
Definition at line 158 of file nr-epc-ue-nas.cc.
References ns3::NrAsSapProvider::Disconnect().
|
override |
Definition at line 58 of file nr-epc-ue-nas.cc.
NrAsSapUser * ns3::NrEpcUeNas::GetAsSapUser | ( | ) |
Definition at line 116 of file nr-epc-ue-nas.cc.
uint32_t ns3::NrEpcUeNas::GetCsgId | ( | ) | const |
Definition at line 102 of file nr-epc-ue-nas.cc.
NrEpcUeNas::State ns3::NrEpcUeNas::GetState | ( | ) | const |
Definition at line 265 of file nr-epc-ue-nas.cc.
|
static |
bool ns3::NrEpcUeNas::Send | ( | Ptr< Packet > | p, |
uint16_t | protocolNumber | ||
) |
Enqueue an IP packet on the proper bearer for uplink transmission
p | the packet |
protocolNumber | the protocol number of the packet |
Definition at line 187 of file nr-epc-ue-nas.cc.
References ns3::NrEpcTftClassifier::Classify(), and ns3::NrAsSapProvider::SendData().
void ns3::NrEpcUeNas::SetAsSapProvider | ( | NrAsSapProvider * | s | ) |
Set the AS SAP provider to interact with the NAS entity
s | the AS SAP provider |
Definition at line 109 of file nr-epc-ue-nas.cc.
void ns3::NrEpcUeNas::SetCsgId | ( | uint32_t | csgId | ) |
csgId | Closed Subscriber Group identity |
Definition at line 94 of file nr-epc-ue-nas.cc.
References ns3::NrAsSapProvider::SetCsgWhiteList().
void ns3::NrEpcUeNas::SetDevice | ( | Ptr< NetDevice > | dev | ) |
dev | the UE NetDevice |
Definition at line 80 of file nr-epc-ue-nas.cc.
void ns3::NrEpcUeNas::SetForwardUpCallback | ( | Callback< void, Ptr< Packet > > | cb | ) |
set the callback used to forward data packets up the stack
cb | the callback |
Definition at line 123 of file nr-epc-ue-nas.cc.
void ns3::NrEpcUeNas::SetImsi | ( | uint64_t | imsi | ) |
imsi | the unique UE identifier |
Definition at line 87 of file nr-epc-ue-nas.cc.
void ns3::NrEpcUeNas::StartCellSelection | ( | uint32_t | dlEarfcn | ) |
Causes NAS to tell AS to find a suitable cell and camp to it.
dlEarfcn | the DL frequency of the gNB |
Definition at line 130 of file nr-epc-ue-nas.cc.
References ns3::NrAsSapProvider::StartCellSelection().
|
friend |
allow MemberNrAsSapUser<NrEpcUeNas> class friend access
Definition at line 1 of file nr-epc-ue-nas.h.
Referenced by NrEpcUeNas().