Project

General

Profile

Bug #4891

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

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

Status:
In Progress
Priority:
Urgent
Assignee:
Target version:
-
Start date:
12/08/2020
Due date:
% Done:

90%

Spec Reference:

Description

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

History

#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 https://gerrit.osmocom.org/c/osmo-sgsn/+/21616 together with https://gerrit.osmocom.org/c/libosmocore/+/21611

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 https://gerrit.osmocom.org/c/osmo-sgsn/+/21696

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)