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
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
bool
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)
NET_BUF_POOL_FIXED_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT,
CONFIG_NET_BUF_DATA_SIZE, 4, NULL);
NET_BUF_POOL_FIXED_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT,
CONFIG_NET_BUF_DATA_SIZE, 4, NULL);
NET_BUF_POOL_FIXED_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT, CONFIG_NET_BUF_DATA_SIZE,
CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
NET_BUF_POOL_FIXED_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, CONFIG_NET_BUF_DATA_SIZE,
CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
#else /* !CONFIG_NET_BUF_FIXED_DATA_SIZE */
NET_BUF_POOL_VAR_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT,
CONFIG_NET_BUF_DATA_POOL_SIZE, 4, NULL);
NET_BUF_POOL_VAR_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT,
CONFIG_NET_BUF_DATA_POOL_SIZE, 4, NULL);
NET_BUF_POOL_VAR_DEFINE(rx_bufs, CONFIG_NET_BUF_RX_COUNT, CONFIG_NET_BUF_DATA_POOL_SIZE,
CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
NET_BUF_POOL_VAR_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, CONFIG_NET_BUF_DATA_POOL_SIZE,
CONFIG_NET_PKT_BUF_USER_DATA_SIZE, NULL);
#endif /* CONFIG_NET_BUF_FIXED_DATA_SIZE */