osmo-bts - branch:laforge/virt_phy - questions on virtual layer implementation

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/.

Sebastian Stumpf sebastian.stumpf87 at googlemail.com
Thu Jun 2 11:35:39 UTC 2016


Hi,

as a part of my master thesis I am currently trying to complete the
implementation of the virtual physical layer in the laforge/virt-bts
branch in osmo-bts.git.

I already set up the projects and analyzed/debugged some of the code.
Now I have a few things to ask or be confirmed by the pros :).

1.   The sent messages on the virtual physical layer will be wrapped
in a GSM_TAP header. I would like to analyze and implement the Uplink
(MS->BTS) on the BTS side first, by sending dummy messages a small
program and then processing them in the BTS. Unfortunately I don't
have these dummy messages. Can anyone of you provide me with some
examples for the msgs coming from the MS side (Access Burst on RACH,
Uplink Burst on TCH, RSSI on SACCH, Location Update Request on SDCCH,
Authentication Response on SDCCH) or tell me how else I can get my
fingers on them?

2.   Did I correctly understand that the virt_um_rcv_cb() method in
l1_id.c will unwrap incoming GSM_TAP messages and distribute/forward
them to layer2? Is the correct l2 interface to use l1sap.c from the
common part? E.g. l1sap_ph_rach_ind(..) for incoming RACH msg from MS.

3.   Does any logic to unwrap and forward GSM_TAP messages already
exist or was that solely used for logging via wireshark by now.

4.   I added some comments to the code, mostly to document my own
unterstandings. But as I am no expert yet, they might contain some
logical errors. Can I keep these in the code when commiting or better
remove them?

5. Should I create a new branch for my work (e.g. stumpf/virt_phy) or
commit to the existing?

Not so important Questions:

6.   I had a compilation error caused by 2 missing methods in the
main.c.I added empty method bodies for
bts_model_phy_link_set_defaults(..) and
bts_model_phy_instance_set_defaults(..) and everything seems okay so
far. Can I do that or did I miss something here?

7.   To check if I receive incoming messages from the registered
virtual UM multicast socket I periodically wrote a dummy text to it
with a small program. As the registered callback method
virt_um_rcvcb(..) wasn't called I checked the initialization of the
multicast socket (virtual_um.c->virt_um_init(..)). After some research
it seems that mcast sockets do not support a call of connect() after a
bind(). Removing the call that connects the socket to the multicast
group and port, seems to work. Is that okay or are there any problems
I could run into by not connecting to the mcast socket? I think
connect() is usally used on tcp sockets.

Thank you very much in advance for your answers!

Kind Regards,

Sebastian Stumpf



More information about the OpenBSC mailing list