On 6/5/2018 6:10 PM, Ido Goshen wrote: > The problem is if a dpdk app uses the same iface(s) both as rx_iface and > tx_iface then it will receive back the packets it sends. > If my app sends a packet to portid=X with rte_eth_tx_burst() then I wouldn't > expect to receive it back by rte_eth_rx_burst() for that same portid=X > (assuming of course there's no external loopback) > This is coming from the default nature of pcap that like a sniffer captures > both incoming and outgoing direction. > The patch provides an option to limit pcap rx_iface to get only incoming > traffic which is more like a real (non-pcap) dpdk device. > > for example: > when using existing *rx_iface* > l2fwd -c 3 -n1 --no-huge --vdev=eth_pcap0,rx_iface=eth1,tx_iface=eth1 > --vdev=eth_pcap1,rx_iface=dummy0,tx_iface=dummy0 -- -p 3 -T 1 > sending only 1 single packet into eth1 will end in an infinite loop -
If you are using same interface for both Rx & Tx, why not using "iface=xxx" argument, can you please test with following: l2fwd -c 3 -n1 --no-huge --vdev=eth_pcap0,iface=eth1 --vdev=eth_pcap1,iface=dummy0 -- -p 3 -T 1 I can't reproduce the issue with above command. Thanks, ferruh