<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/19025">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gprs_bssgp: Add bssgp_tx_bvc_reset2()<br><br>If a BVC-RESET is sent from SGSN, there must not be a cell ID IE<br>included.  See "Note 1" of TS 48.018 Section 10.4.12.<br><br>Change-Id: I11d4e70d510265b9c09dffccdab10b3f0816715a<br>---<br>M TODO-RELEASE<br>M include/osmocom/gprs/gprs_bssgp_bss.h<br>M src/gb/gprs_bssgp_bss.c<br>M src/gb/libosmogb.map<br>4 files changed, 9 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/TODO-RELEASE b/TODO-RELEASE</span><br><span>index 8aa2367..e2fd830 100644</span><br><span>--- a/TODO-RELEASE</span><br><span>+++ b/TODO-RELEASE</span><br><span>@@ -14,3 +14,4 @@</span><br><span> gb           API/ABI change          deprecate gprs_nsvc_crate(); export gprs_nsvc_create2()</span><br><span> gsm          API/ABI change          add new member to lapd_datalink</span><br><span> gsm          new API                 new gsm0808_create_common_id()</span><br><span style="color: hsl(120, 100%, 40%);">+gb              new API                 new bssgp_tx_bvc_reset2()</span><br><span>diff --git a/include/osmocom/gprs/gprs_bssgp_bss.h b/include/osmocom/gprs/gprs_bssgp_bss.h</span><br><span>index f07ab52..ab62b66 100644</span><br><span>--- a/include/osmocom/gprs/gprs_bssgp_bss.h</span><br><span>+++ b/include/osmocom/gprs/gprs_bssgp_bss.h</span><br><span>@@ -57,6 +57,7 @@</span><br><span> int bssgp_tx_bvc_unblock(struct bssgp_bvc_ctx *bctx);</span><br><span> </span><br><span> int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause);</span><br><span style="color: hsl(120, 100%, 40%);">+int bssgp_tx_bvc_reset2(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause, bool add_cell_id);</span><br><span> </span><br><span> int bssgp_tx_ul_ud(struct bssgp_bvc_ctx *bctx, uint32_t tlli,</span><br><span>             const uint8_t *qos_profile, struct msgb *llc_pdu);</span><br><span>diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c</span><br><span>index 5c9d11c..5a1ffb9 100644</span><br><span>--- a/src/gb/gprs_bssgp_bss.c</span><br><span>+++ b/src/gb/gprs_bssgp_bss.c</span><br><span>@@ -290,7 +290,7 @@</span><br><span> }</span><br><span> </span><br><span> /*! Transmit a BVC-RESET message (Chapter 10.4.12) */</span><br><span style="color: hsl(0, 100%, 40%);">-int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause)</span><br><span style="color: hsl(120, 100%, 40%);">+int bssgp_tx_bvc_reset2(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause, bool add_cell_id)</span><br><span> {</span><br><span>     struct msgb *msg = bssgp_msgb_alloc();</span><br><span>       struct bssgp_normal_hdr *bgph =</span><br><span>@@ -306,7 +306,7 @@</span><br><span> </span><br><span>    msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci);</span><br><span>        msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, &cause);</span><br><span style="color: hsl(0, 100%, 40%);">-      if (bvci != BVCI_PTM) {</span><br><span style="color: hsl(120, 100%, 40%);">+       if (add_cell_id) {</span><br><span>           uint8_t bssgp_cid[8];</span><br><span>                bssgp_create_cell_id(bssgp_cid, &bctx->ra_id, bctx->cell_id);</span><br><span>              msgb_tvlv_put(msg, BSSGP_IE_CELL_ID, sizeof(bssgp_cid), bssgp_cid);</span><br><span>@@ -315,6 +315,10 @@</span><br><span> </span><br><span>       return gprs_ns_sendmsg(bssgp_nsi, msg);</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+int bssgp_tx_bvc_reset(struct bssgp_bvc_ctx *bctx, uint16_t bvci, uint8_t cause)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     return bssgp_tx_bvc_reset2(bctx, bvci, cause, bvci != BVCI_PTM);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span> /*! Transmit a FLOW_CONTROL-BVC (Chapter 10.4.4)</span><br><span>  *  \param[in] bctx BVC Context</span><br><span>diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map</span><br><span>index b29ecb9..7a231db 100644</span><br><span>--- a/src/gb/libosmogb.map</span><br><span>+++ b/src/gb/libosmogb.map</span><br><span>@@ -15,6 +15,7 @@</span><br><span> bssgp_parse_cell_id;</span><br><span> bssgp_tx_bvc_block;</span><br><span> bssgp_tx_bvc_reset;</span><br><span style="color: hsl(120, 100%, 40%);">+bssgp_tx_bvc_reset2;</span><br><span> bssgp_tx_bvc_unblock;</span><br><span> bssgp_tx_fc_bvc;</span><br><span> bssgp_tx_fc_ms;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/19025">change 19025</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmocore/+/19025"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I11d4e70d510265b9c09dffccdab10b3f0816715a </div>
<div style="display:none"> Gerrit-Change-Number: 19025 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>