[layer23] Correctly report to restart mobile instance after band change
[osmocom-bb.git] / src / host / layer23 / README
1 = OsmocomBB layer23 architecture =
2
3 layer23 is an (incomplete) MS-side implementation of the L2 and L3 GSM
4 protocols as described in GSM TS 04.06, 04.08 and others.
5
6 == Interfaces ==
7
8 L1 (on the phone) uses the L1CTL protocol to talk with layer23 (on the PC).
9
10 L2 (inside layer23) uses the RSLms protocol to talk with the L3 (inside layer23)
11
12
13 === RSLms ===
14
15 RSLms is modeled after the GSM TS 08.58 Radio Subsystem Link protocol.  Despite
16 being designed for the network side, RSL seems a good match for the L2/L3
17 interface inside a MS, too.
18
19 At least the RLL (Radio Link Layer) part of RSL is 100% as applicable to the MS
20 side as it is for the ntwork side.
21
22 ==== Lower interface (L2 to RSLms) ====
23
24 Layer2 calls rslms_sendmsg() with a msgb that has the msgb->l2h pointing to a
25 RSL header (struct abis_rsl_common_hdr).
26
27 ==== Upper interface (L3 to RSLms) ====
28
29 Layer3 calls rslms_recvmsg() with a msgb that has the msgb->l2h pointing to a
30 RSL header (struct abis_rsl_common_hdr).
31
32 There are utility functions like rslms_tx_rll_req() and rslms_tx_rsll_req_l3()
33 for creating msgb's with the apropriate RSL/RLL headers.
34
35
36 === LAPDm ===
37
38 LAPDm is the GSM TS 04.06 protocol
39
40 The lower interface (to L1) is using L1CTL
41
42 The upper interface (to L3) is using RSLms