Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 1997126

Summary: [OVN] Multicast / broadcast traffic not delivered through VXLAN tunnels
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Terry Wilson <twilson>
Component: ovn-2021Assignee: Ihar Hrachyshka <ihrachys>
Status: CLOSED ERRATA QA Contact: ying xu <yinxu>
Severity: high Docs Contact:
Priority: unspecified    
Version: FDP 21.FCC: apevec, ctrautma, ekuris, eolivare, ihrachys, jiji, lhh, majopela, mmichels, pmannidi, scohen, twilson
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovn-2021-21.09.0-10.el8fdp Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1995117 Environment:
Last Closed: 2022-06-30 17:59:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1995117    
Bug Blocks:    

Comment 5 Ihar Hrachyshka 2022-06-08 02:16:02 UTC
To test this:

0) create a cluster with vxlan enabled for all chassis.
1) create a LS with two ports located on different chassis.
3) send broadcast / multicast traffic between ports and validate that it's delivered.

The specific scenario that triggered the bug was somewhat different:

0) create a cluster with vxlan enabled for all chassis.
1) create a LS with vlan transparency enabled (vlan-passthru=true in options). This disables local ARP responders for all ports that belong to the LS.
2) create two ports for the LS and locate them on two different chassis.
3) now send a broadcast ARP request from one port to another and check that it's delivered to the other side / replied to.

In the latter scenario vlan transparency is used to disable arp responder, which is its side effect. As you can see, the same scenario can be validated with no vlan transparency involved. The correct bug description should probably not refer to vlan transparency but talk about "multicast / broadcast inter-chassis traffic not delivered". I'll update the title to reflect that.

Comment 6 ying xu 2022-06-08 13:00:48 UTC
reproduced on version:
# rpm -qa|grep ovn
ovn-2021-host-21.03.0-21.el8fdp.x86_64
ovn-2021-21.03.0-21.el8fdp.x86_64
ovn-2021-central-21.03.0-21.el8fdp.x86_64

# ovn-nbctl show
switch 5ca6ad6e-d630-47d9-8e3c-c7866f9fd5e7 (ls)
    port vm3
        addresses: ["00:00:00:00:00:03"]
    port vm2
        addresses: ["00:00:00:00:00:02"]
    port vm1
        addresses: ["00:00:00:00:00:01"]
# ovn-sbctl show
Chassis hv0
    hostname: dell-per740-54.rhts.eng.pek2.redhat.com
    Encap vxlan
        ip: "20.0.66.26"
        options: {csum="true"}
    Port_Binding vm3
    Port_Binding vm2
Chassis hv1
    hostname: dell-per740-53.rhts.eng.pek2.redhat.com
    Encap vxlan
        ip: "20.0.66.25"
        options: {csum="true"}
    Port_Binding vm1

then ping from vm3 to vm1,fail,ping from vm3 to vm2,pass
# ip netns exec vm3 ping 42.42.42.1 -c 3
PING 42.42.42.1 (42.42.42.1) 56(84) bytes of data.
08:51:49.543101 Out 00:00:00:00:00:03 ethertype ARP (0x0806), length 44: Request who-has 42.42.42.1 tell 42.42.42.3, length 28
08:51:50.603278 Out 00:00:00:00:00:03 ethertype ARP (0x0806), length 44: Request who-has 42.42.42.1 tell 42.42.42.3, length 28
08:51:51.627292 Out 00:00:00:00:00:03 ethertype ARP (0x0806), length 44: Request who-has 42.42.42.1 tell 42.42.42.3, length 28
08:51:52.651263  In 00:00:00:00:00:00 ethertype IPv4 (0x0800), length 128: 42.42.42.3 > 42.42.42.3: ICMP host 42.42.42.1 unreachable, length 92
08:51:52.651270  In 00:00:00:00:00:00 ethertype IPv4 (0x0800), length 128: 42.42.42.3 > 42.42.42.3: ICMP host 42.42.42.1 unreachable, length 92
08:51:52.651276  In 00:00:00:00:00:00 ethertype IPv4 (0x0800), length 128: 42.42.42.3 > 42.42.42.3: ICMP host 42.42.42.1 unreachable, length 92
From 42.42.42.3 icmp_seq=1 Destination Host Unreachable
From 42.42.42.3 icmp_seq=2 Destination Host Unreachable
From 42.42.42.3 icmp_seq=3 Destination Host Unreachable

--- 42.42.42.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2084ms
# ip netns exec vm3 ping 42.42.42.2 -c 3
PING 42.42.42.2 (42.42.42.2) 56(84) bytes of data.
08:53:41.137905 Out 00:00:00:00:00:03 ethertype ARP (0x0806), length 44: Request who-has 42.42.42.2 tell 42.42.42.3, length 28
08:53:41.138423  In 00:00:00:00:00:02 ethertype ARP (0x0806), length 44: Reply 42.42.42.2 is-at 00:00:00:00:00:02, length 28
08:53:41.138437 Out 00:00:00:00:00:03 ethertype IPv4 (0x0800), length 100: 42.42.42.3 > 42.42.42.2: ICMP echo request, id 61510, seq 1, length 64
08:53:41.138713  In 00:00:00:00:00:02 ethertype IPv4 (0x0800), length 100: 42.42.42.2 > 42.42.42.3: ICMP echo reply, id 61510, seq 1, length 64
64 bytes from 42.42.42.2: icmp_seq=1 ttl=64 time=0.834 ms
08:53:42.155275 Out 00:00:00:00:00:03 ethertype IPv4 (0x0800), length 100: 42.42.42.3 > 42.42.42.2: ICMP echo request, id 61510, seq 2, length 64
08:53:42.155313  In 00:00:00:00:00:02 ethertype IPv4 (0x0800), length 100: 42.42.42.2 > 42.42.42.3: ICMP echo reply, id 61510, seq 2, length 64
64 bytes from 42.42.42.2: icmp_seq=2 ttl=64 time=0.059 ms
08:53:43.179277 Out 00:00:00:00:00:03 ethertype IPv4 (0x0800), length 100: 42.42.42.3 > 42.42.42.2: ICMP echo request, id 61510, seq 3, length 64
08:53:43.179301  In 00:00:00:00:00:02 ethertype IPv4 (0x0800), length 100: 42.42.42.2 > 42.42.42.3: ICMP echo reply, id 61510, seq 3, length 64
64 bytes from 42.42.42.2: icmp_seq=3 ttl=64 time=0.037 ms

--- 42.42.42.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2041ms
rtt min/avg/max/mdev = 0.037/0.310/0.834/0.370 ms


verified on version:
# rpm -qa|grep ovn
ovn-2021-central-21.12.0-73.el8fdp.x86_64
ovn-2021-21.12.0-73.el8fdp.x86_64
ovn-2021-host-21.12.0-73.el8fdp.x86_64


# ip netns exec vm3 ping 42.42.42.1
PING 42.42.42.1 (42.42.42.1) 56(84) bytes of data.
08:59:53.868496 Out 00:00:00:00:00:03 ethertype ARP (0x0806), length 44: Request who-has 42.42.42.1 tell 42.42.42.3, length 28
08:59:53.875323  In 00:00:00:00:00:01 ethertype ARP (0x0806), length 44: Reply 42.42.42.1 is-at 00:00:00:00:00:01, length 28
08:59:53.875339 Out 00:00:00:00:00:03 ethertype IPv4 (0x0800), length 100: 42.42.42.3 > 42.42.42.1: ICMP echo request, id 1882, seq 1, length 64
08:59:53.881948  In 00:00:00:00:00:01 ethertype IPv4 (0x0800), length 100: 42.42.42.1 > 42.42.42.3: ICMP echo reply, id 1882, seq 1, length 64
64 bytes from 42.42.42.1: icmp_seq=1 ttl=64 time=13.5 ms
08:59:54.870039 Out 00:00:00:00:00:03 ethertype IPv4 (0x0800), length 100: 42.42.42.3 > 42.42.42.1: ICMP echo request, id 1882, seq 2, length 64
08:59:54.870234  In 00:00:00:00:00:01 ethertype IPv4 (0x0800), length 100: 42.42.42.1 > 42.42.42.3: ICMP echo reply, id 1882, seq 2, length 64
64 bytes from 42.42.42.1: icmp_seq=2 ttl=64 time=0.209 ms
08:59:55.915279 Out 00:00:00:00:00:03 ethertype IPv4 (0x0800), length 100: 42.42.42.3 > 42.42.42.1: ICMP echo request, id 1882, seq 3, length 64
08:59:55.915440  In 00:00:00:00:00:01 ethertype IPv4 (0x0800), length 100: 42.42.42.1 > 42.42.42.3: ICMP echo reply, id 1882, seq 3, length 64
64 bytes from 42.42.42.1: icmp_seq=3 ttl=64 time=0.173 ms
^C
--- 42.42.42.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2047ms
rtt min/avg/max/mdev = 0.173/4.620/13.480/6.265 ms

Comment 8 errata-xmlrpc 2022-06-30 17:59:57 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