Hi all, we've been experiencing with OVS and its patch ports, and we set up a the following case:
One OVS bridge instance (created via add-br) is connected to two physical interfaces (our two-port Intel X710 NIC), and with an arbitrary number of patch ports (we used 12,24,36,48, etc.) this OVS bridge instance is connected to another bridge instance (created via add-br as well). For a simple setup, we installed the following rules into the flow tables: The first OVS (having the physical ports) is receiving traffic from one of the NIC ports (0), and forwards them to one of the patch ports (differentiated via VLAN tags). The second OVS bridge instance immediately loops the packets back on the same patch port where it received them. Finally, the first OVS bridge instance put these loop-backed traffic to the other NIC port (1) (see below - hopefully, ASCII art did not fall into pieces). +----------+ +---------+ 0 | OVS 1 |<---->|0 OVS 2 | --->| |<---->|1 | 1 | | .... | | <---| |<---->|12 | +----------+ +---------+ In this case, where the patch ports are basically "full-duplex" ones, i.e., OVS 1 sends traffic on each of them, while OVS 2 also passes back the packets on each of them, we deterministically experienced approx. 10% packet drop (number of patch ports has no impact on this). However, if we doubled the number of patch ports, and set up OVS 2 to loop-back the packets on the next patch ports instead, i.e., patch ports were considered as "simplex" (see below), then the packet loss was not observed. +----------+ +---------+ 0 | OVS 1 |----->|0 OVS 2 | --->| |<-----|1 | 1 | | .... | | <---| |----->|23 | | |<-----|24 | +----------+ +---------+ We used the openvswitch kernel module, and DPDK, and the observation applies to both cases, while we also 'played' with the sending rate as well to avoid 'overloading'. Could someone help us to understand this phenomenon? Best Regards, Levente
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss