-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
5
-
False
-
-
False
-
?
-
rhos-connectivity-bgp
-
None
-
-
-
5
-
Important
The test "test_dvr_vip_failover_external_network" failed with RHOSO18 + BGP
ovn-bgp-agent seems not set the correct mac for the vip:
fip:192.168.133.249
vip : 192.168.133.248
[root@tempest-test-dvr-vip-failover-external-network-1873366970 ~]#
[root@compute-bgpdt02-0 ~]# ip nei | grep -e 192.168.133.249 -e 192.168.133.248
192.168.133.249 dev br-ex lladdr fa:16:3e:66:46:25 PERMANENT
192.168.133.248 dev br-ex lladdr fa:16:3e:d1:0c:ba PERMANENT
[root@compute-bgpdt02-0 ~]# ovs-ofctl dump-flows br-int | less
fip capture:
[root@compute-bgpdt02-0 ~]# tcpdump -vnne -i any icmp and host 192.168.133.249 [280/1269]
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
10:21:53.875784 eth3 In ifindex 5 52:54:00:55:c5:8b ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 61, id 45970, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.249: ICMP echo request, id 1110, seq 1, length 64
10:21:53.875904 br-ex Out ifindex 7 52:54:01:93:57:45 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 60, id 45970, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.249: ICMP echo request, id 1110, seq 1, length 64
10:21:53.876764 tap9c95ede8-65 Out ifindex 394 52:54:01:93:57:45 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 60, id 45970, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.249: ICMP echo request, id 1110, seq 1, length 64
10:21:53.877371 tap9c95ede8-65 P ifindex 394 fa:16:3e:66:46:25 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 64, id 51420, offset 0, flags [none], proto ICMP (1), length 84)
192.168.133.249 > 100.64.10.10: ICMP echo reply, id 1110, seq 1, length 64
10:21:53.877740 br-ex In ifindex 7 fa:16:3e:66:46:25 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 64, id 51420, offset 0, flags [none], proto ICMP (1), length 84)
192.168.133.249 > 100.64.10.10: ICMP echo reply, id 1110, seq 1, length 64
10:21:53.877769 eth2 Out ifindex 4 52:54:00:4d:9b:a0 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 63, id 51420, offset 0, flags [none], proto ICMP (1), length 84)
192.168.133.249 > 100.64.10.10: ICMP echo reply, id 1110, seq 1, length 64
vip capture:
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
10:23:17.176695 eth2 In ifindex 4 52:54:00:40:43:94 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 61, id 10054, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.248: ICMP echo request, id 1111, seq 1, length 64
10:23:17.176784 br-ex Out ifindex 7 52:54:01:93:57:45 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 60, id 10054, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.248: ICMP echo request, id 1111, seq 1, length 64
10:23:17.177364 eth1 Out ifindex 3 52:54:01:93:57:45 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 60, id 10054, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.248: ICMP echo request, id 1111, seq 1, length 64
^C
The br-int no process the traffic, if we set manually the ip, connectivity is recovered:
[root@compute-bgpdt02-0 ~]# ip nei change 192.168.133.248 dev br-ex lladdr fa:16:3e:66:46:25
[root@compute-bgpdt02-0 ~]# ip nei | grep -e 192.168.133.249 -e 192.168.133.248
192.168.133.249 dev br-ex lladdr fa:16:3e:66:46:25 PERMANENT
192.168.133.248 dev br-ex lladdr fa:16:3e:66:46:25 PERMANENT
[root@compute-bgpdt02-0 ~]# tcpdump -vnne -i any icmp and host 192.168.133.248
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
^C
0 packets captured
4 packets received by filter
0 packets dropped by kernel
[root@compute-bgpdt02-0 ~]# ping -c1 192.168.133.248
PING 192.168.133.248 (192.168.133.248) 56(84) bytes of data.
64 bytes from 192.168.133.248: icmp_seq=1 ttl=64 time=1.80 ms
— 192.168.133.248 ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.800/1.800/1.800/0.000 ms
[root@compute-bgpdt02-0 ~]# tcpdump -vnne -i any icmp and host 192.168.133.248
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
10:55:21.055161 eth2 In ifindex 4 52:54:00:40:43:94 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 61, id 28872, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.248: ICMP echo request, id 1112, seq 1, length 64
10:55:21.055260 br-ex Out ifindex 7 52:54:01:93:57:45 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 60, id 28872, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.248: ICMP echo request, id 1112, seq 1, length 64
10:55:21.055288 tap9c95ede8-65 Out ifindex 394 52:54:01:93:57:45 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 60, id 28872, offset 0, flags [DF], proto ICMP (1), length 84)
100.64.10.10 > 192.168.133.248: ICMP echo request, id 1112, seq 1, length 64
10:55:21.055686 tap9c95ede8-65 P ifindex 394 fa:16:3e:66:46:25 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 64, id 50381, offset 0, flags [none], proto ICMP (1), length 84)
192.168.133.248 > 100.64.10.10: ICMP echo reply, id 1112, seq 1, length 64
10:55:21.056163 br-ex In ifindex 7 fa:16:3e:66:46:25 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 64, id 50381, offset 0, flags [none], proto ICMP (1), length 84)
192.168.133.248 > 100.64.10.10: ICMP echo reply, id 1112, seq 1, length 64
10:55:21.056193 eth2 Out ifindex 4 52:54:00:4d:9b:a0 ethertype IPv4 (0x0800), length 104: (tos 0x0, ttl 63, id 50381, offset 0, flags [none], proto ICMP (1), length 84)
192.168.133.248 > 100.64.10.10: ICMP echo reply, id 1112, seq 1, length 64
^C
6 packets captured