Bug 1829762
Summary: | [OVN] Routing with external ports won't work unless colocated with gateway ports | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux Fast Datapath | Reporter: | Daniel Alvarez Sanchez <dalvarez> |
Component: | OVN | Assignee: | Numan Siddique <nusiddiq> |
Status: | CLOSED ERRATA | QA Contact: | Jianlin Shi <jishi> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | FDP 20.A | CC: | ctrautma, mmichels, nusiddiq |
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: | 2020-09-16 16:01:23 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
Daniel Alvarez Sanchez
2020-04-30 09:42:32 UTC
Submitted v2 of the patch - https://patchwork.ozlabs.org/project/openvswitch/patch/20200709091156.773306-1-numans@ovn.org/ Submitted v3 of the patch with a different approach to fix this issue - https://patchwork.ozlabs.org/project/openvswitch/patch/20200819074100.2682036-1-numans@ovn.org/ tested with following steps: #server systemctl start openvswitch systemctl start ovn-northd ovn-nbctl set-connection ptcp:6641 ovn-sbctl set-connection ptcp:6642 ovs-vsctl set open . external_ids:system-id=hv1 external_ids:ovn-remote=tcp:20.0.31.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.31.25 systemctl restart ovn-controller ovn-nbctl ls-add ls1 ovn-nbctl lsp-add ls1 ls1p1 ovn-nbctl lsp-set-addresses ls1p1 "00:00:01:01:01:01 192.168.200.1 2001:200::1" ovn-nbctl lsp-add ls1 ls1_ext1 ovn-nbctl lsp-set-addresses ls1_ext1 "00:00:01:01:22:01 192.168.200.22 2001:200::22" ovn-nbctl lsp-set-type ls1_ext1 external ovn-nbctl ha-chassis-group-add hagrp1 ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv1 30 ovn-nbctl ha-chassis-group-add-chassis hagrp1 hv0 20 hagrp1_uuid=`ovn-nbctl --bare --columns _uuid find ha_chassis_group name="hagrp1"` ovn-nbctl --wait=hv set Logical_Switch_Port ls1_ext1 ha-chassis-group=$hagrp1_uuid ovs-vsctl add-br br-phys ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys ovs-vsctl add-port br-phys ens5f1 ovn-nbctl lsp-add ls1 ln_port ovn-nbctl lsp-set-type ln_port localnet ovn-nbctl lsp-set-options ln_port network_name=phys ovn-nbctl lsp-set-addresses ln_port unknown dhcp_id=$(ovn-nbctl create DHCP_Options cidr=192.168.200.0/24 options="\"server_id\"=\"192.168.200.254\" \"server_mac\"=\"00:de:ad:ff:01:02\" \"lease_time\"=\"3600\" \"router\"=\"192.168.200.254\"") ovn-nbctl lsp-set-dhcpv4-options ls1p1 $dhcp_id ovn-nbctl lsp-set-dhcpv4-options ls1_ext1 $dhcp_id ovs-vsctl set open . external_ids:ovn-chassis-mac-mappings=phys:f0:00:00:00:01:02 ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal ip netns add ls1p1 ip link set ls1p1 netns ls1p1 ip netns exec ls1p1 ip link set ls1p1 address 00:00:01:01:01:01 ip netns exec ls1p1 ip link set ls1p1 up ovs-vsctl set interface ls1p1 external_ids:iface-id=ls1p1 ovs-vsctl add-port br-phys ls1_ext1 -- set interface ls1_ext1 type=internal ip netns add ls1_ext1 ip link set ls1_ext1 netns ls1_ext1 ip netns exec ls1_ext1 ip link set ls1_ext1 address 00:00:01:01:22:01 ip netns exec ls1_ext1 ip link set ls1_ext1 up ovs-vsctl set interface ls1_ext1 external_ids:iface-id=ls1_ext1 ovn-nbctl lr-add lr1 ovn-nbctl lrp-add lr1 lr1-ls1 00:de:ad:ff:01:02 192.168.200.254/24 ovn-nbctl lsp-add ls1 ls1-lr1 ovn-nbctl lsp-set-type ls1-lr1 router ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1 ovn-nbctl lsp-set-addresses ls1-lr1 00:de:ad:ff:01:02 ovn-nbctl ls-add ls2 ovn-nbctl lsp-add ls2 ls2p1 ovn-nbctl lsp-set-addresses ls2p1 "00:00:02:01:01:01 192.168.202.1 2001:202::1" ovn-nbctl lrp-add lr1 lr1-ls2 00:de:ad:ff:02:02 192.168.202.254/24 ovn-nbctl lsp-add ls2 ls2-lr1 ovn-nbctl lsp-set-type ls2-lr1 router ovn-nbctl lsp-set-options ls2-lr1 router-port=lr1-ls2 ovn-nbctl lsp-set-addresses ls2-lr1 00:de:ad:ff:02:02 ovs-vsctl add-port br-int ls2p1 -- set interface ls2p1 type=internal ip netns add ls2p1 ip link set ls2p1 netns ls2p1 ip netns exec ls2p1 ip link set ls2p1 address 00:00:02:01:01:01 ip netns exec ls2p1 ip addr add 192.168.202.1/24 dev ls2p1 ip netns exec ls2p1 ip link set ls2p1 up ip netns exec ls2p1 ip route add default via 192.168.202.254 dev ls2p1 ovs-vsctl set interface ls2p1 external_ids:iface-id=ls2p1 #client systemctl start openvswitch ovs-vsctl set open . external_ids:system-id=hv0 external_ids:ovn-remote=tcp:20.0.31.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=20.0.31.26 systemctl start ovn-controller ovs-vsctl add-br br-phys ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys ovs-vsctl set open . external_ids:ovn-chassis-mac-mappings=phys:f0:00:00:00:01:02 ovs-vsctl add-port br-phys p3p2 reproduced on ovn2.13-20.06.1-6.el8fdp.x86_64 [root@dell-per740-12 bz1829762]# rpm -qa | grep -E "openvswitch|ovn" ovn2.13-central-20.06.1-6.el8fdp.x86_64 openvswitch2.13-2.13.0-54.el8fdp.x86_64 kernel-kernel-networking-openvswitch-ovn-common-1.0-7.noarch python3-openvswitch2.13-2.13.0-54.el8fdp.x86_64 ovn2.13-20.06.1-6.el8fdp.x86_64 ovn2.13-host-20.06.1-6.el8fdp.x86_64 openvswitch-selinux-extra-policy-1.0-23.el8fdp.noarch # get ip for ls1_ext1 on server [root@dell-per740-12 bz1829762]# ip netns exec ls1_ext1 dhclient -v ls1_ext1 #ping ls2p1 on ls1_ext1 [root@dell-per740-12 bz1829762]# ip netns exec ls1_ext1 ping 192.168.202.1 -c 5 PING 192.168.202.1 (192.168.202.1) 56(84) bytes of data. 64 bytes from 192.168.202.1: icmp_seq=1 ttl=63 time=2.31 ms 64 bytes from 192.168.202.1: icmp_seq=1 ttl=63 time=2.53 ms (DUP!) 64 bytes from 192.168.202.1: icmp_seq=2 ttl=63 time=0.070 ms 64 bytes from 192.168.202.1: icmp_seq=2 ttl=63 time=0.315 ms (DUP!) 64 bytes from 192.168.202.1: icmp_seq=3 ttl=63 time=0.063 ms 64 bytes from 192.168.202.1: icmp_seq=3 ttl=63 time=0.311 ms (DUP!) 64 bytes from 192.168.202.1: icmp_seq=4 ttl=63 time=0.065 ms 64 bytes from 192.168.202.1: icmp_seq=4 ttl=63 time=0.276 ms (DUP!) 64 bytes from 192.168.202.1: icmp_seq=5 ttl=63 time=0.062 ms --- 192.168.202.1 ping statistics --- 5 packets transmitted, 5 received, +4 duplicates, 0% packet loss, time 118ms rtt min/avg/max/mdev = 0.062/0.666/2.531/0.944 ms <=== get DUP Verify on ovn2.13-20.06.2-1.el8fdp.x86_64: [root@dell-per740-12 bz1829762]# rpm -qa | grep -E "openvswitch|ovn" ovn2.13-host-20.06.2-1.el8fdp.x86_64 openvswitch2.13-2.13.0-54.el8fdp.x86_64 kernel-kernel-networking-openvswitch-ovn-common-1.0-7.noarch python3-openvswitch2.13-2.13.0-54.el8fdp.x86_64 ovn2.13-central-20.06.2-1.el8fdp.x86_64 openvswitch-selinux-extra-policy-1.0-23.el8fdp.noarch ovn2.13-20.06.2-1.el8fdp.x86_64 [root@dell-per740-12 bz1829762]# ip netns exec ls1_ext1 ping 192.168.202.1 -c 5 PING 192.168.202.1 (192.168.202.1) 56(84) bytes of data. 64 bytes from 192.168.202.1: icmp_seq=1 ttl=63 time=2.31 ms 64 bytes from 192.168.202.1: icmp_seq=2 ttl=63 time=0.073 ms 64 bytes from 192.168.202.1: icmp_seq=3 ttl=63 time=0.063 ms 64 bytes from 192.168.202.1: icmp_seq=4 ttl=63 time=0.064 ms 64 bytes from 192.168.202.1: icmp_seq=5 ttl=63 time=0.063 ms --- 192.168.202.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 88ms rtt min/avg/max/mdev = 0.063/0.514/2.310/0.898 ms <=== no DUP also verified on rhel7 version: [root@dell-per740-42 bz1829762]# rpm -qa | grep -E "openvswitch|ovn" openvswitch2.13-2.13.0-45.el7fdp.x86_64 openvswitch-selinux-extra-policy-1.0-15.el7fdp.noarch kernel-kernel-networking-openvswitch-ovn-common-1.0-7.noarch ovn2.13-20.06.2-1.el7fdp.x86_64 ovn2.13-host-20.06.2-1.el7fdp.x86_64 ovn2.13-central-20.06.2-1.el7fdp.x86_64 [root@dell-per740-42 bz1829762]# ip netns exec ls1_ext1 ping 192.168.202.1 -c 5 PING 192.168.202.1 (192.168.202.1) 56(84) bytes of data. 64 bytes from 192.168.202.1: icmp_seq=1 ttl=63 time=1.97 ms 64 bytes from 192.168.202.1: icmp_seq=2 ttl=63 time=0.065 ms 64 bytes from 192.168.202.1: icmp_seq=3 ttl=63 time=0.053 ms 64 bytes from 192.168.202.1: icmp_seq=4 ttl=63 time=0.053 ms 64 bytes from 192.168.202.1: icmp_seq=5 ttl=63 time=0.053 ms --- 192.168.202.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 0.053/0.439/1.972/0.766 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 (ovn2.13 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-2020:3769 |