aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-10-04 21:42:38 +0200
committerlaforge <laforge@osmocom.org>2020-10-08 07:18:39 +0000
commitbd771a9576cd16b346ba8cbb0478074df4e3307c (patch)
tree0b584cb9607b1a4ca32abbe8c13d5345bf0dec19
parent5b214e2847cb8264e42494e7474f3e3d350aaab7 (diff)
bssgp: Don't include RA-ID in BVC-RESET for BVCI=0 (signalling)
3GPP TS 48.018 is quite clear: The RA-ID must only be included when a PTP-BVCI is being reset [and only if the sender is the BSS]. Before this patch, osmo-pcu is including the RA-ID in BVC-RESET for BVCI=0. Change-Id: Ie87820537d6d616da4fd4bbf73eab06e28fda5e1
-rw-r--r--src/gb/gprs_bssgp_bss.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c
index 94b18126..d1734ee5 100644
--- a/src/gb/gprs_bssgp_bss.c
+++ b/src/gb/gprs_bssgp_bss.c
@@ -318,7 +318,16 @@ int bssgp_tx_bvc_reset2(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause
}
int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause)
{
- return bssgp_tx_bvc_reset2(bctx, bvci, cause, bvci != BVCI_PTM);
+ /* The Cell Identifier IE is mandatory in the BVC-RESET PDU sent from BSS to SGSN in order to reset a
+ * BVC corresponding to a PTP functional entity. The Cell Identifier IE shall not be used in any other
+ * BVC-RESET PDU. */
+ switch (bvci) {
+ case BVCI_SIGNALLING:
+ case BVCI_PTM:
+ return bssgp_tx_bvc_reset2(bctx, bvci, cause, false);
+ default:
+ return bssgp_tx_bvc_reset2(bctx, bvci, cause, true);
+ }
}
/*! Transmit a FLOW_CONTROL-BVC (Chapter 10.4.4)