Bug 2075121

Summary: packets from external network with size slightly greater than mtu are allowed
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Eduardo Olivares <eolivare>
Component: ovn-2021Assignee: lorenzo bianconi <lorenzo.bianconi>
Status: CLOSED ERRATA QA Contact: Ehsan Elahi <eelahi>
Severity: medium Docs Contact:
Priority: unspecified    
Version: FDP 22.CCC: ctrautma, jiji, jishi, lorenzo.bianconi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-30 18:00:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Eduardo Olivares 2022-04-13 16:27:02 UTC
Description of problem:
This bug is similar to BZ2018179 and has been reproduced on an openstack environment with ovn too.
It seems packets with size slightly greater than mtu value are not rejected, but it a bigger packet is sent, the route cache from the sender's kernel is properly set with the mtu value.


Steps to Reproduce:
1. Create a tenant network with MTU=9000 and an external network with MTU=1500
2. A router connects the internal network with the external network
3. A VM is created with a port connected to the internal network
4. A FIP is created on the external network and added to the VM
5. From the undercloud node, which is connected to the external network, run these commands in order (*):
   a. ping -s 1472 -M do <fip> (packet size = 1500) -> pings reach the VM and are successfully replied - CORRECT
   b. ping -s 1473 -M do <fip> (packet size = 1501) -> pings reach the VM and are successfully replied - WRONG!
   c. ping -s 1477 -M do <fip> (packet size = 1505) -> echo requests dropped - "Frag needed and DF set (mtu = 1500)" recieved - the kernel route cache is updated with mtu=1500 for N seconds - CORRECT AND WORKAROUND
   d. ping -s 1473 -M do <fip> (packet size = 1501) -> ping: local error: Message too long, mtu=1500 - CORRECT
 

tcpdump from step 5.b (wrong, the request should have been rejected):
16:19:15.621616 52:54:00:4b:b0:b8 > fa:16:3e:7d:dc:76, ethertype IPv4 (0x0800), length 1515: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 1501)                                                                      
    10.0.0.58 > 10.0.0.233: ICMP echo request, id 24668, seq 1, length 1481
16:19:15.624190 fa:16:3e:7d:dc:76 > 52:54:00:4b:b0:b8, ethertype IPv4 (0x0800), length 1515: (tos 0x0, ttl 63, id 2352, offset 0, flags [none], proto ICMP (1), length 1501)                                                                 
    10.0.0.233 > 10.0.0.58: ICMP echo reply, id 24668, seq 1, length 1481


tcpdump from step 5.c (right, the request was replied with "unreachable - need to frag"):
16:19:37.554909 52:54:00:4b:b0:b8 > fa:16:3e:7d:dc:76, ethertype IPv4 (0x0800), length 1519: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 1505)                                                                      
    10.0.0.58 > 10.0.0.233: ICMP echo request, id 25781, seq 1, length 1485
16:19:37.556997 fa:16:3e:7d:dc:76 > 52:54:00:4b:b0:b8, ethertype IPv4 (0x0800), length 576: (tos 0x0, ttl 254, id 0, offset 0, flags [DF], proto ICMP (1), length 562)                                                                       
    10.0.0.233 > 10.0.0.58: ICMP 10.0.0.233 unreachable - need to frag (mtu 1500), length 542
        (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 1505)



 
(*) 'ping -s N <destIP>' sends packets of size N+28 (IP headers (20) + ICMP headers(8))
 
 
Version-Release number of selected component (if applicable):
ovn-2021-21.12.0-11
RHOS-16.2-RHEL-8-20220329.n.2

Comment 1 lorenzo bianconi 2022-04-14 16:42:24 UTC
(In reply to Eduardo Olivares from comment #0)
> Description of problem:
> This bug is similar to BZ2018179 and has been reproduced on an openstack
> environment with ovn too.
> It seems packets with size slightly greater than mtu value are not rejected,
> but it a bigger packet is sent, the route cache from the sender's kernel is
> properly set with the mtu value.
> 
> 
> Steps to Reproduce:
> 1. Create a tenant network with MTU=9000 and an external network with
> MTU=1500
> 2. A router connects the internal network with the external network
> 3. A VM is created with a port connected to the internal network
> 4. A FIP is created on the external network and added to the VM
> 5. From the undercloud node, which is connected to the external network, run
> these commands in order (*):
>    a. ping -s 1472 -M do <fip> (packet size = 1500) -> pings reach the VM
> and are successfully replied - CORRECT
>    b. ping -s 1473 -M do <fip> (packet size = 1501) -> pings reach the VM
> and are successfully replied - WRONG!
>    c. ping -s 1477 -M do <fip> (packet size = 1505) -> echo requests dropped
> - "Frag needed and DF set (mtu = 1500)" recieved - the kernel route cache is
> updated with mtu=1500 for N seconds - CORRECT AND WORKAROUND
>    d. ping -s 1473 -M do <fip> (packet size = 1501) -> ping: local error:
> Message too long, mtu=1500 - CORRECT
>  
> 
> tcpdump from step 5.b (wrong, the request should have been rejected):
> 16:19:15.621616 52:54:00:4b:b0:b8 > fa:16:3e:7d:dc:76, ethertype IPv4
> (0x0800), length 1515: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
> ICMP (1), length 1501)                                                      
> 
>     10.0.0.58 > 10.0.0.233: ICMP echo request, id 24668, seq 1, length 1481
> 16:19:15.624190 fa:16:3e:7d:dc:76 > 52:54:00:4b:b0:b8, ethertype IPv4
> (0x0800), length 1515: (tos 0x0, ttl 63, id 2352, offset 0, flags [none],
> proto ICMP (1), length 1501)                                                
> 
>     10.0.0.233 > 10.0.0.58: ICMP echo reply, id 24668, seq 1, length 1481
> 
> 
> tcpdump from step 5.c (right, the request was replied with "unreachable -
> need to frag"):
> 16:19:37.554909 52:54:00:4b:b0:b8 > fa:16:3e:7d:dc:76, ethertype IPv4
> (0x0800), length 1519: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
> ICMP (1), length 1505)                                                      
> 
>     10.0.0.58 > 10.0.0.233: ICMP echo request, id 25781, seq 1, length 1485
> 16:19:37.556997 fa:16:3e:7d:dc:76 > 52:54:00:4b:b0:b8, ethertype IPv4
> (0x0800), length 576: (tos 0x0, ttl 254, id 0, offset 0, flags [DF], proto
> ICMP (1), length 562)                                                       
> 
>     10.0.0.233 > 10.0.0.58: ICMP 10.0.0.233 unreachable - need to frag (mtu
> 1500), length 542
>         (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length
> 1505)
> 
> 
> 
>  
> (*) 'ping -s N <destIP>' sends packets of size N+28 (IP headers (20) + ICMP
> headers(8))
>  
>  
> Version-Release number of selected component (if applicable):
> ovn-2021-21.12.0-11
> RHOS-16.2-RHEL-8-20220329.n.2

ovn relies on VLAN_ETH_HEADER_LEN (18) to compute packet length:

packet_len = gw_mtu + VLAN_ETH_HEADER_LEN

https://github.com/ovn-org/ovn/blob/main/northd/northd.c#L10749

In the previous example, can you please set gateway_mtu to 1496?

$ovn-nbctl set logical_router_port <lrp> options:gateway_mtu=1496

Comment 8 Ehsan Elahi 2022-06-08 14:35:18 UTC
###### Reproduced On #####
[root@wsfd-2075121 ~]# rpm -qa |grep -E 'ovn|openvswitch'
openvswitch-selinux-extra-policy-1.0-28.el8fdp.noarch
ovn-2021-host-21.12.0-11.el8fdp.x86_64
ovn-2021-21.12.0-11.el8fdp.x86_64
ovn-2021-central-21.12.0-11.el8fdp.x86_64
openvswitch2.15-2.15.0-93.el8fdp.x86_64

###### HV1 ######
systemctl start ovn-northd
ovn-nbctl set-connection ptcp:6641
ovn-sbctl set-connection ptcp:6642
systemctl start openvswitch
ovs-vsctl set open . external_ids:system-id=hv1
ovs-vsctl set open . external_ids:ovn-remote=tcp:192.168.1.1:6642
ovs-vsctl set open . external_ids:ovn-encap-type=geneve
ovs-vsctl set open . external_ids:ovn-encap-ip=192.168.1.1
ovs-vsctl set open . external_ids:ovn-monitor-all=true
systemctl start ovn-controller

ovn-nbctl lr-add R1                                                                                   

ovn-nbctl ls-add sw0
ovn-nbctl ls-add public                                                                               

ovn-nbctl lrp-add R1 rp-sw0 00:00:01:01:02:03 192.168.1.1/24
ovn-nbctl lrp-add R1 rp-public 00:00:02:01:02:03 172.16.1.1/24 1000::a/64 -- lrp-set-gateway-chassis rp-public hv0

ovs-vsctl add-br br-ext
ovs-vsctl add-port br-ext ens1f0
ip link set ens1f0 up
ip link set ens1f0 mtu 1500

ovn-nbctl lsp-add sw0 sw0-rp 
ovn-nbctl set Logical_Switch_Port sw0-rp type=router options:router-port=rp-sw0
ovn-nbctl lsp-set-addresses sw0-rp router

ovn-nbctl lsp-add public public-rp 
ovn-nbctl set Logical_Switch_Port public-rp type=router options:router-port=rp-public
ovn-nbctl lsp-set-addresses public-rp router

ovn-nbctl lsp-add sw0 sw01
ovn-nbctl lsp-set-addresses sw01 "f0:00:00:01:02:03 192.168.1.2"

# node on tenant network
ovs-vsctl add-port br-int sw01 -- set interface sw01 type=internal external_ids:iface-id=sw01
ip netns add sw01
ip link set sw01 netns sw01                                                                           
ip netns exec sw01 ip link set sw01 address f0:00:00:01:02:03
ip netns exec sw01 ip link set sw01 up                                                                
ip netns exec sw01 ip link set sw01 mtu 9000
ip netns exec sw01 ip addr add 192.168.1.2/24 dev sw01
ip netns exec sw01 ip route add default via 192.168.1.1 dev sw01

# node on external network
ovs-vsctl add-port br-ext server -- set interface server type=internal
ip netns add server                                                                                   
ip netns exec server ip link set lo up
ip link set server netns server
ip netns exec server ip link set server mtu 9000                                                      
ip netns exec server ip link set server up                                                            
ip netns exec server ip addr add 172.16.1.50/24 dev server

ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext
ovn-nbctl lsp-add public public1 
ovn-nbctl lsp-set-addresses public1 unknown
ovn-nbctl lsp-set-type public1 localnet 
ovn-nbctl lsp-set-options public1 network_name=phynet

ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.1.10 192.168.1.2 sw01 00:00:02:01:02:03
ovn-nbctl set logical_router_port rp-public options:gateway_mtu=1500
ovn-nbctl --wait=hv sync

###### HV0 ######

systemctl start ovn-northd
systemctl start openvswitch
ovs-vsctl set open . external_ids:system-id=hv0
ifconfig ens5f0 192.168.1.2 netmask 255.255.0.0
ovs-vsctl set open . external_ids:ovn-remote=tcp:192.168.1.1:6642
ovs-vsctl set open . external_ids:ovn-encap-type=geneve
ovs-vsctl set open . external_ids:ovn-encap-ip=192.168.1.2
ovs-vsctl add-br br-ex
ovs-vsctl set open . external_ids:ovn-bridge-mappings=physnet1:br-ex
ovs-vsctl set open . external_ids:ovn-monitor-all=true
systemctl start ovn-controller

ovs-vsctl add-br br-ext                                                                               
ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext                           
ovs-vsctl add-port br-ext ens5f0
ip link set ens5f0 up                                                                                 
ip link set ens5f0 mtu 1500


####### on HV1 ######

[root@wsfd-2075121 ~]# ip netns exec server tcpdump -i any -w icmp.pcap &
[1] 92370
[root@wsfd-2075121 ~]# dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1
PING 172.16.1.10 (172.16.1.10) 56(84) bytes of data.
64 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=1.68 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.682/1.682/1.682/0.000 ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1472
PING 172.16.1.10 (172.16.1.10) 1472(1500) bytes of data.
1480 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=0.170 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.170/0.170/0.170/0.000 ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1473             #############>> shouldn't be successful
PING 172.16.1.10 (172.16.1.10) 1473(1501) bytes of data.
1481 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=0.039 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.039/0.039/0.039/0.000 ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1477
PING 172.16.1.10 (172.16.1.10) 1477(1505) bytes of data.
From 172.16.1.10 icmp_seq=1 Frag needed and DF set (mtu = 1500)

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1473
PING 172.16.1.10 (172.16.1.10) 1473(1501) bytes of data.
1481 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=0.336 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.336/0.336/0.336/0.000 ms

[root@wsfd-2075121 ~]# pkill -9 tcpdump
[root@wsfd-2075121 ~]# sleep 5
[1]+  Killed                  ip netns exec server tcpdump -i any -w icmp.pcap

[root@wsfd-2075121 ~]# tcpdump -r icmp.pcap -nnvv
reading from file icmp.pcap, link-type LINUX_SLL (Linux cooked v1)
dropped privs to tcpdump
09:59:56.832823 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
09:59:57.855999 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
09:59:58.879972 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
09:59:59.904027 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:00.927967 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:01.951982 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:05.376882 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::b0b2:e2ff:fe90:6392 > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
	  source link-address option (1), length 8 (1): b2:b2:e2:90:63:92
	    0x0000:  b2b2 e290 6392
10:00:07.912266 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:08.927995 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:09.429517 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.16.1.10 tell 172.16.1.50, length 28
10:00:09.429751 ARP, Ethernet (len 6), IPv4 (len 4), Reply 172.16.1.10 is-at 00:00:02:01:02:03, length 28
10:00:09.429755 IP (tos 0x0, ttl 64, id 51095, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 26836, seq 1, length 64
10:00:09.430584 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.16.1.50 tell 172.16.1.10, length 28
10:00:09.430589 ARP, Ethernet (len 6), IPv4 (len 4), Reply 172.16.1.50 is-at b2:b2:e2:90:63:92, length 28
10:00:09.431186 IP (tos 0x0, ttl 63, id 29605, offset 0, flags [none], proto ICMP (1), length 84)
    172.16.1.10 > 172.16.1.50: ICMP echo reply, id 26836, seq 1, length 64
10:00:09.448134 IP (tos 0x0, ttl 64, id 51100, offset 0, flags [DF], proto ICMP (1), length 1500)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 26837, seq 1, length 1480
10:00:09.448284 IP (tos 0x0, ttl 63, id 29612, offset 0, flags [none], proto ICMP (1), length 1500)
    172.16.1.10 > 172.16.1.50: ICMP echo reply, id 26837, seq 1, length 1480
10:00:09.466771 IP (tos 0x0, ttl 64, id 51113, offset 0, flags [DF], proto ICMP (1), length 1501)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 26838, seq 1, length 1481
10:00:09.466797 IP (tos 0x0, ttl 63, id 29619, offset 0, flags [none], proto ICMP (1), length 1501)
    172.16.1.10 > 172.16.1.50: ICMP echo reply, id 26838, seq 1, length 1481
10:00:09.485786 IP (tos 0x0, ttl 64, id 51116, offset 0, flags [DF], proto ICMP (1), length 1505)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 26839, seq 1, length 1485
10:00:09.486370 IP (tos 0x0, ttl 254, id 0, offset 0, flags [DF], proto ICMP (1), length 562)
    172.16.1.10 > 172.16.1.50: ICMP 172.16.1.10 unreachable - need to frag (mtu 1500), length 542
	IP (tos 0x0, ttl 64, id 51116, offset 0, flags [DF], proto ICMP (1), length 1505)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 26839, seq 1, length 1485
10:00:09.951982 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:10.976024 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:00:11.420718 IP (tos 0x0, ttl 64, id 52551, offset 0, flags [+], proto ICMP (1), length 1500)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 26840, seq 1, length 1480
10:00:11.420897 IP (tos 0x0, ttl 64, id 52551, offset 1480, flags [none], proto ICMP (1), length 21)
    172.16.1.50 > 172.16.1.10: ip-proto-1
tcpdump: pcap_loop: truncated dump file; tried to read 1517 captured bytes, only got 1062

Comment 9 Ehsan Elahi 2022-06-08 14:36:45 UTC
########## Verified On ###########

[root@wsfd-2075121 ~]# rpm -qa |grep -E 'ovn|openvswitch'
openvswitch-selinux-extra-policy-1.0-28.el8fdp.noarch
ovn-2021-host-21.12.0-73.el8fdp.x86_64
ovn-2021-21.12.0-73.el8fdp.x86_64
ovn-2021-central-21.12.0-73.el8fdp.x86_64
openvswitch2.15-2.15.0-93.el8fdp.x86_64

[root@wsfd-2075121 ~]# ip netns exec server tcpdump -i any -w icmp.pcap &
[1] 94374

[root@wsfd-2075121 ~]# dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1
PING 172.16.1.10 (172.16.1.10) 56(84) bytes of data.
64 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=1.57 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.571/1.571/1.571/0.000 ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1472
PING 172.16.1.10 (172.16.1.10) 1472(1500) bytes of data.
1480 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=0.211 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.211/0.211/0.211/0.000 ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1473
PING 172.16.1.10 (172.16.1.10) 1473(1501) bytes of data.
From 172.16.1.10 icmp_seq=1 Frag needed and DF set (mtu = 1500)

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1477
PING 172.16.1.10 (172.16.1.10) 1477(1505) bytes of data.

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

[root@wsfd-2075121 ~]# ip netns exec server ping 172.16.1.10 -c 1 -s 1473
PING 172.16.1.10 (172.16.1.10) 1473(1501) bytes of data.
1481 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=0.348 ms

--- 172.16.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.348/0.348/0.348/0.000 ms

[root@wsfd-2075121 ~]# pkill -9 tcpdump

[root@wsfd-2075121 ~]# tcpdump -r icmp.pcap -nnvv
reading from file icmp.pcap, link-type LINUX_SLL (Linux cooked v1)
dropped privs to tcpdump
10:09:21.952077 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:22.976040 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:24.000022 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:27.552883 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::cce1:ceff:fec0:8a54 > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
	  source link-address option (1), length 8 (1): ce:e1:ce:c0:8a:54
	    0x0000:  cee1 cec0 8a54
10:09:29.960306 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:30.976044 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:32.000012 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:32.829616 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.16.1.10 tell 172.16.1.50, length 28
10:09:32.829898 ARP, Ethernet (len 6), IPv4 (len 4), Reply 172.16.1.10 is-at 00:00:02:01:02:03, length 28
10:09:32.829903 IP (tos 0x0, ttl 64, id 21187, offset 0, flags [DF], proto ICMP (1), length 84)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 28847, seq 1, length 64
10:09:32.830738 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 172.16.1.50 tell 172.16.1.10, length 28
10:09:32.830743 ARP, Ethernet (len 6), IPv4 (len 4), Reply 172.16.1.50 is-at ce:e1:ce:c0:8a:54, length 28
10:09:32.831159 IP (tos 0x0, ttl 63, id 1258, offset 0, flags [none], proto ICMP (1), length 84)
    172.16.1.10 > 172.16.1.50: ICMP echo reply, id 28847, seq 1, length 64
10:09:32.855817 IP (tos 0x0, ttl 64, id 21200, offset 0, flags [DF], proto ICMP (1), length 1500)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 28848, seq 1, length 1480
10:09:32.855941 IP (tos 0x0, ttl 63, id 1282, offset 0, flags [none], proto ICMP (1), length 1500)
    172.16.1.10 > 172.16.1.50: ICMP echo reply, id 28848, seq 1, length 1480
10:09:32.876983 IP (tos 0x0, ttl 64, id 21212, offset 0, flags [DF], proto ICMP (1), length 1501)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 28849, seq 1, length 1481
10:09:32.877603 IP (tos 0x0, ttl 254, id 0, offset 0, flags [DF], proto ICMP (1), length 562)
    172.16.1.10 > 172.16.1.50: ICMP 172.16.1.10 unreachable - need to frag (mtu 1500), length 542
	IP (tos 0x0, ttl 64, id 21212, offset 0, flags [DF], proto ICMP (1), length 1501)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 28849, seq 1, length 1481
10:09:32.896018 IP (tos 0x0, ttl 64, id 21223, offset 0, flags [+], proto ICMP (1), length 1500)
    172.16.1.50 > 172.16.1.10: ICMP echo request, id 28850, seq 1, length 1480
10:09:32.896148 IP (tos 0x0, ttl 64, id 21223, offset 1480, flags [none], proto ICMP (1), length 25)
    172.16.1.50 > 172.16.1.10: ip-proto-1
10:09:33.024055 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:34.048024 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:35.071984 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
10:09:41.032231 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.1 tell 192.168.1.2, length 46
tcpdump: pcap_loop: truncated dump file; tried to read 62 captured bytes, only got 32
[1]+  Killed                  ip netns exec server tcpdump -i any -w icmp.pcap

Comment 10 Ehsan Elahi 2022-06-08 14:45:26 UTC
########## Also Verified on ###########
[root@wsfd-2075121 ~]# rpm -qa |grep -E 'ovn|openvswitch'
openvswitch-selinux-extra-policy-1.0-31.el8fdp.noarch
openvswitch2.16-2.16.0-52.el8fdp.x86_64
ovn22.03-22.03.0-52.el8fdp.x86_64
ovn22.03-host-22.03.0-52.el8fdp.x86_64
ovn22.03-central-22.03.0-52.el8fdp.x86_64

####### And Verified on #######
[root@wsfd-2075121 ~]# rpm -qa |grep -E 'ovn|openvswitch'
openvswitch-selinux-extra-policy-1.0-31.el9fdp.noarch
openvswitch2.16-2.16.0-52.el9fdp.x86_64
ovn22.03-22.03.0-52.el9fdp.x86_64
ovn22.03-central-22.03.0-52.el9fdp.x86_64
ovn22.03-host-22.03.0-52.el9fdp.x86_64

Comment 12 errata-xmlrpc 2022-06-30 18:00:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (ovn bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:5446