tested with following script: 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:127.0.0.1:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=127.0.0.1 systemctl restart ovn-controller ovn-nbctl ls-add ls1 ovn-nbctl lsp-add ls1 vm1 -- lsp-set-addresses vm1 "00:00:00:00:01:05 192.168.100.5" ovn-nbctl lsp-add ls1 vm1.1 vm1 10 -- lsp-set-addresses vm1.1 "00:00:00:00:01:10 192.168.200.10" ovn-nbctl lsp-add ls1 vm2 -- lsp-set-addresses vm2 "00:00:00:00:02:05 192.168.100.6" ovs-vsctl add-port br-int vm1 -- set interface vm1 type=internal external_ids:iface-id=vm1 ip netns add vm1 ip link set vm1 netns vm1 ip netns exec vm1 ip link set vm1 address 00:00:00:00:01:05 ip netns exec vm1 ip link set vm1 up ip netns exec vm1 ip addr add 192.168.100.5/24 dev vm1 ip netns exec vm1 ip route add default via 192.168.100.1 ip netns exec vm1 ip link add link vm1 name vm1.10 type vlan id 10 ip netns exec vm1 ip link set vm1.10 up ovs-vsctl add-port br-int vm2 -- set interface vm2 type=internal external_ids:iface-id=vm2 ip netns add vm2 ip link set vm2 netns vm2 ip netns exec vm2 ip link set vm2 address 00:00:00:00:02:05 ip netns exec vm2 ip link set vm2 up ip netns exec vm2 ip addr add 192.168.100.6/24 dev vm2 ip netns exec vm2 ip route add default via 192.168.100.1 ovn-nbctl --wait=hv sync ovn-sbctl show ovn-nbctl --wait=hv set logical_switch_port vm1 options:requested-chassis=foo ovn-sbctl show reproduced on ovn22.12-22.12.1-95.el9: [root@wsfd-advnetlab18 bug2220938]# rpm -qa | grep -E "openvswitch|ovn" openvswitch-selinux-extra-policy-1.0-34.el9fdp.noarch openvswitch3.2-3.2.0-73.el9fdp.x86_64 python3-openvswitch3.2-3.2.0-73.el9fdp.x86_64 ovn22.12-22.12.1-95.el9fdp.x86_64 ovn22.12-central-22.12.1-95.el9fdp.x86_64 ovn22.12-host-22.12.1-95.el9fdp.x86_64 + ip netns exec vm2 ip route add default via 192.168.100.1 + ovn-nbctl --wait=hv sync + ovn-sbctl show Chassis hv1 hostname: wsfd-advnetlab18.anl.eng.rdu2.dc.redhat.com Encap geneve ip: "127.0.0.1" options: {csum="true"} Port_Binding vm2 Port_Binding vm1.1 Port_Binding vm1 + ovn-nbctl --wait=hv set logical_switch_port vm1 options:requested-chassis=foo + ovn-sbctl show Chassis hv1 hostname: wsfd-advnetlab18.anl.eng.rdu2.dc.redhat.com Encap geneve ip: "127.0.0.1" options: {csum="true"} Port_Binding vm2 Port_Binding vm1.1 <=== vm1.1 is still claimed Verified on ovn22.12-22.12.1-100.el9: [root@wsfd-advnetlab18 bug2220938]# rpm -qa | grep -E "openvswitch|ovn" openvswitch-selinux-extra-policy-1.0-34.el9fdp.noarch openvswitch3.2-3.2.0-73.el9fdp.x86_64 python3-openvswitch3.2-3.2.0-73.el9fdp.x86_64 ovn22.12-22.12.1-100.el9fdp.x86_64 ovn22.12-central-22.12.1-100.el9fdp.x86_64 ovn22.12-host-22.12.1-100.el9fdp.x86_64 + ip netns exec vm2 ip route add default via 192.168.100.1 + ovn-nbctl --wait=hv sync + ovn-sbctl show Chassis hv1 hostname: wsfd-advnetlab18.anl.eng.rdu2.dc.redhat.com Encap geneve ip: "127.0.0.1" options: {csum="true"} Port_Binding vm1.1 Port_Binding vm1 Port_Binding vm2 + ovn-nbctl --wait=hv set logical_switch_port vm1 options:requested-chassis=foo + ovn-sbctl show Chassis hv1 hostname: wsfd-advnetlab18.anl.eng.rdu2.dc.redhat.com Encap geneve ip: "127.0.0.1" options: {csum="true"} Port_Binding vm2 <=== vm1.1 is not claimed
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 (ovn22.12 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-2024:3732