mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +00:00
Flock tests and CLI: now we're saving and checking show route output
This commit is contained in:
parent
fce146cb61
commit
48dccde2ab
@ -61,6 +61,11 @@ protocol static p170 {
|
||||
disabled;
|
||||
}
|
||||
|
||||
protocol static STARTUP {
|
||||
ipv6;
|
||||
route 2001:db8:cc00::/40 unreachable;
|
||||
}
|
||||
|
||||
# We need to CHECK this:
|
||||
# - adding worst to best
|
||||
# - adding best to worst
|
||||
@ -68,6 +73,8 @@ protocol static p170 {
|
||||
# - reconf
|
||||
|
||||
function CHECK() -> bool {
|
||||
if net = 2001:db8:cc00::/40 then return true;
|
||||
|
||||
bgp_path.prepend(preference);
|
||||
case epoch {
|
||||
1: case preference {
|
||||
|
26
flock/bgp-secondary/dump-0001-startup.yaml
Normal file
26
flock/bgp-secondary/dump-0001-startup.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
80
flock/bgp-secondary/dump-0002-enable-p170.yaml
Normal file
80
flock/bgp-secondary/dump-0002-enable-p170.yaml
Normal file
@ -0,0 +1,80 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (170)'
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (170)'
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (170)'
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (170)'
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (170)'
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (170)'
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
113
flock/bgp-secondary/dump-0003-enable-p180.yaml
Normal file
113
flock/bgp-secondary/dump-0003-enable-p180.yaml
Normal file
@ -0,0 +1,113 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (180)'
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (180)'
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (180)'
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (180)'
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (180)'
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (180)'
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS180i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
146
flock/bgp-secondary/dump-0004-enable-p190.yaml
Normal file
146
flock/bgp-secondary/dump-0004-enable-p190.yaml
Normal file
@ -0,0 +1,146 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (190)'
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (190)'
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (190)'
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (190)'
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (190)'
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (190)'
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS180i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
179
flock/bgp-secondary/dump-0005-enable-p200.yaml
Normal file
179
flock/bgp-secondary/dump-0005-enable-p200.yaml
Normal file
@ -0,0 +1,179 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
146
flock/bgp-secondary/dump-0006-disable-p170.yaml
Normal file
146
flock/bgp-secondary/dump-0006-disable-p170.yaml
Normal file
@ -0,0 +1,146 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
122
flock/bgp-secondary/dump-0007-disable-p180.yaml
Normal file
122
flock/bgp-secondary/dump-0007-disable-p180.yaml
Normal file
@ -0,0 +1,122 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
80
flock/bgp-secondary/dump-0008-disable-p190.yaml
Normal file
80
flock/bgp-secondary/dump-0008-disable-p190.yaml
Normal file
@ -0,0 +1,80 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
26
flock/bgp-secondary/dump-0009-disable-p200.yaml
Normal file
26
flock/bgp-secondary/dump-0009-disable-p200.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
80
flock/bgp-secondary/dump-0010-enable-p200.yaml
Normal file
80
flock/bgp-secondary/dump-0010-enable-p200.yaml
Normal file
@ -0,0 +1,80 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
122
flock/bgp-secondary/dump-0011-enable-p190.yaml
Normal file
122
flock/bgp-secondary/dump-0011-enable-p190.yaml
Normal file
@ -0,0 +1,122 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
146
flock/bgp-secondary/dump-0012-enable-p180.yaml
Normal file
146
flock/bgp-secondary/dump-0012-enable-p180.yaml
Normal file
@ -0,0 +1,146 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
179
flock/bgp-secondary/dump-0013-enable-p170.yaml
Normal file
179
flock/bgp-secondary/dump-0013-enable-p170.yaml
Normal file
@ -0,0 +1,179 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
179
flock/bgp-secondary/dump-0014-add-all.yaml
Normal file
179
flock/bgp-secondary/dump-0014-add-all.yaml
Normal file
@ -0,0 +1,179 @@
|
||||
tables:
|
||||
master4:
|
||||
networks: {}
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: STARTUP
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
2001:db8:eee6::/48:
|
||||
routes:
|
||||
- args: '* (200)'
|
||||
dest: unreachable
|
||||
proto: p200
|
||||
when: true
|
||||
- args: (190)
|
||||
dest: unreachable
|
||||
proto: p190
|
||||
when: true
|
||||
- args: (180)
|
||||
dest: unreachable
|
||||
proto: p180
|
||||
when: true
|
||||
- args: (170)
|
||||
dest: unreachable
|
||||
proto: p170
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
||||
---
|
||||
tables:
|
||||
master6:
|
||||
networks:
|
||||
2001:db8:cc00::/40:
|
||||
routes:
|
||||
- args: '* (100) [AS1i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee1::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee2::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee3::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS200i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee4::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS190i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
2001:db8:eee5::/48:
|
||||
routes:
|
||||
- args: '* (100) [AS170i]'
|
||||
dest: unicast
|
||||
nexthop:
|
||||
- iface: L
|
||||
nexthop: 2001:db8::1
|
||||
proto: LINK
|
||||
when: true
|
||||
version: v3.0-alpha2-660-g62145d08-x
|
@ -17,11 +17,34 @@ class ThisTest(Test):
|
||||
# Start machines and links
|
||||
await self.start()
|
||||
|
||||
# Partial test
|
||||
await self.route_dump(5)
|
||||
# Startup check
|
||||
await self.route_dump(10, "startup")
|
||||
|
||||
for p in ("p170", "p180", "p190", "p200"):
|
||||
wtb = ("p170", "p180", "p190", "p200")
|
||||
btw = reversed(wtb)
|
||||
|
||||
# Enable worst to best
|
||||
for p in wtb:
|
||||
await self.src.enable(p)
|
||||
await self.route_dump(1)
|
||||
await self.route_dump(1, f"enable-{p}")
|
||||
|
||||
# Disable worst to best
|
||||
for p in wtb:
|
||||
await self.src.disable(p)
|
||||
await self.route_dump(1, f"disable-{p}")
|
||||
|
||||
# Enable best to worst
|
||||
for p in btw:
|
||||
await self.src.enable(p)
|
||||
await self.route_dump(1, f"enable-{p}")
|
||||
|
||||
# Disable worst to best
|
||||
for p in btw:
|
||||
await self.src.disable(p)
|
||||
await self.route_dump(1, f"disable-{p}")
|
||||
|
||||
# Re-enable all at once
|
||||
await asyncio.gather(*[ self.src.enable(p) for p in wtb ])
|
||||
await self.route_dump(5, f"add-all")
|
||||
|
||||
await self.cleanup()
|
||||
|
@ -21,25 +21,20 @@ class CLIParser:
|
||||
return
|
||||
|
||||
self.enter(groups)
|
||||
print("subparser inited", self, self.result)
|
||||
|
||||
def parse(self, line: str):
|
||||
print(f"in {self} parsing line {line}")
|
||||
assert(self.cur == None)
|
||||
if line is not None:
|
||||
for k,v in self.subparsers.items():
|
||||
print(f"trying to match {k} for {v}")
|
||||
if m := k.match(line):
|
||||
self.cur = (c := v(groups=m.groups(), parent=self))
|
||||
while c.cur is not None:
|
||||
c = c.cur
|
||||
return c
|
||||
elif self.parent is None:
|
||||
print("overall exit", self, self.result)
|
||||
return self
|
||||
|
||||
try:
|
||||
print(f"exiting {self} with result {self.result}")
|
||||
self.exit()
|
||||
self.parent.cur = None
|
||||
return self.parent.parse(line)
|
||||
@ -67,7 +62,6 @@ class ShowRouteParser(CLIParser):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.result["tables"] = {}
|
||||
print("parser init", self, self.result)
|
||||
|
||||
@subparser(ShowRouteParser)
|
||||
class NothingParser(CLIParser):
|
||||
@ -119,7 +113,7 @@ class RouteParser(CLIParser):
|
||||
class NextHopParser(CLIParser):
|
||||
entryRegex = re.compile("\\s+via ([0-9a-f:.]+) on (.*)")
|
||||
def enter(self, groups):
|
||||
self.result = {
|
||||
self.result = {
|
||||
k: v for k,v in zip(("nexthop", "iface"), groups)
|
||||
}
|
||||
|
||||
@ -128,11 +122,9 @@ class NextHopParser(CLIParser):
|
||||
|
||||
def parse(data: str):
|
||||
parser = ShowRouteParser()
|
||||
print("created parser", parser)
|
||||
for line in data.split("\n"):
|
||||
parser = parser.parse(line)
|
||||
|
||||
parser = parser.parse(None)
|
||||
|
||||
print("returning result", parser.result)
|
||||
return parser.result
|
||||
|
@ -4,6 +4,7 @@ import jinja2
|
||||
import os
|
||||
import pathlib
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
sys.path.insert(0, "/home/maria/flock")
|
||||
|
||||
@ -11,6 +12,58 @@ from flock.Hypervisor import Hypervisor
|
||||
from flock.Machine import Machine
|
||||
from .CLI import CLI, Transport
|
||||
|
||||
# TODO: move this to some aux file
|
||||
class Differs(Exception):
|
||||
def __init__(self, a, b, tree):
|
||||
self.a = a
|
||||
self.b = b
|
||||
self.tree = tree
|
||||
|
||||
@classmethod
|
||||
def false(cls, a, b, deep, tree):
|
||||
if deep:
|
||||
raise cls(a, b, tree)
|
||||
else:
|
||||
return False
|
||||
|
||||
def deep_eq(a, b, deep=False):
|
||||
if a == b:
|
||||
return True
|
||||
|
||||
# Do not iterate over strings
|
||||
if type(a) is str and type(b) is str:
|
||||
return Differs.false(a, b, deep, tree=[])
|
||||
|
||||
try:
|
||||
for k,v in a.items():
|
||||
try:
|
||||
deep_eq(v, b[k], True)
|
||||
except Differs as d:
|
||||
d.tree.append(k)
|
||||
raise d
|
||||
except KeyError:
|
||||
return Differs.false(v, None, deep, tree=[k])
|
||||
|
||||
for k in b:
|
||||
if not k in a:
|
||||
return Differs.false(None, b[k], deep, tree=[k])
|
||||
|
||||
except AttributeError:
|
||||
try:
|
||||
if len(a) != len(b):
|
||||
return Differs.false(len(a), len(b), deep, tree=[len])
|
||||
|
||||
for i in range(len(a)):
|
||||
try:
|
||||
deep_eq(a[i], b[i])
|
||||
except Differs as d:
|
||||
d.tree.append(i)
|
||||
raise d
|
||||
except TypeError:
|
||||
return Differs.false(a, b, deep, [])
|
||||
|
||||
return True
|
||||
|
||||
class MinimalistTransport(Transport):
|
||||
def __init__(self, socket, machine):
|
||||
self.sock = socket
|
||||
@ -106,18 +159,26 @@ class Test:
|
||||
ipv6_link_pxlen = 64
|
||||
ipv4_link_pxlen = 28
|
||||
|
||||
SAVE = 1
|
||||
CHECK = 2
|
||||
|
||||
show_difs = False
|
||||
|
||||
# 198.51.100.0/24, 203.0.113.0/24
|
||||
|
||||
def __init__(self, name):
|
||||
def __init__(self, name, mode: int):
|
||||
self.name = name
|
||||
self.hypervisor = Hypervisor(name)
|
||||
self.machine_index = {}
|
||||
self.mode = mode
|
||||
self._started = None
|
||||
self._starting = False
|
||||
|
||||
self.ipv6_pxgen = self.ipv6_prefix.subnets(new_prefix=self.ipv6_link_pxlen)
|
||||
self.ipv4_pxgen = self.ipv4_prefix.subnets(new_prefix=self.ipv4_link_pxlen)
|
||||
|
||||
self.route_dump_id = 0
|
||||
|
||||
async def hcom(self, *args):
|
||||
if self._started is None:
|
||||
self._started = asyncio.Future()
|
||||
@ -190,10 +251,15 @@ class Test:
|
||||
await asyncio.gather(*[ v.cleanup() for v in self.machine_index.values() ])
|
||||
await self.hcom("stop", True)
|
||||
|
||||
async def route_dump(self, timeout=None, machines=None):
|
||||
if timeout is not None:
|
||||
await asyncio.sleep(timeout)
|
||||
async def route_dump(self, timeout, name, machines=None, check_timeout=10, check_retry_timeout=0.5):
|
||||
# Compile dump ID
|
||||
self.route_dump_id += 1
|
||||
if name is None:
|
||||
name = f"dump-{self.route_dump_id:04d}.yaml"
|
||||
else:
|
||||
name = f"dump-{self.route_dump_id:04d}-{name}.yaml"
|
||||
|
||||
# Collect machines to dump
|
||||
if machines is None:
|
||||
machines = self.machine_index.values()
|
||||
else:
|
||||
@ -202,16 +268,67 @@ class Test:
|
||||
for m in machines
|
||||
]
|
||||
|
||||
print(*[
|
||||
await asyncio.gather(*[
|
||||
# Define the obtainer function
|
||||
async def obtain():
|
||||
dump = await asyncio.gather(*[
|
||||
where.show_route()
|
||||
for where in machines
|
||||
])
|
||||
])
|
||||
for d in dump:
|
||||
for t in d["tables"].values():
|
||||
for n in t["networks"].values():
|
||||
for r in n["routes"]:
|
||||
assert("when" in r)
|
||||
r["when"] = True
|
||||
return dump
|
||||
|
||||
match self.mode:
|
||||
case Test.SAVE:
|
||||
await asyncio.sleep(timeout)
|
||||
dump = await obtain()
|
||||
with open(name, "w") as y:
|
||||
yaml.dump_all(dump, y)
|
||||
print(f"{name}\t{self.route_dump_id}\t[ SAVED ]")
|
||||
|
||||
case Test.CHECK:
|
||||
with open(name, "r") as y:
|
||||
c = [*yaml.safe_load_all(y)]
|
||||
|
||||
seen = []
|
||||
try:
|
||||
async with asyncio.timeout(check_timeout) as to:
|
||||
while True:
|
||||
dump = await obtain()
|
||||
try:
|
||||
deep_eq(c, dump, True)
|
||||
# if deep_eq(c, dump):
|
||||
spent = asyncio.get_running_loop().time() - to.when() + check_timeout
|
||||
print(f"{name}\t{self.route_dump_id}\t[ OOK ]\t{spent:.6f}s")
|
||||
return True
|
||||
except Differs as d:
|
||||
if self.show_difs:
|
||||
print(f"Differs at {' -> '.join([str(s) for s in reversed(d.tree)])}: {d.a} != {d.b}")
|
||||
|
||||
seen.append(dump)
|
||||
await asyncio.sleep(check_retry_timeout)
|
||||
except TimeoutError as e:
|
||||
print(f"{name}\t{self.route_dump_id}\t[ BAD ]")
|
||||
for q in range(len(seen)):
|
||||
with open(f"__result_bad_{q}__{name}", "w") as y:
|
||||
yaml.dump_all(seen[q], y)
|
||||
|
||||
return False
|
||||
|
||||
case _:
|
||||
raise Exception("Invalid test mode")
|
||||
|
||||
if __name__ == "__main__":
|
||||
name = sys.argv[1]
|
||||
mode = Test.CHECK
|
||||
|
||||
if name == "-s":
|
||||
name = sys.argv[2]
|
||||
mode = Test.SAVE
|
||||
|
||||
p = (pathlib.Path(__file__).parent.parent.parent / "flock" / name).absolute()
|
||||
sys.path.insert(0, str(p))
|
||||
@ -222,4 +339,4 @@ if __name__ == "__main__":
|
||||
import test
|
||||
|
||||
os.chdir(p)
|
||||
asyncio.run(test.ThisTest(name).run())
|
||||
asyncio.run(test.ThisTest(name, mode).run())
|
||||
|
Loading…
Reference in New Issue
Block a user