Hi, guys,

I am trying a very easy PVP test case in my setup, which uses TRex as the 
traffic generator, VPP as the vswitch, and testpmd as the loopback VNF. The 
flow is similar to page 5 in this document: 
http://fast.dpdk.org/doc/perf/DPDK_17_08_Intel_virtio_performance_report.pdf, 
except I am using two physical ports running on two VLANs and two vhost-user 
ports instead of one in the document.

I am generating bi-directional traffic with SRC MAC to NIC_PORT_A/NIC_PORT_B, 
DST_MAC to VNF_PORT_A/VNF_PORT_B, SRC_IP: 10.0.0.1, DST_IP: 20.0.0.1. 
Initially, vswitch will flood the packets from both directions to all VMs in 
the same bridge domain (VLAN). But after testpmd is up running and starting to 
forward the traffic, the vswitch will learn the MAC address of both vhost-user 
ports, and flood will stop. When there is only one pair, the whole thing works 
perfectly fine. But when I am sending a second pair of flow with SRC_MAC to 
NIC_PORT_A/NIC_PORT_B, DST_MAC to RANDOM_1/RANDOM_2, SRC_IP: random, DST_IP: 
random. Things are not working as expected.

Without static L2 fib entries, vswitch again will start flood the packet to all 
VMs in the same bridge domain, which means the testpmd VNF will also get the 
packets with DST_MAC to RANDOM_1/RANDOM_2. In the case of promiscuous mode 
enabled (by default) of testpmd VM, it will forward the packets regardless as 
it doesn’t really care about the MAC addresses in the packets at all. However, 
when I turned off the promiscuous mode (set promisc all off) in testpmd, I am 
still seeing testpmd forwarding the packets which supposed to be dropped, i.e. 
the behavior doesn’t change.

I tried both 17.05.2 and 17.08, same behavior. So am I understanding wrong with 
the promiscuous behavior of testpmd, or this is a bug?

Thanks very much for helps!

Regards,
Yichen

Reply via email to