#!/usr/bin/env ansible-playbook --- - hosts: - isp-1.rtr.infra.auro.re - isp-2.rtr.infra.auro.re vars: bird__router_ids: isp-1.rtr.infra.auro.re: 10.203.0.5 isp-2.rtr.infra.auro.re: 10.203.0.6 bird__router_id: "{{ bird__router_ids[inventory_hostname] }}" bird__radv_interfaces: client-0: prefix: - 2a09:6841::/56 domain_search: - client-0.isp.auro.re client-1: prefix: - 2a09:6841:0:100::/56 domain_search: - client-1.isp.auro.re client-2: prefix: - 2a09:6841:0:200::/56 domain_search: - client-2.isp.auro.re client-3: prefix: - 2a09:6841:0:300::/56 domain_search: - client-3.isp.auro.re client-4: prefix: - 2a09:6841:0:400::/56 domain_search: - client-4.isp.auro.re bird__radv_dns_servers: - 2a09:6840:128::10:3 roles: - bird - hosts: - infra-1.rtr.infra.auro.re - infra-2.rtr.infra.auro.re vars: bird__router_ids: infra-1.rtr.infra.auro.re: 10.203.0.3 infra-2.rtr.infra.auro.re: 10.203.0.4 bird__router_id: "{{ bird__router_ids[inventory_hostname] }}" roles: - bird - hosts: - edge-1.rtr.infra.auro.re - edge-2.rtr.infra.auro.re vars: bird__router_ids: edge-1.rtr.infra.auro.re: 10.203.0.1 edge-2.rtr.infra.auro.re: 10.203.0.2 bird__asn: aurore: 43619 crans: 204515 zayo: 8218 viarezo: 212424 bird__orig_prefixes: aurore: - 45.66.108.0/22 - 2a09:6840::/29 crans: - 185.230.76.0/22 - 2a0c:700::/32 viarezo: - 138.195.144.0/20 - 192.159.121.0/24 - 2a0c:b641:2f0::/44 martians: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 - 100.64.0.0/10 - 127.0.0.0/8 - 169.254.0.0/16 - 192.0.0.0/24 - 192.0.2.0/24 - 198.18.0.0/15 - 198.51.100.0/24 - 203.0.113.0/24 - 224.0.0.0/4 - 240.0.0.0/4 - ::/128 - ::1/128 - ::ffff:0:0/96 - ::/96 - 100::/64 - 2001:10::/28 - 2001:db8::/32 - fc00::/7 - fe80::/10 - fec0::/10 - ff00::/8 bird__router_id: "{{ bird__router_ids[inventory_hostname] }}" bird__ospf_broadcast_interfaces: ens22: null bird__ospf_stub_networks: - 0.0.0.0/0 - ::/0 bird__bgp_sessions: - name: zayo local: address: - 83.167.52.69 - 2001:1b48:2:103::d7:2 as: "{{ bird__asn.aurore }}" remote: address: - 83.167.52.68 - 2001:1b48:2:103::d7:1 as: "{{ bird__asn.zayo }}" import: - accept: true export: - prefix: "{{ ['aurore', 'crans', 'viarezo'] | map('extract', bird__orig_prefixes) | flatten }}" sub: true accept: true - accept: false - name: crans local: address: - 185.230.79.254 - 2a0c:700:28::2 as: "{{ bird__asn.aurore }}" remote: address: - 185.230.79.253 - 2a0c:700:28::1 as: "{{ bird__asn.crans }}" import: - prefix: "{{ bird__orig_prefixes.crans }}" sub: true accept: true - accept: false export: - accept: true - name: viarezo local: address: - 192.159.121.134 - 2a0c:b641:2ff::6 as: "{{ bird__asn.aurore }}" remote: address: - 192.159.121.133 - 2a0c:b641:2ff::5 as: "{{ bird__asn.viarezo }}" import: - prefix: "{{ bird__orig_prefixes.martians }}" accept: false - prefix: "{{ bird__orig_prefixes.viarezo }}" sub: true negate: true local_pref: 50 - accept: true export: - prefix: "{{ bird__orig_prefixes.aurore }}" as_prepend: asn: "{{ bird__asn.aurore }}" size: 3 - accept: true bird__static_unreachable: - 45.66.108.0/22 - 2a09:6840::/29 roles: - bird ...