libosmocore/include/osmocom/gsm/protocol
Harald Welte 9fe1f9fb0b Introduce CRC and FSM for IuUP (user plane) as used in 3G RTP data
Only support for SMpSDU mode is introduced in this commit.

Not supported explicit list:
- Transparent mode
- ATM/AAL2 based Transport layer
- GTP-U based Transport Layer
- Iu Rate Control procedure
- Time Alignment procedure

APIs are provided to allocate the primitives properly inside the related
msgb. This way primitives can be placed in the headroom, leaving the
data part of the msgb for the IuUP payload, hence allowing re-use of the
msgb and 0 copy of IuUP payload when forwarding data over RNL<->TNL.
Since RNL and TNL primitives relu struct osmo_prim_header, which is not
packed, they cannot be set to packed, and hence proper memory alignment
in the msgb must be done to avoid misaligned accesses (Asan errors about
it otherwise).

Related: SYS#5516
Change-Id: Ibe356fa7b1abaca0091e368db8478e79c09c6cb0
2021-12-22 14:58:31 +01:00
..
gsm_03_40.h gsm_03_40.h: define max SM-TP-UDL (User-Data-Length) values 2019-04-09 15:14:18 +07:00
gsm_03_41.h add/clean big-endian packed structs (struct_endianess.py) 2018-12-19 18:40:03 +00:00
gsm_04_08.h gsm/protocol/gsm_04_08.h: add gsm48_meas_res_is_valid() 2021-11-04 17:45:52 +03:00
gsm_04_08_gprs.h GPRS: Add PDP_TYPE_N_IETF_IPv4v6 2021-09-29 21:05:20 +02:00
gsm_04_11.h doxygen: unify use of \file across the board 2017-06-23 00:18:23 +00:00
gsm_04_12.h add/clean big-endian packed structs (struct_endianess.py) 2018-12-19 18:40:03 +00:00
gsm_04_14.h protocol/gsm_04_14: Fix the OPEN LOOP message type 2019-02-07 09:16:22 +01:00
gsm_04_80.h doxygen: unify use of \file across the board 2017-06-23 00:18:23 +00:00
gsm_08_08.h gsm_08_08.h: Add extra field elements defined in other sections 2021-04-14 16:30:32 +02:00
gsm_08_58.h include/: Adapt some headers to match contrib/struct_endianess.py format 2021-12-22 13:57:48 +01:00
gsm_09_02.h doxygen: unify use of \file across the board 2017-06-23 00:18:23 +00:00
gsm_12_21.h treewide: remove FSF address 2021-12-14 12:44:03 +01:00
gsm_23_003.h add define for magic tmsi constant 2019-06-17 12:19:20 +02:00
gsm_23_032.h Fix struct bitfields on big endian systems 2021-02-08 17:23:25 +00:00
gsm_23_041.h cosmetic: apply changes to match struct_endianess.py output 2020-05-15 16:13:54 +00:00
gsm_25_415.h Introduce CRC and FSM for IuUP (user plane) as used in 3G RTP data 2021-12-22 14:58:31 +01:00
gsm_29_118.h gsm_29_118.h: Fix compilation with gcc-10 2020-05-02 19:43:49 +00:00
gsm_44_004.h include/: Adapt some headers to match contrib/struct_endianess.py format 2021-12-22 13:57:48 +01:00
gsm_44_318.h add/clean big-endian packed structs (struct_endianess.py) 2018-12-19 18:40:03 +00:00
gsm_48_049.h CBSP (Cell Broadcast Service Protocol; 3GPP TS 48.049) support 2019-07-20 12:11:28 +02:00
gsm_48_071.h treewide: remove FSF address 2021-12-14 12:44:03 +01:00
gsm_49_031.h treewide: remove FSF address 2021-12-14 12:44:03 +01:00
ipaccess.h ipaccess: Add new osmo extension IPAC_PROTO_EXT_PCU 2021-06-11 16:36:29 +00:00
smpp34_osmocom.h doxygen: unify use of \file across the board 2017-06-23 00:18:23 +00:00