diff --git a/include/net/buf.h b/include/net/buf.h index 6c31d05f6db..387b516195b 100644 --- a/include/net/buf.h +++ b/include/net/buf.h @@ -1178,20 +1178,20 @@ extern const struct net_buf_data_cb net_buf_var_cb; * @param _name Name of the pool variable. * @param _count Number of buffers in the pool. * @param _data_size Total amount of memory available for data payloads. + * @param _ud_size User data space to reserve per buffer. * @param _destroy Optional destroy callback when buffer is freed. */ -#define NET_BUF_POOL_VAR_DEFINE(_name, _count, _data_size, _destroy) \ - _NET_BUF_ARRAY_DEFINE(_name, _count, CONFIG_NET_BUF_USER_DATA_SIZE); \ - K_HEAP_DEFINE(net_buf_mem_pool_##_name, _data_size); \ - static const struct net_buf_data_alloc net_buf_data_alloc_##_name = { \ - .cb = &net_buf_var_cb, \ - .alloc_data = &net_buf_mem_pool_##_name, \ - }; \ - static struct net_buf_pool _name __net_buf_align \ - __in_section(_net_buf_pool, static, _name) = \ - NET_BUF_POOL_INITIALIZER(_name, &net_buf_data_alloc_##_name, \ - _net_buf_##_name, _count, \ - CONFIG_NET_BUF_USER_DATA_SIZE, \ +#define NET_BUF_POOL_VAR_DEFINE(_name, _count, _data_size, _ud_size, _destroy) \ + _NET_BUF_ARRAY_DEFINE(_name, _count, _ud_size); \ + K_HEAP_DEFINE(net_buf_mem_pool_##_name, _data_size); \ + static const struct net_buf_data_alloc net_buf_data_alloc_##_name = { \ + .cb = &net_buf_var_cb, \ + .alloc_data = &net_buf_mem_pool_##_name, \ + }; \ + static struct net_buf_pool _name __net_buf_align \ + __in_section(_net_buf_pool, static, _name) = \ + NET_BUF_POOL_INITIALIZER(_name, &net_buf_data_alloc_##_name, \ + _net_buf_##_name, _count, _ud_size, \ _destroy) /** diff --git a/subsys/canbus/isotp/isotp.c b/subsys/canbus/isotp/isotp.c index 4057910ec8a..da39ef16437 100644 --- a/subsys/canbus/isotp/isotp.c +++ b/subsys/canbus/isotp/isotp.c @@ -36,7 +36,7 @@ static struct isotp_global_ctx global_ctx = { #ifdef CONFIG_ISOTP_USE_TX_BUF NET_BUF_POOL_VAR_DEFINE(isotp_tx_pool, CONFIG_ISOTP_TX_BUF_COUNT, - CONFIG_ISOTP_BUF_TX_DATA_POOL_SIZE, NULL); + CONFIG_ISOTP_BUF_TX_DATA_POOL_SIZE, 0, NULL); #endif static void receive_state_machine(struct isotp_recv_ctx *ctx); diff --git a/subsys/net/ip/net_pkt.c b/subsys/net/ip/net_pkt.c index cc04c9b438c..78ba4c337ce 100644 --- a/subsys/net/ip/net_pkt.c +++ b/subsys/net/ip/net_pkt.c @@ -126,9 +126,9 @@ NET_BUF_POOL_FIXED_DEFINE(tx_bufs, CONFIG_NET_BUF_TX_COUNT, #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, NULL); + 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, NULL); + CONFIG_NET_BUF_DATA_POOL_SIZE, 4, NULL); #endif /* CONFIG_NET_BUF_FIXED_DATA_SIZE */ diff --git a/subsys/net/lib/capture/capture.c b/subsys/net/lib/capture/capture.c index d8f406157b0..2d2308ff292 100644 --- a/subsys/net/lib/capture/capture.c +++ b/subsys/net/lib/capture/capture.c @@ -45,7 +45,7 @@ NET_BUF_POOL_FIXED_DEFINE(capture_bufs, CONFIG_NET_CAPTURE_BUF_COUNT, CONFIG_NET_BUF_DATA_SIZE, NULL); #else NET_BUF_POOL_VAR_DEFINE(capture_bufs, CONFIG_NET_CAPTURE_BUF_COUNT, - CONFIG_NET_BUF_DATA_POOL_SIZE, NULL); + CONFIG_NET_BUF_DATA_POOL_SIZE, 4, NULL); #endif static sys_slist_t net_capture_devlist; diff --git a/tests/net/buf/src/main.c b/tests/net/buf/src/main.c index 1d8ffd5a655..03d4a8b841d 100644 --- a/tests/net/buf/src/main.c +++ b/tests/net/buf/src/main.c @@ -65,7 +65,7 @@ static void var_destroy(struct net_buf *buf); NET_BUF_POOL_HEAP_DEFINE(bufs_pool, 10, buf_destroy); NET_BUF_POOL_FIXED_DEFINE(fixed_pool, 10, 128, fixed_destroy); -NET_BUF_POOL_VAR_DEFINE(var_pool, 10, 1024, var_destroy); +NET_BUF_POOL_VAR_DEFINE(var_pool, 10, 1024, 0, var_destroy); static void buf_destroy(struct net_buf *buf) {