forked from acouzens/open5gs
conf: Add ignore_requested_nssai parameter (#859)
If parameter.ignore_requsted_nssai is true, AMF will ignore the UE Requested NSSAI and create an allowed-NSSAI based on the Default S-NSSAI in the Subscription DB.
This commit is contained in:
parent
b22023afb8
commit
6ab5c41af5
|
@ -254,11 +254,9 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
# o AMF ignores the UE Requested NSSAI and creates an allowed-NSSAI
|
||||
# based on the Default S-NSSAI in the Subscription DB.
|
||||
# ignore_requested_nssai: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
|
|
|
@ -126,12 +126,6 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -41,12 +41,6 @@ hss:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -347,12 +347,6 @@ smf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
# o Use OAI UE
|
||||
# - Remove HashMME in Security-mode command message
|
||||
# - Use the length 1 of EPS network feature support in Attach accept message
|
||||
|
|
|
@ -87,12 +87,6 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -168,12 +168,6 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -128,12 +128,6 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -40,12 +40,6 @@ pcrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
# o Legacy support for pre-release LTE 11 devices to do calling
|
||||
# - Replace IPv4/v6 local addr field in AAR Media-Subcomponent AVP by any
|
||||
# no_ipv4v6_local_addr_in_packet_filter: true
|
||||
|
|
|
@ -126,12 +126,6 @@ sgwu:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -113,12 +113,6 @@ sgwc:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -444,12 +444,6 @@ upf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -126,12 +126,6 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -128,12 +128,6 @@ nrf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -172,13 +172,6 @@ smf:
|
|||
# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
|
||||
# prefer_ipv4: true
|
||||
#
|
||||
# o Enable Multicast traffic to the UE
|
||||
# multicast: true
|
||||
#
|
||||
# o Disable Stateless Address Autoconfiguration for IPv6
|
||||
# no_slaac: true
|
||||
#
|
||||
#
|
||||
parameter:
|
||||
|
||||
#
|
||||
|
|
|
@ -339,6 +339,9 @@ int ogs_app_context_parse_config(void)
|
|||
parameter_key, "no_ipv4v6_local_addr_in_packet_filter")) {
|
||||
self.parameter.no_ipv4v6_local_addr_in_packet_filter =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
} else if (!strcmp(parameter_key, "ignore_requested_nssai")) {
|
||||
self.parameter.ignore_requested_nssai =
|
||||
ogs_yaml_iter_bool(¶meter_iter);
|
||||
} else
|
||||
ogs_warn("unknown key `%s`", parameter_key);
|
||||
}
|
||||
|
|
|
@ -75,6 +75,7 @@ typedef struct ogs_app_context_s {
|
|||
|
||||
int use_openair;
|
||||
int no_ipv4v6_local_addr_in_packet_filter;
|
||||
int ignore_requested_nssai;
|
||||
} parameter;
|
||||
|
||||
ogs_sockopt_t sockopt;
|
||||
|
|
|
@ -258,7 +258,7 @@ int ogs_nas_parse_nssai(
|
|||
|
||||
if (!nas_nssai->length) {
|
||||
ogs_error("No NSSAI [%p:%d]", nas_nssai->buffer, nas_nssai->length);
|
||||
return OGS_ERROR;
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (pos < nas_nssai->length &&
|
||||
|
|
|
@ -239,7 +239,8 @@ int gmm_handle_registration_update(amf_ue_t *amf_ue,
|
|||
}
|
||||
|
||||
if (i == amf_ue->requested_nssai.num_of_s_nssai) {
|
||||
ogs_error("CHECK CONFIGURATION: Cannot find Requested NSSAI");
|
||||
ogs_error("Cannot find Requested NSSAI [%d]",
|
||||
amf_ue->requested_nssai.num_of_s_nssai);
|
||||
for (i = 0; i < amf_ue->requested_nssai.num_of_s_nssai; i++) {
|
||||
ogs_error(" PLMN_ID[MCC:%d MNC:%d]",
|
||||
ogs_plmn_id_mcc(&amf_ue->nr_tai.plmn_id),
|
||||
|
|
|
@ -165,7 +165,8 @@ int amf_nudm_sdm_handle_provisioned(
|
|||
amf_ue->allowed_nssai.num_of_s_nssai = 0;
|
||||
amf_ue->rejected_nssai.num_of_s_nssai = 0;
|
||||
|
||||
if (amf_ue->requested_nssai.num_of_s_nssai) {
|
||||
if (ogs_app()->parameter.ignore_requested_nssai == 0 &&
|
||||
amf_ue->requested_nssai.num_of_s_nssai) {
|
||||
for (i = 0; i < amf_ue->requested_nssai.num_of_s_nssai; i++) {
|
||||
ogs_slice_data_t *slice = NULL;
|
||||
ogs_nas_s_nssai_ie_t *requested =
|
||||
|
@ -224,12 +225,26 @@ int amf_nudm_sdm_handle_provisioned(
|
|||
if (amf_ue->allowed_nssai.num_of_s_nssai) {
|
||||
amf_ue->allowed_nssai_present = true;
|
||||
} else {
|
||||
ogs_error("CHECK DATABASE: Cannot create Allowed-NSSAI");
|
||||
ogs_error("No Allowed-NSSAI");
|
||||
ogs_error(" Number of Subscribed S-NSSAI [%d]",
|
||||
amf_ue->num_of_slice);
|
||||
for (i = 0; i < amf_ue->num_of_slice; i++) {
|
||||
ogs_slice_data_t *slice = &amf_ue->slice[i];
|
||||
if (slice->default_indicator == true) {
|
||||
ogs_error(" Default S_NSSAI[SST:%d SD:0x%x]",
|
||||
slice->s_nssai.sst, slice->s_nssai.sd.v);
|
||||
} else {
|
||||
ogs_error(" S_NSSAI[SST:%d SD:0x%x]",
|
||||
slice->s_nssai.sst, slice->s_nssai.sd.v);
|
||||
}
|
||||
}
|
||||
ogs_error(" Number of Requested NSSAI [%d]",
|
||||
amf_ue->requested_nssai.num_of_s_nssai);
|
||||
for (i = 0; i < amf_ue->requested_nssai.num_of_s_nssai; i++) {
|
||||
ogs_error(" PLMN_ID[MCC:%d MNC:%d]",
|
||||
ogs_error(" PLMN_ID[MCC:%d MNC:%d]",
|
||||
ogs_plmn_id_mcc(&amf_ue->nr_tai.plmn_id),
|
||||
ogs_plmn_id_mnc(&amf_ue->nr_tai.plmn_id));
|
||||
ogs_error(" S_NSSAI[SST:%d SD:0x%x]",
|
||||
ogs_error(" S_NSSAI[SST:%d SD:0x%x]",
|
||||
amf_ue->requested_nssai.s_nssai[i].sst,
|
||||
amf_ue->requested_nssai.s_nssai[i].sd.v);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue