From 32a208781a04b314627c7195b6e73e01c1c1e41f Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 4 Dec 2022 13:12:09 +0100 Subject: Remove mISDN header from received channel data Change-Id: I37f12baa1013cd1cfc6f6531b132669071eec926 --- src/input/misdn.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/input/misdn.c b/src/input/misdn.c index 5f6dd62..5d47a79 100644 --- a/src/input/misdn.c +++ b/src/input/misdn.c @@ -372,9 +372,10 @@ static int handle_tsX_read(struct osmo_fd *bfd) switch (hh->prim) { case PH_DATA_IND: - msg->l2h = msg->data + MISDN_HEADER_LEN; + /* remove the Misdn Header */ + msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN); LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN RX: %s\n", - osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN)); + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); /* the number of bytes received indicates that data to send */ handle_tsX_write(bfd, msgb_l2len(msg)); return e1inp_rx_ts(e1i_ts, msg, 0, 0); @@ -454,9 +455,10 @@ static int handle_ts_raw_read(struct osmo_fd *bfd) switch (hh->prim) { case PH_DATA_IND: - msg->l2h = msg->data + MISDN_HEADER_LEN; + /* remove the Misdn Header */ + msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN); LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n", - osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN)); + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); /* the number of bytes received indicates that data to send */ handle_ts_raw_write(bfd, msgb_l2len(msg)); return e1inp_rx_ts(e1i_ts, msg, 0, 0); @@ -539,9 +541,11 @@ static int handle_ts_hdlc_read(struct osmo_fd *bfd) switch (hh->prim) { case PH_DATA_IND: - msg->l2h = msg->data + MISDN_HEADER_LEN; + /* remove the Misdn Header */ + msgb_pull(msg, MISDN_HEADER_LEN); + msg->l2h = msg->data; LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "HDLC CHAN RX: %s\n", - osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN)); + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); return e1inp_rx_ts(e1i_ts, msg, 0, 0); case PH_ACTIVATE_IND: break; -- cgit v1.2.3