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-2021 | Assignee: | Ihar Hrachyshka <ihrachys> |
| Status: | CLOSED ERRATA | QA Contact: | ying xu <yinxu> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | FDP 21.F | CC: | 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 2
Ihar Hrachyshka
2021-09-27 17:38:55 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. 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
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 |