Open tiagonux opened 6 months ago
Hey @igsilya
I created this reproducer[0] where you can reproduce this issue. Could you take a look?
[0] https://pastebin.com/Qw0wGyJ3
Regards,
Tiago Pires
Hi,
This reproducer when using the option "run", it will create 90 LRs, LSs, NAT rules for namespaces. While it is running, there is a ping for v4 and v6 running in paralelal and the output is saved to individual files into the /tmp/*. For exemple, when using OVS 3.x I can see the v6's ping working but the flow related with it on the datapath is flapping. And regarding the v4's ping, the flow is installed on the datapath and it still there until the ping is finalized, so that shows the issue only affect the ICMP v6 packets.
Tiago Pires
Thanks @tiagonux ! I'll try to check it later this week. One question: Are you running it on Ubuntu? If so, which version?
Hey @igsilya,
I'm running on Ubuntu 22.04(jammy).
Thanks
Tiago Pires
Hi all,
Bringing this thread discussion to here -> https://www.mail-archive.com/ovs-discuss@openvswitch.org/msg09948.html that is reporting an issue regarding ICMP v6 packets.
While testing the upgrade path from OVN 22.03.1/OVS 2.17.2 to OVN 23.03.1/OVS 3.1.3 on Ubuntu 22.04/kernel 5.15 and 6.5 we are seeing a strange behavior for icmpv6 traffic. Before the upgrade a simple north-south or west-east ping between IPv6 hosts would have a low jitter like below:
But after the upgrade, the same ping started to have a higher jitter:
The icmp v4 is not affected and we have the same jitter before and after the upgrade. Regarding throughput, I ran a TCP/UDP (v4/v6) throughput test before and after the upgrade and the numbers are similar, so it seems it happens only in special with icmpv6 traffic.
Checking the datapath, I can see the flow related with the in_port(1706) where the VM is connected being removed and installed again:
(Note: no OVS HW Offloading)
So, it seems there is a flow missing, the flow goes to userspace and it is installed again on the datapath. Maybe it can explain the higher jitter.
After debugging and trying to understand when this behavior was introduced, we figured out the offending commit was this one [0]. We backported only this commit to the OVS 2.17.2 and the issue was reproduced.
The flow below is an example that is always installed and removed from the datapath and is left with 0 packets matched:
Since the commit changed the behavior of the classifier, this may have introduced an issue for ICMP v6 packets.
[0] https://github.com/openvswitch/ovs/commit/132fa24b656e1bc45b6ce8ee9ab0206fa6930f65
Regards,
Tiago Pires