summaryrefslogtreecommitdiffstats
path: root/library/BSSGP_Emulation.ttcnpp
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-11-10 21:03:29 +0100
committerlaforge <laforge@osmocom.org>2020-11-12 20:02:07 +0000
commitdc0a090ae14004b363f058b2c9992eeade2abb62 (patch)
tree98743be5321ea7a848c86695758cc7e5a6827a97 /library/BSSGP_Emulation.ttcnpp
parent445fc61dc77652ef011769a497d8d5718afbbe10 (diff)
NS+BSSGP: Only send BVC-RESET when _first_ NSVC of NSVCG becomes unblocked
In case of a NS-VCG with multiple NS-VC, we must BVC-RESET only when the first NS-VC becomes unblocked, i.e. as soon as we have any connection to the peer at all. Whether we have further additional links doesn't matter, at least not in the sense that all state should be reset. Change-Id: I69b2e9bd919fc981f189b6671b4234c3642e2449
Diffstat (limited to 'library/BSSGP_Emulation.ttcnpp')
-rw-r--r--library/BSSGP_Emulation.ttcnpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/library/BSSGP_Emulation.ttcnpp b/library/BSSGP_Emulation.ttcnpp
index a4a939d..1370958 100644
--- a/library/BSSGP_Emulation.ttcnpp
+++ b/library/BSSGP_Emulation.ttcnpp
@@ -359,7 +359,7 @@ altstep as_sig_unblocked() runs on BSSGP_CT {
/* We are in BVC_S_WAIT_NS_ALIVE_UNBLOCKED (only happens in BSS role) */
altstep as_sig_wait_ns_alive_unblocked() runs on BSSGP_CT {
var NsStatusIndication nsi;
- [] BSCP.receive(NsStatusIndication:{g_cfg.nsei,?, complement (NSVC_S_ALIVE_UNBLOCKED), NSVC_S_ALIVE_UNBLOCKED}) -> value nsi {
+ [] BSCP.receive(NsStatusIndication:{g_cfg.nsei,?, complement (NSVC_S_ALIVE_UNBLOCKED), NSVC_S_ALIVE_UNBLOCKED, true}) -> value nsi {
/* if we just became NS-unblocked, send a BCC-RESET */
if (g_cfg.sgsn_role == false) {
BSCP.send(f_BnsUdReq(ts_BVC_RESET(BSSGP_CAUSE_OM_INTERVENTION, 0, omit), 0));
@@ -450,9 +450,9 @@ altstep as_sig_allstate() runs on BSSGP_CT {
}
}
/* Keep NS Status Indicaitons to us; no need to inform per-BVC components [for now?] */
- [] BSCP.receive(NsStatusIndication:{g_cfg.nsei, ?, ?, ?}) -> value nsi { }
+ [] BSCP.receive(tr_NsStsInd(g_cfg.nsei)) -> value nsi { }
/* We should never see any different NSEI: There's one BSSGP_CT per NSE */
- [] BSCP.receive(NsStatusIndication:{?, ?, ?, ?}) -> value nsi {
+ [] BSCP.receive(tr_NsStsInd(?)) -> value nsi {
setverdict(fail, "Rx NsStatusInd for wrong NSEI ", nsi);
}