Description:
the mac for ipv6 FIP should be the mac for FIP, but in the mac table it is the mac for router port
Version:
[root@wsfd-advnetlab18 ~]# rpm -qa | grep -E "openvswitch3.3|ovn24.09"
openvswitch3.3-3.3.0-58.el9fdp.x86_64
python3-openvswitch3.3-3.3.0-58.el9fdp.x86_64
ovn24.09-24.09.1-10.el9fdp.x86_64
ovn24.09-central-24.09.1-10.el9fdp.x86_64
ovn24.09-host-24.09.1-10.el9fdp.x86_64
Steps:
1. 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:1.1.86.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=1.1.86.25 systemctl restart ovn-controller ovs-vsctl add-br br-ext ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext ovs-vsctl add-port br-ext ens1f1np1 ip link set ens1f1np1 up ovn-nbctl lr-add lr1 ovn-nbctl lrp-add lr1 lr1-ls1 00:00:01:ff:02:03 192.168.1.254/24 1111::a/64 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.1.1 1111::1" ovn-nbctl lsp-add ls1 ls1p2 ovn-nbctl lsp-set-addresses ls1p2 "00:00:01:01:01:02 192.168.1.12 1111::2" 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 router ovn-nbctl ls-add ls2 ovn-nbctl lsp-add ls2 ls2p1 ovn-nbctl lsp-set-addresses ls2p1 "00:00:01:01:02:01 192.168.2.1 1112::1" ovn-nbctl lsp-add ls2 ls2p2 ovn-nbctl lsp-set-addresses ls2p2 "00:00:01:01:02:02 192.168.2.2 1112::2" ovn-nbctl lrp-add lr1 lr1-ls2 00:00:01:ff:22:03 192.168.2.254/24 1112::a/64 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 router ovn-nbctl ls-add pub ovn-nbctl lrp-add lr1 lr1-pub 00:00:01:ff:01:03 172.16.86.254/24 172:16:86::a/64 ovn-nbctl lrp-set-gateway-chassis lr1-pub hv1 ovn-nbctl lsp-add pub pub-lr1 ovn-nbctl lsp-set-type pub-lr1 router ovn-nbctl lsp-set-addresses pub-lr1 router ovn-nbctl lsp-set-options pub-lr1 router-port=lr1-pub ovn-nbctl lsp-add pub pub-ln ovn-nbctl lsp-set-type pub-ln localnet ovn-nbctl lsp-set-addresses pub-ln unknown ovn-nbctl lsp-set-options pub-ln network_name=phynet ovn-nbctl lsp-add ls1 ls1-ln ovn-nbctl lsp-set-type ls1-ln localnet ovn-nbctl lsp-set-addresses ls1-ln unknown ovn-nbctl lsp-set-options ls1-ln network_name=phynet ovn-nbctl lsp-add ls2 ls2-ln ovn-nbctl lsp-set-type ls2-ln localnet ovn-nbctl lsp-set-addresses ls2-ln unknown ovn-nbctl lsp-set-options ls2-ln network_name=phynet ovn-nbctl set logical_switch_port ls2-ln tag_request=50 #ovn-nbctl lr-nat-add lr1 dnat_and_snat 172.16.86.21 192.168.2.1 ls2p1 00:00:0f:01:02:01 #ovn-nbctl lr-nat-add lr1 dnat_and_snat 172.16.86.22 192.168.2.2 ls2p2 00:00:0f:01:02:02 ovn-nbctl lr-nat-add lr1 dnat_and_snat 172:16:86::21 1112::1 ls2p1 00:00:0f:01:02:01 ovn-nbctl lr-nat-add lr1 dnat_and_snat 172:16:86::22 1112::2 ls2p2 00:00:0f:01:02:02 ovs-vsctl add-port br-int ls1p1 -- set interface ls1p1 type=internal external_ids:iface-id=ls1p1 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 ip netns exec ls1p1 ip addr add 192.168.1.1/24 dev ls1p1 ip netns exec ls1p1 ip route add default via 192.168.1.254 ip netns exec ls1p1 ip addr add 1111::1/64 dev ls1p1 ip netns exec ls1p1 ip -6 route add default via 1111::a ovs-vsctl add-port br-int ls2p1 -- set interface ls2p1 type=internal external_ids:iface-id=ls2p1 ip netns add ls2p1 ip link set ls2p1 netns ls2p1 ip netns exec ls2p1 ip link set ls2p1 address 00:00:01:01:02:01 ip netns exec ls2p1 ip link set ls2p1 up ip netns exec ls2p1 ip addr add 192.168.2.1/24 dev ls2p1 ip netns exec ls2p1 ip route add default via 192.168.2.254 ip netns exec ls2p1 ip addr add 1112::1/64 dev ls2p1 ip netns exec ls2p1 ip -6 route add default via 1112::a ovs-vsctl add-port br-ext ext1 -- set interface ext1 type=internal ip netns add ext1 ip link set ext1 netns ext1 ip netns exec ext1 ip link set lo up ip netns exec ext1 ip link set ext1 up ip netns exec ext1 ip addr add 172.16.86.11/24 dev ext1 ip netns exec ext1 ip addr add 172:16:86::11/64 dev ext1 2 client: systemctl start openvswitch ovs-vsctl set open . external_ids:system-id=hv0 external_ids:ovn-remote=tcp:1.1.86.25:6642 external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=1.1.86.26 systemctl restart ovn-controller ovs-vsctl add-br br-ext ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext ovs-vsctl add-port br-ext ens1f1np1 ip link set ens1f1np1 up ip link set br-ext up ovs-vsctl add-port br-int ls2p2 -- set interface ls2p2 type=internal external_ids:iface-id=ls2p2 ip netns add ls2p2 ip link set ls2p2 netns ls2p2 ip netns exec ls2p2 ip link set ls2p2 address 00:00:01:01:02:02 ip netns exec ls2p2 ip link set ls2p2 up ip netns exec ls2p2 ip addr add 192.168.2.2/24 dev ls2p2 ip netns exec ls2p2 ip route add default via 192.168.2.254 ip netns exec ls2p2 ip addr add 1112::2/64 dev ls2p2 ip netns exec ls2p2 ip -6 route add default via 1112::a ovs-vsctl add-port br-int ls1p2 -- set interface ls1p2 type=internal external_ids:iface-id=ls1p2 ip netns add ls1p2 ip link set ls1p2 netns ls1p2 ip netns exec ls1p2 ip link set ls1p2 address 00:00:01:01:01:02 ip netns exec ls1p2 ip link set ls1p2 up ip netns exec ls1p2 ip addr add 192.168.1.2/24 dev ls1p2 ip netns exec ls1p2 ip route add default via 192.168.1.254 ip netns exec ls1p2 ip addr add 1111::2/64 dev ls1p2 ip netns exec ls1p2 ip -6 route add default via 1111::a ovs-vsctl add-port br-ext ext2 -- set interface ext2 type=internal ip netns add ext2 ip link set ext2 netns ext2 ip netns exec ext2 ip link set lo up ip netns exec ext2 ip link set ext2 up ip netns exec ext2 ip addr add 172.16.86.12/24 dev ext2 ip netns exec ext2 ip addr add 172:16:86::12/64 dev ext2 3. send ipv6 packet to ip6 FIP on ext1 ip netns exec ext1 ping6 172:16:86::22 -c 1 4. check the mac table on ext1 ip netns exec ext1 ip -6 neigh
Actual result:
[root@wsfd-advnetlab18 FDP-960]# ip netns exec ext1 ip -6 neigh
fe80::200:fff:fe01:202 dev ext1 lladdr 00:00:0f:01:02:02 DELAY
172:16:86::22 dev ext1 lladdr 00:00:01:ff:02:03 REACHABLE
<==== the mac for ipv6 fip is the mac of router port lr1-ls1
Expected result:
the mac should be the mac for FIP 00:00:0f:01:02:02