LAPDm / RSL EST IND

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/OpenBSC@lists.osmocom.org/.

jolly andreas at eversberg.eu
Sun Apr 29 07:18:02 UTC 2012


Harald Welte wrote:
> The code path should be:
>
> lapd_rx_u()
>   if (length == 0) send_dl_simple()
>     send_rslms_dlsap()
>       here we check for (!dp->oph.msg), but since there is a dummy msgb,
>       we probably run into the send_rslms_rll_l3() case instead of
>       send_rll_simple().
>
> What do you think is the best way to resolve this?
>   
hi harald,

i think we should remove the msgb at send_dl_simple(). i looked at the
code that handles received lapd messages:

at osmocombb (gsm48_rr.c) the layer 2 message is received at
gsm48_rcv_rll(). only DL_EST_REQ with SAPI 3 is handled here, but
without msgb, so i see no impact.

at e1_input.c the layer 2 message is received at e1inp_dlsap_up(). there
it is expected that only DL_DATA and DL_UNIT_DATA carries a msgb, so i
see no impact.

but i see a little problem: at e1inp_dlsap_up(): dp->oph.msg gets freed,
even if not set. even if msgb_free() does check for NULL pointers, we
should check there.

at least we should try openbsc and osmocombb/mobile and sysmo-bts to see
if there is any problem. i could check osmocombb and openbsc.

regards,

andreas







More information about the OpenBSC mailing list