From 18fd648b80a1d882ba440867a681a1b68c8f9406 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 5 Mar 2021 08:09:08 +0100 Subject: gprs_ns2: Add comments explaining the nsvc->sns_only field Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd --- src/gb/gprs_ns2.c | 3 +++ src/gb/gprs_ns2_internal.h | 1 + src/gb/gprs_ns2_sns.c | 3 +++ 3 files changed, 7 insertions(+) diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 39988c02..481dbb4c 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1422,6 +1422,9 @@ void gprs_ns2_start_alive_all_nsvcs(struct gprs_ns2_nse *nse) OSMO_ASSERT(nse); llist_for_each_entry(nsvc, &nse->nsvc, list) { + /* A pre-configured endpoint shall not be used for NSE data or signalling traffic + * (with the exception of Size and Configuration procedures) unless it is + * configured by the SGSN using the auto-configuration procedures */ if (nsvc->sns_only) continue; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 97886526..efca8614 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -220,6 +220,7 @@ struct gprs_ns2_vc { void *priv; bool nsvci_is_valid; + /*! should this NS-VC only be used for SNS-SIZE and SNS-CONFIG? */ bool sns_only; struct rate_ctr_group *ctrg; diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 11c5a8ea..51e4e9e3 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -914,6 +914,9 @@ static void ns2_sns_st_bss_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_s gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); if (!gss->sns_nsvc) return; + /* A pre-configured endpoint shall not be used for NSE data or signalling traffic + * (with the exception of Size and Configuration procedures) unless it is configured + * by the SGSN using the auto-configuration procedures */ gss->sns_nsvc->sns_only = true; } -- cgit v1.2.3