Skip to content

Commit d4ced71

Browse files
jbemmelipspace
andauthored
Anycast GW integration test: Disable the FRR anycast interface before IPv6 tests (#1905)
--------- Co-authored-by: Ivan Pepelnjak <ip@ipspace.net>
1 parent f0b4f93 commit d4ced71

File tree

1 file changed

+49
-26
lines changed

1 file changed

+49
-26
lines changed

tests/integration/gateway/01-anycast.yml

Lines changed: 49 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,29 @@ defaults.interfaces.mtu: 1500
1111
vlans:
1212
edge:
1313
gateway: True
14-
links: [ h1-dut, dut-x1 ]
14+
links: [ h1-dut, dut-x1, x1-h2 ]
1515
prefix:
1616
ipv4: 172.16.33.0/24
1717
ipv6: 2001:db8:cafe:33::/64
1818

1919
groups:
2020
probes:
2121
provider: clab
22-
members: [ h1, x1 ]
22+
members: [ h1, h2, x1 ]
2323
device: frr
24+
probe_hosts:
25+
members: [ h1, h2 ]
26+
module: [ routing ]
27+
role: host
28+
routing.static:
29+
- prefix: target
30+
nexthop:
31+
ipv4: 172.16.33.42
32+
ipv6: "2001:db8:cafe:33::2a"
2433
hosts:
2534
device: linux
2635
provider: clab
27-
members: [ h2 ]
36+
members: [ th ]
2837

2938
gateway.protocol: anycast
3039
gateway.id: 42
@@ -35,51 +44,65 @@ prefix:
3544
ipv4: 172.16.44.0/24
3645
ipv6: 2001:db8:cafe:44::/64
3746

38-
nodes:
39-
dut:
40-
x1:
41-
h1:
42-
module: [ routing ]
43-
role: host
44-
routing.static:
45-
- prefix: target
46-
nexthop:
47-
ipv4: 172.16.33.42
48-
ipv6: "2001:db8:cafe:33::2a"
49-
h2:
47+
nodes: [ dut, x1, h1, h2, th ]
5048

5149
links:
52-
- interfaces: [ dut, x1, h2 ]
50+
- interfaces: [ dut, x1, th ]
5351
prefix: target
5452

5553
validate:
54+
x1_gw_down:
55+
description: Shut down IPv6 on the X1 anycast interface so it cannot respond to ND requests
56+
nodes: [ x1 ]
57+
devices: [ frr ]
58+
exec: sysctl -w net.ipv6.conf.varp-40000.disable_ipv6=1
5659
ping_h1_v4:
57-
description: IPv4 ping H2 from H1
60+
description: IPv4 ping target from H1/H2
5861
wait: 40
5962
wait_msg: Waiting for STP to enable VLAN ports
60-
nodes: [ h1 ]
61-
plugin: ping('h2',af='ipv4')
63+
nodes: [ h1, h2 ]
64+
plugin: ping('th',af='ipv4')
6265
ping_h1_v6:
6366
level: warning
64-
description: IPv6 ping H2 from H1
67+
description: IPv6 ping target from H1/H2
6568
wait: 3
6669
wait_msg: Waiting for ping to work
6770
nodes: [ h1 ]
68-
plugin: ping('h2',af='ipv6')
71+
plugin: ping('th',af='ipv6')
72+
nd:
73+
description: Check the IPv6 ND entry for the anycast gateway
74+
nodes: [ h1 ]
75+
devices: [ frr ]
76+
level: warning
77+
exec: ip -6 neighbor get {{ interfaces[0].gateway.ipv6|ipaddr('address') }} dev eth1
78+
valid: |
79+
'02:00:ca:fe:c0:01' in stdout
80+
x1_gw_up:
81+
description: Reenable IPv6 on X1 anycast interface
82+
nodes: [ x1 ]
83+
devices: [ frr ]
84+
exec: sysctl -w net.ipv6.conf.varp-40000.disable_ipv6=0
6985
ping_dup:
7086
description: Check for duplicate packets
71-
nodes: [ h1 ]
87+
nodes: [ h1, h2 ]
7288
devices: [ frr ]
73-
exec: ping -4 h2 -c 2
89+
exec: ping -4 th -c 2
7490
valid: |
7591
'DUP' not in stdout
7692
trace_h1:
77-
description: Traceroute H1-H3 (should go over DUT)
93+
description: Traceroute H1-TH (should go over DUT not X1)
7894
nodes: [ h1 ]
7995
devices: [ frr ]
80-
exec: traceroute -4 -w 1 -q 2 h2
96+
exec: traceroute -4 -w 1 -q 2 th
97+
valid: |
98+
'th' in stdout and 'x1' not in stdout
99+
trace_h2:
100+
description: Traceroute H2-TH (should go over X1 not DUT)
101+
nodes: [ h2 ]
102+
devices: [ frr ]
103+
exec: traceroute -4 -w 1 -q 2 th
81104
valid: |
82-
'h2' in stdout and 'x1' not in stdout
105+
'th' in stdout and 'dut' not in stdout
83106
arp:
84107
description: Check the ARP entry for the anycast gateway
85108
nodes: [ h1 ]

0 commit comments

Comments
 (0)