diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-08-23 17:40:48 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2023-08-23 17:13:34 +0000 |
commit | 06da40bdb33c59923fa3be4570c4e5d84932bba9 (patch) | |
tree | 7558ab943e74e8d4b6b61fdf0be5f9e1940136c9 /src/gsm | |
parent | cd23806264dfd160f3b0a8452ab3b73594856b18 (diff) |
Revert "lapdm: Append RSL_IE_OSMO_ABS_FRAME_NUMBER to RSLms msgs towards upper layers"
This reverts commit d981794113efef3cc1195cde82043c5c66937b11.
osmo-bts is forwarding the msgbs as they come from lapdm to the RSL on
the wire, which means we end up sending the osmocom-specific IEs on the
wire, something which was not envisioned when adding this IE.
Change-Id: I0ab0d5b545b4862e72eb1842edd07ca2e4955311
Related: OS#6142
Diffstat (limited to 'src/gsm')
-rw-r--r-- | src/gsm/lapdm.c | 15 | ||||
-rw-r--r-- | src/gsm/rsl.c | 27 |
2 files changed, 1 insertions, 41 deletions
diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index c2598249..e96e2182 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -503,7 +503,7 @@ static int send_rslms_rll_l3(uint8_t msg_type, struct lapdm_msg_ctx *mctx, int transparent = rsl_is_transparent(msg_type); /* Add the RSL + RLL header */ - rsl_rll_push_l3_with_fn(msg, msg_type, mctx->chan_nr, mctx->link_id, transparent, mctx->fn); + rsl_rll_push_l3(msg, msg_type, mctx->chan_nr, mctx->link_id, transparent); /* send off the RSLms message to L3 */ return rslms_sendmsg(msg, mctx->dl->entity); @@ -513,14 +513,10 @@ static int send_rslms_rll_l3(uint8_t msg_type, struct lapdm_msg_ctx *mctx, static int send_rslms_rll_l3_ui(struct lapdm_msg_ctx *mctx, struct msgb *msg) { uint8_t l3_len = msg->tail - (uint8_t *)msgb_l3(msg); - uint32_t fn_be; /* Add the RSL + RLL header */ msgb_tv16_push(msg, RSL_IE_L3_INFO, l3_len); - osmo_store32be(mctx->fn, &fn_be); - msgb_tlv_push(msg, RSL_IE_OSMO_ABS_FRAME_NUMBER, 4, (uint8_t *)&fn_be); - /* Add two non-standard IEs carrying MS power and TA values for B4 (SACCH) */ if (mctx->lapdm_fmt == LAPDm_FMT_B4) { msgb_tv_push(msg, RSL_IE_MS_POWER, mctx->tx_power_ind); @@ -537,12 +533,8 @@ static int send_rll_simple(uint8_t msg_type, struct lapdm_msg_ctx *mctx) { struct msgb *msg; int transparent = rsl_is_transparent(msg_type); - uint32_t fn_be; msg = rsl_rll_simple(msg_type, mctx->chan_nr, mctx->link_id, transparent); - /* Add FN to the end to keep backward compat: */ - osmo_store32be(mctx->fn, &fn_be); - msgb_tlv_put(msg, RSL_IE_OSMO_ABS_FRAME_NUMBER, 4, (uint8_t *)&fn_be); /* send off the RSLms message to L3 */ return rslms_sendmsg(msg, mctx->dl->entity); @@ -551,15 +543,10 @@ static int send_rll_simple(uint8_t msg_type, struct lapdm_msg_ctx *mctx) static int rsl_rll_error(uint8_t cause, struct lapdm_msg_ctx *mctx) { struct msgb *msg; - uint32_t fn_be; LOGDL(&mctx->dl->dl, LOGL_NOTICE, "sending MDL-ERROR-IND %d\n", cause); msg = rsl_rll_simple(RSL_MT_ERROR_IND, mctx->chan_nr, mctx->link_id, 0); msgb_tlv_put(msg, RSL_IE_RLM_CAUSE, 1, &cause); - /* Add FN to the end to keep backward compat: */ - osmo_store32be(mctx->fn, &fn_be); - msgb_tlv_put(msg, RSL_IE_OSMO_ABS_FRAME_NUMBER, 4, (uint8_t *)&fn_be); - return rslms_sendmsg(msg, mctx->dl->entity); } diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index e0708c13..53eb9834 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -561,33 +561,6 @@ void rsl_rll_push_l3(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, rsl_rll_push_hdr(msg, msg_type, chan_nr, link_id, transparent); } -/*! Wrap msgb in L3 Info IE and push a RSL RLL header - * \param[in] msg Message Buffer to which L3 Header shall be appended - * \param[in] msg_type RSL Message Type - * \param[in] chan_hr RSL Channel Number - * \param[in] link_id Link Identififer - * \param[in] transparent Transparent to BTS (1) or not (0) - * \param[in] fn Frame Number - */ -void rsl_rll_push_l3_with_fn(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr, - uint8_t link_id, int transparent, uint32_t fn) -{ - uint8_t l3_len = msg->tail - (uint8_t *)msgb_l3(msg); - uint32_t fn_be; - - /* construct a RSLms RLL message (DATA INDICATION, UNIT DATA - * INDICATION) and send it off via RSLms */ - - /* Push the L3 IE tag and length */ - msgb_tv16_push(msg, RSL_IE_L3_INFO, l3_len); - - osmo_store32be(fn, &fn_be); - msgb_tlv_push(msg, RSL_IE_OSMO_ABS_FRAME_NUMBER, 4, (uint8_t *)&fn_be); - - /* Then push the RSL header */ - rsl_rll_push_hdr(msg, msg_type, chan_nr, link_id, transparent); -} - /*! Create msgb with RSL RLL header * \param[in] msg_type RSL Message Type * \param[in] chan_nr RSL Channel Number |