aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-03-04 18:02:54 +0100
committerHarald Welte <laforge@osmocom.org>2021-03-23 15:23:00 +0100
commit8db83e28153f498129990f439b9d4251b3bbec45 (patch)
tree3c1330127d61d18e4fac71bf6e277feb0acca496
parent7d6207e0ae6945a831d9b1d9e286c773c20da6dc (diff)
gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC
It is the SGSN's job to ensure sufficient NS-VC capacity. As the SGSN doesn't tell the BSS, we should not make assumptions of only 4. Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b
-rw-r--r--src/gb/gprs_ns2_sns.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index ec48edac..1af96319 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -812,7 +812,6 @@ static void ns2_sns_compute_local_ep_from_binds(struct osmo_fsm_inst *fi)
}
gss->num_ip4_local = count;
- gss->num_max_ip4_remote = 4;
gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->num_ip4_local, 8);
break;
case IPv6:
@@ -849,7 +848,6 @@ static void ns2_sns_compute_local_ep_from_binds(struct osmo_fsm_inst *fi)
ip6_elems++;
}
gss->num_ip6_local = count;
- gss->num_max_ip6_remote = 4;
gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8);
break;
}
@@ -1560,6 +1558,9 @@ struct osmo_fsm_inst *ns2_sns_bss_fsm_alloc(struct gprs_ns2_nse *nse,
fi->priv = gss;
gss->nse = nse;
gss->role = GPRS_SNS_ROLE_BSS;
+ /* The SGSN doesn't tell the BSS, so we assume there's always sufficient */
+ gss->num_max_ip4_remote = 8192;
+ gss->num_max_ip6_remote = 8192;
INIT_LLIST_HEAD(&gss->sns_endpoints);
INIT_LLIST_HEAD(&gss->binds);