Description:
the first ping to external network would fail
version:
openvswitch3.3-3.3.0-37.el9fdp.x86_64
ovn23.09-23.09.4-19.el9fdp.x86_64
ovn23.09-central-23.09.4-19.el9fdp.x86_64
ovn23.09-host-23.09.4-19.el9fdp.x86_64
reproducer:
systemctl start openvswitch systemctl start ovn-northd ovn-nbctl set-connection punix:/var/run/ovn/ovnnb_db.sock ovn-sbctl set-connection punix:/var/run/ovn/ovnsb_db.sock ovs-vsctl set open . external_ids:system-id=hv1 external_ids:ovn-remote="unix:/var/run/ovn/ovnsb_db.sock" external_ids:ovn-encap-type=geneve external_ids:ovn-encap-ip=127.0.0.1 external-ids:ovn-enable-lflow-cache=true external-ids:ovn-monitor-all=true external-ids:ovn-ofctrl-wait-before-clear=0 systemctl restart ovn-controller ovs-vsctl add-br br-ext ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=phynet:br-ext ip addr add fc00:226:12::25/64 dev br-ext ip link set br-ext 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::254/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.2 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 pub ovn-nbctl lrp-add lr1 lr1-pub 0c:42:a1:08:0b:52 fc00:226:12::25/64 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 lr-nat-add lr1 snat fc00:226:12::25 1111::/64 ovn-nbctl lrp-set-gateway-chassis lr1-pub hv1 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::254 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::254 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 ext1 up ip netns exec ext1 ip addr add fc00:226:12::11/64 dev ext1 ovn-nbctl --wait=hv sync sleep 5 ip netns exec ls1p1 ping6 fc00:226:12::11 -c 1 -w 1 -W 1 ip netns exec ls1p1 ping6 fc00:226:12::11 -c 1 -w 1 -W 1
expected result:
the first ping passed
actual result:
the first ping failed
other info:
+ ovn-nbctl --wait=hv sync
+ sleep 5
+ ip netns exec ls1p1 ping6 fc00:226:12::11 -c 1 -w 1 -W 1
PING fc00:226:12::11(fc00:226:12::11) 56 data bytes
— fc00:226:12::11 ping statistics —
1 packets transmitted, 0 received, 100% packet loss, time 0ms
+ ip netns exec ls1p1 ping6 fc00:226:12::11 -c 1 -w 1 -W 1
PING fc00:226:12::11(fc00:226:12::11) 56 data bytes
64 bytes from fc00:226:12::11: icmp_seq=1 ttl=63 time=1.33 ms
— fc00:226:12::11 ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.330/1.330/1.330/0.000 ms