Bug #4891

gbproxy2: Implement processing of BVC-Flow-Control via BVC FSM

Added by laforge 3 months ago. Updated 3 months ago.

In Progress
Target version:
Start date:
Due date:
% Done:


Spec Reference:


This is a FIXME in the new post-rewrite, pool-capable gbproxy code base

flow-control-50.pcapng flow-control-50.pcapng 1.97 KB laforge, 12/12/2020 06:15 PM

Related issues

Related to osmo-gbproxy - Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling)In Progress03/29/2020

Associated revisions

Revision 4394bb96 (diff)
Added by laforge 3 months ago

bssgp2: Encoding + Decoding functions for BVC and MS flow control

Change-Id: I9c89bb1c03550930c07aad7ff8f67129ee7a6320
Related: OS#4891

Revision 1fcfce86 (diff)
Added by laforge 3 months ago

bssgp_bvc_fsm: Add basic BVC flow control rx/tx support

The FSM doesn't actually implement the flow control logic,
it only decodes / dispatches and encodes messages.

Related: OS#4891
Change-Id: Ie59be6761177c43456898be9148727f15861a622

Revision 85a4027f (diff)
Added by laforge 3 months ago

gbproxy: Implement handling of BVC Flow Control

We must locally terminate + acknowledge any inbound BSSGP-FC-BVC,
and ourselves trigger the transmission of BSSGP-FC-BVC to each
SGSN in the pool.

Related: OS#4891
Depends: libosmcoore.git Ie59be6761177c43456898be9148727f15861a622
Change-Id: Ib6495e5de4bfcf748a98e08743d1a8f2565f8b69

Revision 209dc9fa (diff)
Added by laforge 3 months ago

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


#1 Updated by laforge 3 months ago

  • Related to Feature #4472: Intra-domain connection of OsmoGBPROXY to multiple SGSNs (pooling) added

#2 Updated by laforge 3 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

#3 Updated by laforge 3 months ago

  • % Done changed from 30 to 80

Initial impleemntatin in together with

We still need to adjust the actual values, i.e. if the BSS advertiseds 1 Mbps overall bucket leak rate, then each SGSN should probably only get part of that, i.e. half in case of 2 SGSN. Possibly with some kind of overcommittment?

#5 Updated by laforge 3 months ago

splitting / dividing the advertised capacity is implemented in

There is no automatic testing yet for this feature, but it has been manually verified, as can be seen in attached pcap file (two SGSN with each 50% of the capacity)

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)