Bug 2162489

Summary: [17.0][ML2-OVS][OFFLOAD][VLAN][ICMP] some icmp packets are not offloaded on vlan provider networks
Product: Red Hat OpenStack Reporter: Miguel Angel Nieto <mnietoji>
Component: openvswitchAssignee: OvS team <ovs-bugzilla>
Status: CLOSED DUPLICATE QA Contact: Eran Kuris <ekuris>
Severity: low Docs Contact:
Priority: unspecified    
Version: 17.0 (Wallaby)CC: apevec, chrisw
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: 2023-01-20 09:03:24 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 Miguel Angel Nieto 2023-01-19 17:34:06 UTC
Description of problem:
Executing ping from one vm in one compute to other vm in a different compute.

Sent 180 icmp packets, one each second
ping 30.30.220.112 -i 1 -c 180

64 bytes from 30.30.220.112: icmp_seq=169 ttl=64 time=0.066 ms
64 bytes from 30.30.220.112: icmp_seq=170 ttl=64 time=0.046 ms
64 bytes from 30.30.220.112: icmp_seq=171 ttl=64 time=0.079 ms
64 bytes from 30.30.220.112: icmp_seq=172 ttl=64 time=0.052 ms
64 bytes from 30.30.220.112: icmp_seq=173 ttl=64 time=0.065 ms
64 bytes from 30.30.220.112: icmp_seq=174 ttl=64 time=0.064 ms

In representor port I see:
compute in which vm is executing ping. There are 1 icmp request and 16 replies. So icmp requests are offloaded, but not all icmp replies are offloaded
17:16:49.787742 fa:16:3e:de:f0:49 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38                                                              
17:16:49.808522 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Reply 30.30.220.112 is-at fa:16:3e:25:09:53, length 42                                                                   
17:16:49.808589 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype IPv4 (0x0800), length 98: 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 1, length 64                                            
17:16:49.823513 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 1, length 64
17:16:50.790040 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 2, length 64
17:16:54.820375 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Reply 30.30.220.131 is-at fa:16:3e:de:f0:49, length 38
17:16:55.793161 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 7, length 64
17:16:55.822320 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Request who-has 30.30.220.131 tell 30.30.220.112, length 42
17:17:12.809675 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:17:16.806594 fa:16:3e:de:f0:49 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:17:16.825535 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Reply 30.30.220.112 is-at fa:16:3e:25:09:53, length 42
17:17:17.808130 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 29, length 64
17:17:26.814190 fa:16:3e:25:09:53 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 56: Request who-has 30.30.220.131 tell 30.30.220.112, length 42
17:17:39.833672 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:17:40.819519 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 52, length 64
17:17:43.821427 fa:16:3e:de:f0:49 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:17:43.822656 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Reply 30.30.220.112 is-at fa:16:3e:25:09:53, length 42
17:17:43.822776 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 55, length 64
17:17:43.822782 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 55, length 64
17:17:44.823296 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 56, length 64
17:18:06.841631 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:18:10.837050 fa:16:3e:de:f0:49 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:18:10.855549 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Reply 30.30.220.112 is-at fa:16:3e:25:09:53, length 42
17:18:11.874312 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 83, length 64
17:18:12.220021 9c:cc:83:52:5e:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 10.20.155.5 > 224.0.0.1: igmp query v3
17:18:20.270631 fa:16:3e:25:09:53 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 56: Request who-has 30.30.220.131 tell 30.30.220.112, length 42
17:18:34.281605 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:18:35.277133 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 106, length 64
17:18:38.280335 fa:16:3e:de:f0:49 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:18:38.281520 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Reply 30.30.220.112 is-at fa:16:3e:25:09:53, length 42
17:18:38.281641 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 109, length 64
17:18:38.281646 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 109, length 64
17:18:39.281886 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 110, length 64
17:18:58.292373 fa:16:3e:25:09:53 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 56: Request who-has 30.30.220.131 tell 30.30.220.112, length 42
17:18:58.292457 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Reply 30.30.220.131 is-at fa:16:3e:de:f0:49, length 38
17:18:58.520889 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 129, length 64
17:19:03.958933 26:52:6e:e3:41:ed > 33:33:00:00:00:02, ethertype IPv6 (0x86dd), length 70: fe80::2452:6eff:fee3:41ed > ff02::2: ICMP6, router solicitation, length 16
17:19:08.301029 fa:16:3e:de:f0:49 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:19:08.301886 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Reply 30.30.220.112 is-at fa:16:3e:25:09:53, length 42
17:19:08.302001 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 139, length 64
17:19:31.321572 fa:16:3e:de:f0:49 > fa:16:3e:25:09:53, ethertype ARP (0x0806), length 52: Request who-has 30.30.220.112 tell 30.30.220.131, length 38
17:19:32.314387 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype IPv4 (0x0800), length 98: 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 163, length 64
17:19:32.325052 fa:16:3e:25:09:53 > fa:16:3e:de:f0:49, ethertype ARP (0x0806), length 56: Request who-has 30.30.220.131 tell 30.30.220.112, length 42
17:20:17.229328 9c:cc:83:52:5e:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 10.20.155.5 > 224.0.0.1: igmp query v3
17:22:22.247313 9c:cc:83:52:5e:8a > 01:00:5e:00:00:01, ethertype IPv4 (0x0800), length 60: 10.20.155.5 > 224.0.0.1: igmp query v3


compute in which it is the IP in the ping. There are 15 requests and 3 replies. Some of the  packets are not offloaded 

17:16:49.788603 ARP, Reply 30.30.220.112 is-at fa:16:3e:25:09:53 (oui Unknown), length 38
17:16:49.814644 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 1, length 64
17:16:49.814690 IP 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 1, length 64
17:16:50.790230 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 2, length 64
17:17:16.807351 ARP, Request who-has 30.30.220.112 tell 30.30.220.131, length 42
17:17:16.807409 ARP, Reply 30.30.220.112 is-at fa:16:3e:25:09:53 (oui Unknown), length 38
17:17:17.807805 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 29, length 64
17:17:17.807857 IP 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 29, length 64
17:17:18.808121 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 30, length 64
17:17:26.813781 ARP, Request who-has 30.30.220.131 tell 30.30.220.112, length 38
17:17:26.814691 ARP, Reply 30.30.220.131 is-at fa:16:3e:de:f0:49 (oui Unknown), length 42
17:17:27.815032 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 39, length 64
17:17:43.822223 ARP, Request who-has 30.30.220.112 tell 30.30.220.131, length 42
17:17:43.822263 ARP, Reply 30.30.220.112 is-at fa:16:3e:25:09:53 (oui Unknown), length 38
17:17:43.822986 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 55, length 64
17:17:44.823495 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 56, length 64
17:17:45.817504 IP6 computehwoffload-r730 > ff02::2: ICMP6, router solicitation, length 16
17:17:48.955854 IP 10.20.155.5 > all-systems.mcast.net: igmp query v3
17:18:10.837867 ARP, Request who-has 30.30.220.112 tell 30.30.220.131, length 42
17:18:10.837910 ARP, Reply 30.30.220.112 is-at fa:16:3e:25:09:53 (oui Unknown), length 38
17:18:11.838231 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 83, length 64
17:18:11.838724 IP 30.30.220.112 > 30.30.220.131: ICMP echo reply, id 14234, seq 83, length 64
17:18:13.098472 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 84, length 64
17:18:20.269973 ARP, Request who-has 30.30.220.131 tell 30.30.220.112, length 38
17:18:20.271279 ARP, Reply 30.30.220.131 is-at fa:16:3e:de:f0:49 (oui Unknown), length 42
17:18:21.271590 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 92, length 64
17:18:38.281098 ARP, Request who-has 30.30.220.112 tell 30.30.220.131, length 42
17:18:38.281136 ARP, Reply 30.30.220.112 is-at fa:16:3e:25:09:53 (oui Unknown), length 38
17:18:38.281845 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 109, length 64
17:18:39.282082 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 110, length 64
17:18:54.292547 ARP, Request who-has 30.30.220.131 tell 30.30.220.112, length 38
17:18:55.288369 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 126, length 64
17:18:58.292111 ARP, Request who-has 30.30.220.131 tell 30.30.220.112, length 38
17:18:58.521066 ARP, Reply 30.30.220.131 is-at fa:16:3e:de:f0:49 (oui Unknown), length 42
17:19:01.293814 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 132, length 64
17:19:08.301820 ARP, Request who-has 30.30.220.112 tell 30.30.220.131, length 42
17:19:32.324544 ARP, Request who-has 30.30.220.131 tell 30.30.220.112, length 38
17:19:33.315603 IP 30.30.220.131 > 30.30.220.112: ICMP echo request, id 14234, seq 164, length 64
17:19:33.326763 ARP, Reply 30.30.220.131 is-at fa:16:3e:de:f0:49 (oui Unknown), length 42
17:19:51.064806 IP 10.20.155.5 > all-systems.mcast.net: igmp query v3
17:21:56.065834 IP 10.20.155.5 > all-systems.mcast.net: igmp query v3



Version-Release number of selected component (if applicable):
RHOS-17.0-RHEL-9-20221213.n.1

How reproducible:
Deploy with ml2-ovs offload templates in 17.0
Deploy vms with offloaded vlan provider network
ping from one vm to the other vm
Execute tcpdump in  representor port
Count ICMP packets



Actual results:
Not all icmp packets are offloaded


Expected results:
Icmp packets should be offloaded, only first packets should be captured in representor port


Additional info:

Comment 1 Miguel Angel Nieto 2023-01-20 09:03:24 UTC

*** This bug has been marked as a duplicate of bug 2108213 ***