Save NSSAI params from AMF

The NSSAI of PDU sessions coming from AMF are stored in RRC to be sent to lower layers
This commit is contained in:
Sakthivel Velumani
2023-10-31 12:41:50 -04:00
parent 82597e7e8f
commit 279a55c976
7 changed files with 41 additions and 53 deletions
+1 -4
View File
@@ -59,10 +59,7 @@ typedef struct PLMN_ID_s {
int mnc_digit_length;
} PLMN_ID_t;
typedef struct e1ap_nssai_t {
uint8_t sst;
uint32_t sd; // optional: "No SD" is 0xffffff, see 23.003 Sec 28.4.2
} e1ap_nssai_t;
typedef nssai_t e1ap_nssai_t;
typedef struct e1ap_net_config_t {
net_ip_address_t CUUP_e1_ip_address;
+10 -10
View File
@@ -194,6 +194,11 @@ typedef enum ngap_rrc_establishment_cause_e {
NGAP_RRC_CAUSE_LAST
} ngap_rrc_establishment_cause_t;
typedef struct nssai_s {
uint8_t sst;
uint32_t sd;
} nssai_t;
typedef struct pdusession_level_qos_parameter_s {
uint8_t qfi;
uint64_t fiveQI;
@@ -210,12 +215,6 @@ typedef struct ngap_guami_s {
uint8_t amf_pointer;
} ngap_guami_t;
typedef struct ngap_allowed_NSSAI_s{
uint8_t sST;
uint8_t sD_flag;
uint8_t sD[3];
}ngap_allowed_NSSAI_t;
typedef struct fiveg_s_tmsi_s {
uint16_t amf_set_id;
uint8_t amf_pointer;
@@ -282,6 +281,7 @@ typedef struct pdusession_s {
transport_layer_addr_t gNB_addr_N3;
uint32_t UPF_teid_N3;
transport_layer_addr_t UPF_addr_N3;
nssai_t nssai;
} pdusession_t;
typedef enum pdusession_qosflow_mapping_ind_e{
@@ -452,8 +452,8 @@ typedef struct ngap_register_gnb_req_s {
uint8_t mnc_digit_length[PLMN_LIST_MAX_SIZE];
uint8_t num_plmn;
uint16_t num_nssai[PLMN_LIST_MAX_SIZE];
ngap_allowed_NSSAI_t s_nssai[PLMN_LIST_MAX_SIZE][8];
uint16_t num_nssai[PLMN_LIST_MAX_SIZE];
nssai_t s_nssai[PLMN_LIST_MAX_SIZE][8];
/* Default Paging DRX of the gNB as defined in TS 38.304 */
ngap_paging_drx_t default_drx;
@@ -601,7 +601,7 @@ typedef struct ngap_initial_context_setup_req_s {
/* allowed nssai */
uint8_t nb_allowed_nssais;
ngap_allowed_NSSAI_t allowed_nssai[8];
nssai_t allowed_nssai[8];
/* Security algorithms */
ngap_security_capabilities_t security_capabilities;
@@ -662,7 +662,7 @@ typedef struct ngap_pdusession_setup_req_s {
/* S-NSSAI */
// Fixme: illogical, nssai is part of each pdu session
ngap_allowed_NSSAI_t allowed_nssai[8];
nssai_t allowed_nssai[8];
/* Number of pdusession to be setup in the list */
uint8_t nb_pdusessions_tosetup;