-
Epic
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
None
-
[openvswitch]ping between ovn logical ports failed crossing nat because of checksum error
-
False
-
-
False
-
-
rhel-net-ovs-dpdk
-
100% To Do, 0% In Progress, 0% Done
-
ssg_networking
-
Moderate
This epic tracks all the effort needed to deliver the solution related to the bug described below.
Versions:
RPM_OVS=https://download.eng.bos.redhat.com/brewroot/packages/openvswitch3.2/3.2.0/37.el9fdp/x86_64/openvswitch3.2-3.2.0-37.el9fdp.x86_64.rpm
RPM_OVN_COMMON=https://download.eng.bos.redhat.com/brewroot/packages/ovn22.12/22.12.1/35.el9fdp/x86_64/ovn22.12-22.12.1-35.el9fdp.x86_64.rpm
RPM_SELINUX=http://download-node-02.eng.bos.redhat.com/brewroot/packages/openvswitch-selinux-extra-policy/1.0/34.el9fdp/noarch/openvswitch-selinux-extra-policy-1.0-34.el9fdp.noarch.rpm
kernel-5.14.0-284.45.1.el9_2.x86_64
nic driver: mlx5_core
step:
1. create ovn environment with DPDK datapath.
2.create lr1 and ls1 and ls2
3.apply nat on rl1
4.ping from ls1p1 to ls2p1, the starting one or two icmp requests can get reply, but the following can't
5. looks like the ICMP request arrived at ls2p1 has wrong checksum.
[root@dell-per740-17 nat]# ip netns exec ls2p1 tcpdump -i ls2p1 -ennv
dropped privs to tcpdump
tcpdump: listening on ls2p1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
03:35:17.101798 00:de:ad:ff:01:02 > 00:00:00:01:02:01, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 6374, offset 0, flags [DF], proto ICMP (1), length 84)
177.31.36.11 > 172.1.36.21: ICMP echo request, id 35748, seq 1, length 64
03:35:17.101816 00:00:00:01:02:01 > 00:de:ad:ff:01:02, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 126, offset 0, flags [none], proto ICMP (1), length 84)
172.1.36.21 > 177.31.36.11: ICMP echo reply, id 35748, seq 1, length 64
03:35:18.111669 00:de:ad:ff:01:02 > 00:00:00:01:02:01, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 7197, offset 0, flags [DF], proto ICMP (1), length 84, bad cksum 6a69 (->7a4b)!)
177.31.36.11 > 172.1.36.21: ICMP echo request, id 35748, seq 2, length 64
03:35:19.135629 00:de:ad:ff:01:02 > 00:00:00:01:02:01, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 7767, offset 0, flags [DF], proto ICMP (1), length 84, bad cksum 682f (->7811)!)
177.31.36.11 > 172.1.36.21: ICMP echo request, id 35748, seq 3, length 64
For detailed steps, please see: dpdk_basic_nat() in https://gitlab.cee.redhat.com/kernel-qe/kernel/-/blob/master/networking/openvswitch/ovn/nat/runtest.sh?ref_type=heads
This issue doesn't happen when using https://download.eng.bos.redhat.com/brewroot/vol/rhel-9/packages/openvswitch3.1/3.1.0/59.el9fdp/x86_64/openvswitch3.1-3.1.0-59.el9fdp.x86_64.rpm