aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-12-12 19:02:16 +0100
committerHarald Welte <laforge@osmocom.org>2020-12-12 19:12:18 +0100
commit9e917647aef4679b6fd6eabbe77651bb50b60da8 (patch)
tree252f5697b6bb1621e87df9e8eb0c9560d5f598c0 /include
parent784c59f87e6966ac3dc7e03fad2bbb9ceee8592a (diff)
gbproxy: Implement scaling of BVC flow control in SGSN pool
When there are multiple SGSNs inside a pool, we need to decide how much of the per-BVC capacity advertised by the BSS in its BVC-FLOW-CONTROL we should announce to each of the pool members. A conservative approach would be to advertise 1/num_sgsn, but there may also be use case where over-provisioning (announcing more than an equal share of the capacity) is useful. Hence, let's introduce "pool bvc-flow-control-ratio <1-100>" in order to allow the administrator to decide. Related: OS#4891 Change-Id: Ibe5addf657e7237499ca0205bacfe999ecd1e771
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/sgsn/gb_proxy.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h
index 8892cf4df..200a539e6 100644
--- a/include/osmocom/sgsn/gb_proxy.h
+++ b/include/osmocom/sgsn/gb_proxy.h
@@ -52,6 +52,11 @@ struct gbproxy_config {
/* NS instance of libosmogb */
struct gprs_ns2_inst *nsi;
+ struct {
+ /* percentage of BVC flow control advertised to each SGSN in the pool */
+ uint8_t bvc_fc_ratio;
+ } pool;
+
/* Linked list of all BSS side Gb peers */
DECLARE_HASHTABLE(bss_nses, 8);