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>
diff --git a/subsys/net/ip/Kconfig b/subsys/net/ip/Kconfig
index 11aaae3..58036a3 100644
--- a/subsys/net/ip/Kconfig
+++ b/subsys/net/ip/Kconfig
@@ -752,6 +752,13 @@
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 9a7a039..c566b6d 100644
--- a/subsys/net/ip/net_pkt.c
+++ b/subsys/net/ip/net_pkt.c
@@ -122,17 +122,17 @@
#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 */