4958ca3a44
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> |
||
---|---|---|
.. | ||
arch | ||
include | ||
eal_common_bus.c | ||
eal_common_class.c | ||
eal_common_cpuflags.c | ||
eal_common_dev.c | ||
eal_common_devargs.c | ||
eal_common_errno.c | ||
eal_common_fbarray.c | ||
eal_common_hexdump.c | ||
eal_common_hypervisor.c | ||
eal_common_launch.c | ||
eal_common_lcore.c | ||
eal_common_log.c | ||
eal_common_mcfg.c | ||
eal_common_memalloc.c | ||
eal_common_memory.c | ||
eal_common_memzone.c | ||
eal_common_options.c | ||
eal_common_proc.c | ||
eal_common_string_fns.c | ||
eal_common_tailqs.c | ||
eal_common_thread.c | ||
eal_common_timer.c | ||
eal_common_uuid.c | ||
eal_filesystem.h | ||
eal_hugepages.h | ||
eal_internal_cfg.h | ||
eal_memalloc.h | ||
eal_memcfg.h | ||
eal_options.h | ||
eal_private.h | ||
eal_thread.h | ||
hotplug_mp.c | ||
hotplug_mp.h | ||
Makefile | ||
malloc_elem.c | ||
malloc_elem.h | ||
malloc_heap.c | ||
malloc_heap.h | ||
malloc_mp.c | ||
malloc_mp.h | ||
meson.build | ||
rte_keepalive.c | ||
rte_malloc.c | ||
rte_option.c | ||
rte_random.c | ||
rte_reciprocal.c | ||
rte_service.c |