diff options
author | Harald Welte <laforge@osmocom.org> | 2021-01-18 14:58:51 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-01-18 16:11:33 +0100 |
commit | 3221f878ee1970bbad6e51162516932318f7a22f (patch) | |
tree | 8265670aa07af2405cb490cb7be5549b746831e8 /src/gb/gprs_ns2_internal.h | |
parent | 603f404e41a95e20d39ee64b649c8c19777caa8f (diff) |
ns2: delay NS_AFF_CAUSE_RECOVERY until NS-VC for data + sig are unblocked
Right now we end up in situations where only a NS-VC for data (BVCI != 0)
becomes unblocked, but the BSSGP and/or user application code is
notified that the NSE has recovered.
In the case of osmo-gbproxy, this will trigger a BVC-RESET on the
BVCI=0, but that obviously only works if the sig_weight > 0...
Closes: OS#4956
Change-Id: I933ee3969c052394d61ec6cf8c7c21d17957d9ab
Diffstat (limited to 'src/gb/gprs_ns2_internal.h')
-rw-r--r-- | src/gb/gprs_ns2_internal.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 5dbc349f..5404ed36 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -136,6 +136,12 @@ struct gprs_ns2_nse { enum gprs_ns2_dialect dialect; struct osmo_fsm_inst *bss_sns_fi; + + /*! sum of all the data weight of _active_ NS-VCs */ + uint32_t sum_data_weight; + + /*! sum of all the signalling weight of _active_ NS-VCs */ + uint32_t sum_sig_weight; }; /*! Structure representing a single NS-VC */ |