<p><a href="https://gerrit.osmocom.org/c/libosmocore/+/22046">View Change</a></p><p>2 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/22046/6/include/osmocom/gprs/gprs_bssgp.h">File include/osmocom/gprs/gprs_bssgp.h:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/libosmocore/+/22046/6/include/osmocom/gprs/gprs_bssgp.h@73">Patch Set #6, Line 73:</a> <code style="font-family:monospace,monospace">in</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">those two messages are not symmetric.  One is encoding + transmitting, while the other is jsut decoding.</p><p style="white-space: pre-wrap; word-wrap: break-word;">I would argue we want at least an encode + decode function, while the transmit is more like an optional (but welcome additional) helper.</p><p style="white-space: pre-wrap; word-wrap: break-word;">So something like 'struct msgb *bssgp_encode_rim_pdu(const struct bssgp_ran_informatoin_pdu *)' is missing.  The bssgp_tx_rim() can then simply call that function, set msgb_nsei and call bssgp_ns_send().</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/22046/6/src/gb/gprs_bssgp_util.c">File src/gb/gprs_bssgp_util.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/libosmocore/+/22046/6/src/gb/gprs_bssgp_util.c@701">Patch Set #6, Line 701:</a> <code style="font-family:monospace,monospace">        rc = </code></p><p style="white-space: pre-wrap; word-wrap: break-word;">why is this re-inventing a simplistic BSSGP message parser?  We do have a "proper" BSSGP parser whihc validates the mandatory IEs and also validates the minimum length of all IEs: </p><p style="white-space: pre-wrap; word-wrap: break-word;">osmo_tlv_prot_parse(&osmo_pdef_bssgp, tp, ARAY_SIZE(tp), bgph->data, data_len, 0, 0, DBSSGP, __func__)</p><p style="white-space: pre-wrap; word-wrap: break-word;">One of the benefits of using that is that you don't need to check for PRES_LEN everywhere below, but can just use TLVP_PRES, as the minimum length is already ensured by the parser.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/22046">change 22046</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/+/22046"/><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: I18134fd9938040d2facb6beee3732628b167ce8c </div>
<div style="display:none"> Gerrit-Change-Number: 22046 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </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-Comment-Date: Tue, 19 Jan 2021 11:17:06 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Gerrit-MessageType: comment </div>