net: Make user_data size in rx and tx buffers configurable

Introduce the Kconfig symbol `NET_PKT_BUF_USER_DATA_SIZE`. It is used to
set the user data size in the buffers used in the rx and tx network buffer
pools.

Signed-off-by: Christian Taedcke <christian.taedcke@lemonbeat.com>
This commit is contained in:
Christian Taedcke 2022-12-01 10:19:26 +01:00 committed by Carles Cufí
commit 12f2258305
2 changed files with 15 additions and 8 deletions

View file

@ -752,6 +752,13 @@ config NET_BUF_DATA_POOL_SIZE
This value tell what is the size of the memory pool where each This value tell what is the size of the memory pool where each
network buffer is allocated from. network buffer is allocated from.
config NET_PKT_BUF_USER_DATA_SIZE
int "Size of user_data available in rx and tx network buffers"
default 4
range 4 16
help
User data size used in rx and tx network buffers.
config NET_HEADERS_ALWAYS_CONTIGUOUS config NET_HEADERS_ALWAYS_CONTIGUOUS
bool bool
help help

View file

@ -122,17 +122,17 @@ K_MEM_SLAB_DEFINE(tx_pkts, sizeof(struct net_pkt), CONFIG_NET_PKT_TX_COUNT, 4);
#if defined(CONFIG_NET_BUF_FIXED_DATA_SIZE) #if defined(CONFIG_NET_BUF_FIXED_DATA_SIZE)
NET_BUF_POOL_FIXED_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT, NET_BUF_POOL_FIXED_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT, CONFIG_NET_BUF_DATA_SIZE,
CONFIG_NET_BUF_DATA_SIZE, 4, NULL); CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
NET_BUF_POOL_FIXED_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, NET_BUF_POOL_FIXED_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, CONFIG_NET_BUF_DATA_SIZE,
CONFIG_NET_BUF_DATA_SIZE, 4, NULL); CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
#else /* !CONFIG_NET_BUF_FIXED_DATA_SIZE */ #else /* !CONFIG_NET_BUF_FIXED_DATA_SIZE */
NET_BUF_POOL_VAR_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT, NET_BUF_POOL_VAR_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT, CONFIG_NET_BUF_DATA_POOL_SIZE,
CONFIG_NET_BUF_DATA_POOL_SIZE, 4, NULL); CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
NET_BUF_POOL_VAR_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, NET_BUF_POOL_VAR_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, CONFIG_NET_BUF_DATA_POOL_SIZE,
CONFIG_NET_BUF_DATA_POOL_SIZE, 4, NULL); CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
#endif /* CONFIG_NET_BUF_FIXED_DATA_SIZE */ #endif /* CONFIG_NET_BUF_FIXED_DATA_SIZE */