From 12f225830597d5b406b8284914ecfda4c853c9fe Mon Sep 17 00:00:00 2001 From: Christian Taedcke Date: Thu, 1 Dec 2022 10:19:26 +0100 Subject: [PATCH] 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 --- subsys/net/ip/Kconfig | 7 +++++++ subsys/net/ip/net_pkt.c | 16 ++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/subsys/net/ip/Kconfig b/subsys/net/ip/Kconfig index 11aaae35433..58036a32457 100644 --- a/subsys/net/ip/Kconfig +++ b/subsys/net/ip/Kconfig @@ -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 diff --git a/subsys/net/ip/net_pkt.c b/subsys/net/ip/net_pkt.c index 9a7a0397612..c566b6dce03 100644 --- a/subsys/net/ip/net_pkt.c +++ b/subsys/net/ip/net_pkt.c @@ -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 */