aboutsummaryrefslogtreecommitdiffstats
path: root/src/gb/gprs_ns2_internal.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-01-18 14:58:51 +0100
committerHarald Welte <laforge@osmocom.org>2021-01-18 16:11:33 +0100
commit3221f878ee1970bbad6e51162516932318f7a22f (patch)
tree8265670aa07af2405cb490cb7be5549b746831e8 /src/gb/gprs_ns2_internal.h
parent603f404e41a95e20d39ee64b649c8c19777caa8f (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.h6
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 */