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/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/20386 ) Change subject: RSL/BSSAP: fix: properly convert between RSL Link ID and DLCI ...................................................................... RSL/BSSAP: fix: properly convert between RSL Link ID and DLCI Change-Id: If4d479a54cad467f53b49065c1c435a4471ac7d2 Related: Ica69ae95b47a67ba99ba9cc36629b6bd210d11e4 Related: OS#3716 --- M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_bssap.c 2 files changed, 27 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/86/20386/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 59032d6..c85eb86 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -540,6 +540,16 @@ return rc; } +/* Data Link Connection Identifier (DLCI) is defined in 3GPP TS 48.006, section 9.3.2. + * .... .SSS - SAPI value used on the radio link; + * CC.. .... - control channel identification: + * 00.. .... - indicates that the control channel is not further specified, + * 10.. .... - represents the FACCH or the SDCCH, + * 11.. .... - represents the SACCH, + * other values are reserved. */ +#define RSL_LINK_ID2DLCI(link_id) \ + (link_id & 0x40 ? 0xc0 : 0x80) | (link_id & 0x03) + /*! MS->BSC/MSC: Um L3 message. */ void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) { @@ -552,8 +562,9 @@ bsc_scan_bts_msg(conn, msg); - /* Store link_id in msg->cb */ - OBSC_LINKID_CB(msg) = link_id; + /* convert RSL link ID to DLCI, store in msg->cb */ + OBSC_LINKID_CB(msg) = RSL_LINK_ID2DLCI(link_id); + osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MO_DTAP, msg); done: log_set_context(LOG_CTX_BSC_SUBSCR, NULL); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 65fee04..cef8df7 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1199,6 +1199,16 @@ return ret; } +/* RSL Link Identifier is defined in 3GPP TS 3GPP TS 48.058, section 9.3.2. + * .... .SSS - SAPI value used on the radio link; + * ...P P... - priority for SAPI0 messages; + * CC.. .... - control channel identification: + * 00.. .... - main signalling channel (FACCH or SDCCH), + * 01.. .... - SACCH, + * other values are reserved. */ +#define DLCI2RSL_LINK_ID(dlci) \ + ((dlci & 0xc0) == 0xc0 ? 0x40 : 0x00) | (dlci & 0x03) + static int dtap_rcvmsg(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int length) { @@ -1248,8 +1258,10 @@ /* pass it to the filter for extra actions */ bsc_scan_msc_msg(conn, gsm48); - /* Store link_id in msgb->cb */ - OBSC_LINKID_CB(gsm48) = header->link_id; + + /* convert DLCI to RSL link ID, store in msg->cb */ + OBSC_LINKID_CB(gsm48) = DLCI2RSL_LINK_ID(header->link_id); + dtap_rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MT_DTAP, gsm48); return dtap_rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/20386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If4d479a54cad467f53b49065c1c435a4471ac7d2 Gerrit-Change-Number: 20386 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201001/50e6a5c0/attachment.htm>