Change in libosmocore[master]: gprs_bssgp: Add bssgp_tx_bvc_reset2()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Fri Jun 26 13:55:17 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19025 )


Change subject: gprs_bssgp: Add bssgp_tx_bvc_reset2()
......................................................................

gprs_bssgp: Add bssgp_tx_bvc_reset2()

If a BVC-RESET is sent from SGSN, there must not be a cell ID IE
included.  See "Note 1" of TS 48.018 Section 10.4.12.

Change-Id: I11d4e70d510265b9c09dffccdab10b3f0816715a
---
M TODO-RELEASE
M include/osmocom/gprs/gprs_bssgp_bss.h
M src/gb/gprs_bssgp_bss.c
M src/gb/libosmogb.map
4 files changed, 9 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/19025/1

diff --git a/TODO-RELEASE b/TODO-RELEASE
index 8aa2367..e2fd830 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -14,3 +14,4 @@
 gb		API/ABI change		deprecate gprs_nsvc_crate(); export gprs_nsvc_create2()
 gsm		API/ABI change		add new member to lapd_datalink
 gsm		new API			new gsm0808_create_common_id()
+gb		new API			new bssgp_tx_bvc_reset2()
diff --git a/include/osmocom/gprs/gprs_bssgp_bss.h b/include/osmocom/gprs/gprs_bssgp_bss.h
index f07ab52..ab62b66 100644
--- a/include/osmocom/gprs/gprs_bssgp_bss.h
+++ b/include/osmocom/gprs/gprs_bssgp_bss.h
@@ -57,6 +57,7 @@
 int bssgp_tx_bvc_unblock(struct bssgp_bvc_ctx *bctx);
 
 int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause);
+int bssgp_tx_bvc_reset2(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause, bool add_cell_id);
 
 int bssgp_tx_ul_ud(struct bssgp_bvc_ctx *bctx, uint32_t tlli,
 		   const uint8_t *qos_profile, struct msgb *llc_pdu);
diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c
index 5c9d11c..5a1ffb9 100644
--- a/src/gb/gprs_bssgp_bss.c
+++ b/src/gb/gprs_bssgp_bss.c
@@ -290,7 +290,7 @@
 }
 
 /*! Transmit a BVC-RESET message (Chapter 10.4.12) */
-int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause)
+int bssgp_tx_bvc_reset2(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause, bool add_cell_id)
 {
 	struct msgb *msg = bssgp_msgb_alloc();
 	struct bssgp_normal_hdr *bgph =
@@ -306,7 +306,7 @@
 
 	msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci);
 	msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, &cause);
-	if (bvci != BVCI_PTM) {
+	if (add_cell_id) {
 		uint8_t bssgp_cid[8];
 		bssgp_create_cell_id(bssgp_cid, &bctx->ra_id, bctx->cell_id);
 		msgb_tvlv_put(msg, BSSGP_IE_CELL_ID, sizeof(bssgp_cid), bssgp_cid);
@@ -315,6 +315,10 @@
 
 	return gprs_ns_sendmsg(bssgp_nsi, msg);
 }
+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);
+}
 
 /*! Transmit a FLOW_CONTROL-BVC (Chapter 10.4.4)
  *  \param[in] bctx BVC Context
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index b29ecb9..7a231db 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -15,6 +15,7 @@
 bssgp_parse_cell_id;
 bssgp_tx_bvc_block;
 bssgp_tx_bvc_reset;
+bssgp_tx_bvc_reset2;
 bssgp_tx_bvc_unblock;
 bssgp_tx_fc_bvc;
 bssgp_tx_fc_ms;

-- 
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19025
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I11d4e70d510265b9c09dffccdab10b3f0816715a
Gerrit-Change-Number: 19025
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200626/f3d234be/attachment.htm>


More information about the gerrit-log mailing list