@@ -307,6 +307,7 @@ CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
# Compile software PMD backed by PCAP files
#
CONFIG_RTE_LIBRTE_PMD_PCAP=n
+CONFIG_RTE_PMD_PCAP_MAX_QUEUES=16
#
# Compile link bonding PMD library
@@ -87,22 +87,22 @@ struct pcap_tx_queue {
struct rx_pcaps {
unsigned num_of_rx;
- pcap_t *pcaps[RTE_PMD_RING_MAX_RX_RINGS];
- const char *names[RTE_PMD_RING_MAX_RX_RINGS];
- const char *types[RTE_PMD_RING_MAX_RX_RINGS];
+ pcap_t *pcaps[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *names[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *types[RTE_PMD_PCAP_MAX_QUEUES];
};
struct tx_pcaps {
unsigned num_of_tx;
- pcap_dumper_t *dumpers[RTE_PMD_RING_MAX_TX_RINGS];
- pcap_t *pcaps[RTE_PMD_RING_MAX_RX_RINGS];
- const char *names[RTE_PMD_RING_MAX_RX_RINGS];
- const char *types[RTE_PMD_RING_MAX_RX_RINGS];
+ pcap_dumper_t *dumpers[RTE_PMD_PCAP_MAX_QUEUES];
+ pcap_t *pcaps[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *names[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *types[RTE_PMD_PCAP_MAX_QUEUES];
};
struct pmd_internals {
- struct pcap_rx_queue rx_queue[RTE_PMD_RING_MAX_RX_RINGS];
- struct pcap_tx_queue tx_queue[RTE_PMD_RING_MAX_TX_RINGS];
+ struct pcap_rx_queue rx_queue[RTE_PMD_PCAP_MAX_QUEUES];
+ struct pcap_tx_queue tx_queue[RTE_PMD_PCAP_MAX_QUEUES];
int if_index;
int single_iface;
};
pcap pmd is using ring pmd configuration parameters to set max number of queues. This creates an unnecessary dependency and confusion. Create a new config parameter for pcap PMD: CONFIG_RTE_PMD_PCAP_MAX_QUEUES Default value of config is same as ring parameter default. pcap pmd doesn't need to be configured in a detail to set rx and tx max queue numbers separately, so using same config item for both queues. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- config/common_base | 1 + drivers/net/pcap/rte_eth_pcap.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-)