gprs_ns2: Add comments explaining the nsvc->sns_only field
Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 4d27333..3574f28 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -1422,6 +1422,9 @@
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 29717c6..b4d0a0d 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -220,6 +220,7 @@
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 11c5a8e..51e4e9e 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -914,6 +914,9 @@
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;
}