Hi Shinjo,
thank you for working on that!
On 12.05.2024 00:47, Shinjo Park wrote:
After the OsmoDevCon 2024, I have set up a repository
containing the GSMTAPv3
WIP
version:https://gitea.osmocom.org/peremen/gsmtapv3
Looking at the proposed structure of the GSMTAPv3 header:
```
/*! Structure of the GSMTAP pseudo-header */
struct gsmtap_hdr_v3 {
uint8_t version;
uint16_t hdr_len;
uint8_t res;
uint16_t type;
uint16_t sub_type;
uint8_t metadata[0];
} __attribute__((packed));
```
I suggest to re-order fields a bit, more specifically to place field
'res' before field 'hdr_len', so that the later is at least WORD-alighed
(just like all the other fields).
```
/*! Structure of the GSMTAP pseudo-header */
struct gsmtap_hdr_v3 {
uint8_t version;
- uint16_t hdr_len;
uint8_t res;
+ uint16_t hdr_len;
```
This way the structure would be identical to its unpacked equivalent,
and, in theory, accessing those fields for storing and loading values
would be faster.
http://www.catb.org/esr/structure-packing/ -- nice read about struct
padding in C/C++ and manual field reordering.
Best regards,
Vadim.
--
- Vadim Yanitskiy <vyanitskiy at sysmocom.de>
http://www.sysmocom.de/
========================================================================
* sysmocom - systems for mobile communications GmbH
* Siemensstr. 26a
* 10551 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte