#!/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.136.0.1 isp-2.rtr.infra.auro.re: 10.136.0.2 bird__router_id: "{{ bird__router_ids[inventory_hostname] }}" bird__ospf_broadcast_interfaces: ens20: null bird__ospf_stub_interfaces: - client-0 - client-1 - client-2 - client-3 - client-4 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::127 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.136.1.1 edge-2.rtr.infra.auro.re: 10.136.1.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 bird__router_id: "{{ bird__router_ids[inventory_hostname] }}" 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: all export: accept: - prefix: "{{ ['aurore', 'crans', 'viarezo'] | map('extract', bird__orig_prefixes) | flatten }}" sub: true - 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: accept: - prefix: "{{ bird__orig_prefixes.crans }}" sub: true export: accept: all - 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: local_pref: - prefix: "{{ bird__orig_prefixes.viarezo }}" sub: true negate: true pref: 50 accept: all export: as_prepend: - prefix: "{{ bird__orig_prefixes.aurore }}" size: 3 accept: all bird__static_unreachable: - 45.66.108.0/22 - 2a09:6840::/29 roles: - bird ...