Bug 1890856
| Summary: | fail to ping host on another chassis when set addresses as dynamic if encap-type is vxlan | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux Fast Datapath | Reporter: | Jianlin Shi <jishi> |
| Component: | ovn2.13 | Assignee: | OVN Team <ovnteam> |
| Status: | NEW --- | QA Contact: | Jianlin Shi <jishi> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | low | ||
| Version: | FDP 20.H | CC: | ctrautma, jishi, mmichels, ralongi |
| 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: | 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 of problem: fail to ping host on another chassis when set addresses as dynamic if encap-type is vxlan Version-Release number of selected component (if applicable): ovn2.13-20.09.0-4.el8fdp.x86_64 How reproducible: Always Steps to Reproduce: 1. set encap-type as vxlan and start ovn-northd 2. start ovn-controller on two chassis 3. add ls, and set address for logical switch port as dynamic 4. ping from one host to another host on another chassis Actual results: fail to ping Expected results: ping succeed Additional info: 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.30.25:6642 external_ids:ovn-encap-type=vxlan external_ids:ovn-encap-ip=20.0.30.25 systemctl restart ovn-controller sleep 2 ip netns add server0 ip link add veth0_s0 type veth peer name veth0_s0_p ip link set veth0_s0 netns server0 ip netns exec server0 ip link set lo up ip netns exec server0 ip link set veth0_s0 up #ip netns exec server0 ip link set veth0_s0 address $mac_veth2_hv1 ip netns exec server0 ip addr add 172.16.2.1/24 dev veth0_s0 ip netns exec server0 ip addr add 2000::1/64 dev veth0_s0 ip netns exec server0 ip route add default via 172.16.2.254 dev veth0_s0 ip netns exec server0 ip -6 route add default via 2000::a dev veth0_s0 ovs-vsctl add-port br-int veth0_s0_p ip link set veth0_s0_p up ovs-vsctl set interface veth0_s0_p external_ids:iface-id=ls2p1 ovn-nbctl ls-add ls1 ovn-nbctl set logical_switch ls1 other_config:mac_only=true #ovn-nbctl set logical_switch ls1 other_config:subnet=192.168.1.1/24 other_config:ipv6_prefix=1e2d:: ovn-nbctl lsp-add ls1 ls1p1 #ovn-nbctl lsp-set-addresses ls1p1 "$mac_veth2_hv0 2001::1 172.16.1.1 3001::1 172.16.11.1" ovn-nbctl lsp-set-addresses ls1p1 dynamic ovn-nbctl ls-add ls2 ovn-nbctl set logical_switch ls2 other_config:mac_only=true ovn-nbctl lsp-add ls2 ls2p1 #ovn-nbctl lsp-set-addresses ls2p1 "$mac_veth2_hv1 2000::1 172.16.2.1 3002::1 172.16.12.1" ovn-nbctl lsp-set-addresses ls2p1 dynamic ovn-nbctl lr-add lr1 ovn-nbctl lrp-add lr1 lr1-ls1 00:de:ad:ff:01:01 172.16.1.254/24 2001::a/64 ovn-nbctl lrp-add lr1 lr1-ls2 00:de:ad:ff:01:02 172.16.2.254/24 2000::a/64 ovn-nbctl lsp-add ls1 ls1-lr1 ovn-nbctl lsp-set-type ls1-lr1 router ovn-nbctl lsp-set-addresses ls1-lr1 00:de:ad:ff:01:01 ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1 ovn-nbctl lsp-add ls2 ls2-lr1 ovn-nbctl lsp-set-type ls2-lr1 router ovn-nbctl lsp-set-addresses ls2-lr1 00:de:ad:ff:01:02 ovn-nbctl lsp-set-options ls2-lr1 router-port=lr1-ls2 ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns add client0" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip link add veth0_c0 type veth peer name veth0_c0_p" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip link set veth0_c0 netns client0" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip link set lo up" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip link set veth0_c0 up" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip addr add 172.16.1.1/24 dev veth0_c0" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip route add default via 172.16.1.254 dev veth0_c0" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip addr add 2001::1/64 dev veth0_c0" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip route add default via 2001::a dev veth0_c0" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ovs-vsctl add-port br-int veth0_c0_p" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip link set veth0_c0_p up" ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ovs-vsctl set interface veth0_c0_p external_ids:iface-id=ls1p1" nb_global_uuid=$(ovn-nbctl list nb_global | grep _uuid | awk '{print $3}') mac_prefix=$(ovn-nbctl get nb_global $nb_global_uuid options:mac_prefix | sed 's/"//g') ls1p1_mac=$(ovn-nbctl list logical_switch_port ls1p1 | grep -E -o "$mac_prefix:[0-9a-z:]*") ls2p1_mac=$(ovn-nbctl list logical_switch_port ls2p1 | grep -E -o "$mac_prefix:[0-9a-z:]*") ssh -q dell-per740-42.rhts.eng.pek2.redhat.com "ip netns exec client0 ip link set veth0_c0 address $ls1p1_mac" ip netns exec server0 ip link set veth0_s0 address $ls2p1_mac client: systemctl start openvswitch ovs-vsctl set open . external_ids:system-id=hv0 external_ids:ovn-remote=tcp:20.0.30.25:6642 external_ids:ovn-encap-type=vxlan external_ids:ovn-encap-ip=20.0.30.26 systemctl start ovn-controller [root@dell-per740-12 test]# ip netns exec server0 ping 172.16.1.1 -c 1 PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data. --- 172.16.1.1 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms [root@dell-per740-12 test]# ovn-sbctl list mac_binding _uuid : d75cffc4-e4b0-4c12-9c42-6084edf4b9b6 datapath : 496f093c-5426-4218-adbd-399a1c20c1bf ip : "::" logical_port : lr1-ls1 mac : "00:00:00:00:00:00" _uuid : 872012cd-48f9-43d8-a292-eaef91b5f01b datapath : 496f093c-5426-4218-adbd-399a1c20c1bf ip : "::" logical_port : lr1-ls2 mac : "00:00:00:00:00:00" _uuid : bfaf0a93-8236-4cb3-b78d-8f4126393b3f datapath : 496f093c-5426-4218-adbd-399a1c20c1bf ip : "172.16.2.1" logical_port : lr1-ls2 mac : "9e:dd:6d:00:00:02" client0 doesn't receive arp request from ovn, then mac_binding for 172.16.1.1 is not created. [root@dell-per740-42 test]# rpm -qa | grep -E "openvswitch|ovn" openvswitch2.13-2.13.0-61.el8fdp.x86_64 kernel-kernel-networking-openvswitch-ovn-add_setting-1.0-5.noarch kernel-kernel-networking-openvswitch-ovn-common-1.0-13.noarch ovn2.13-20.09.0-4.el8fdp.x86_64 kernel-kernel-networking-openvswitch-ovn-soak_test-1.0-5.noarch openvswitch-selinux-extra-policy-1.0-23.el8fdp.noarch ovn2.13-central-20.09.0-4.el8fdp.x86_64 ovn2.13-host-20.09.0-4.el8fdp.x86_64 python3-openvswitch2.13-2.13.0-61.el8fdp.x86_64 if encap-type is geneve, it works well