The maximum number of rings in af_packet is hard coded as 16. The user should be able to configure this as part of DPDK config.
Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- config/common_base | 1 + drivers/net/af_packet/rte_eth_af_packet.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/config/common_base b/config/common_base index 6ea9c63cc36b..dd154a474b57 100644 --- a/config/common_base +++ b/config/common_base @@ -468,6 +468,7 @@ CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=n # Compile software PMD backed by AF_PACKET sockets (Linux only) # CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n +CONFIG_RTE_PMD_AF_PACKET_MAX_RINGS=16 # # Compile software PMD backed by AF_XDP sockets (Linux only) diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c index f5806bf42c46..6e90d231ca4f 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c @@ -6,6 +6,7 @@ * All rights reserved. */ +#include <rte_config.h> #include <rte_string_fns.h> #include <rte_mbuf.h> #include <rte_ethdev_driver.h> @@ -37,7 +38,9 @@ #define DFLT_FRAME_SIZE (1 << 11) #define DFLT_FRAME_COUNT (1 << 9) +#ifndef RTE_PMD_AF_PACKET_MAX_RINGS #define RTE_PMD_AF_PACKET_MAX_RINGS 16 +#endif struct pkt_rx_queue { int sockfd; -- 2.20.1