net/pcap: fix input only Rx
authorFerruh Yigit <ferruh.yigit@intel.com>
Thu, 8 Oct 2020 11:34:25 +0000 (12:34 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 16 Oct 2020 17:18:47 +0000 (19:18 +0200)
When input only Rx interface argument 'rx_iface_in' provided, current
code assigns 'eth_null_rx' burst function by mistake and no packet
received as a result.
Like in following usage no packets received from physical interface:
"--vdev net_pcap0,rx_iface_in=eth0,tx_iface=eth0"

Fixing the burst function assignment when 'rx_iface_in' argument is used

Fixes: f14a94591504 ("net/pcap: remove Rx queue argument necessity")
Cc: stable@dpdk.org
Reported-by: Muthurajan Jayakumar <muthurajan.jayakumar@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/pcap/rte_eth_pcap.c

index da49880..057aa9d 100644 (file)
@@ -1416,7 +1416,8 @@ pmd_pcap_probe(struct rte_vdev_device *dev)
        devargs_all.is_rx_pcap =
                rte_kvargs_count(kvlist, ETH_PCAP_RX_PCAP_ARG) ? 1 : 0;
        devargs_all.is_rx_iface =
-               rte_kvargs_count(kvlist, ETH_PCAP_RX_IFACE_ARG) ? 1 : 0;
+               (rte_kvargs_count(kvlist, ETH_PCAP_RX_IFACE_ARG) +
+                rte_kvargs_count(kvlist, ETH_PCAP_RX_IFACE_IN_ARG)) ? 1 : 0;
        pcaps.num_of_queue = 0;
 
        devargs_all.is_tx_pcap =