numam-dpdk/lib/librte_eal
Olivier Matz 4958ca3a44 mbuf: support dynamic fields and flags
Many features require to store data inside the mbuf. As the room in mbuf
structure is limited, it is not possible to have a field for each
feature. Also, changing fields in the mbuf structure can break the API
or ABI.

This commit addresses these issues, by enabling the dynamic registration
of fields or flags:

- a dynamic field is a named area in the rte_mbuf structure, with a
  given size (>= 1 byte) and alignment constraint.
- a dynamic flag is a named bit in the rte_mbuf structure.

The typical use case is a PMD that registers space for an offload
feature, when the application requests to enable this feature.  As
the space in mbuf is limited, the space should only be reserved if it
is going to be used (i.e when the application explicitly asks for it).

The registration can be done at any moment, but it is not possible
to unregister fields or flags.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2019-10-26 19:08:50 +02:00
..
common mbuf: support dynamic fields and flags 2019-10-26 19:08:50 +02:00
freebsd eal: fix memory config allocation for multi-process 2019-10-26 18:03:26 +02:00
linux eal: fix memory config allocation for multi-process 2019-10-26 18:03:26 +02:00
windows/eal build: add workarounds for Windows helloworld 2019-04-03 01:21:31 +02:00
Makefile build/freebsd: rename macro BSDPAPP to FREEBSD 2019-03-12 23:01:14 +01:00
meson.build eal: hide shared memory config 2019-07-06 10:32:34 +02:00
rte_eal_exports.def build: add module definition files for Windows 2019-04-03 01:21:31 +02:00
rte_eal_version.map eal: sort experimental symbols per release 2019-07-29 22:26:10 +02:00