osmocom-bb/src/host/layer23/README

43 lines
1.2 KiB
Plaintext

= OsmocomBB layer23 architecture =
layer23 is an (incomplete) MS-side implementation of the L2 and L3 GSM
protocols as described in GSM TS 04.06, 04.08 and others.
== Interfaces ==
L1 (on the phone) uses the L1CTL protocol to talk with layer23 (on the PC).
L2 (inside layer23) uses the RSLms protocol to talk with the L3 (inside layer23)
=== RSLms ===
RSLms is modeled after the GSM TS 08.58 Radio Subsystem Link protocol. Despite
being designed for the network side, RSL seems a good match for the L2/L3
interface inside a MS, too.
At least the RLL (Radio Link Layer) part of RSL is 100% as applicable to the MS
side as it is for the ntwork side.
==== Lower interface (L2 to RSLms) ====
Layer2 calls rslms_sendmsg() with a msgb that has the msgb->l2h pointing to a
RSL header (struct abis_rsl_common_hdr).
==== Upper interface (L3 to RSLms) ====
Layer3 calls rslms_recvmsg() with a msgb that has the msgb->l2h pointing to a
RSL header (struct abis_rsl_common_hdr).
There are utility functions like rslms_tx_rll_req() and rslms_tx_rsll_req_l3()
for creating msgb's with the appropriate RSL/RLL headers.
=== LAPDm ===
LAPDm is the GSM TS 04.06 protocol
The lower interface (to L1) is using L1CTL
The upper interface (to L3) is using RSLms