{ config, lib, pkgs, ... }: { networking.firewall.allowedTCPPorts = [ 179 ]; # something doesn't work right services.bird.enable = false; services.bird.package = pkgs.bird2; services.bird.config = '' router id 192.168.10.28; ipv6 table bgp6; protocol static { ipv6 { table bgp6; }; route fd81:edb3:71d8::/48 via "lo"; } protocol kernel { ipv6 { table bgp6; export filter { krt_prefsrc=fd81:edb3:71d8::1; accept; }; import none; }; } template bgp ildix { local as 4242422953; graceful restart on; source address fd81:edb3:71d8:ffff:2953::1; ipv6 { table bgp6; next hop self; import keep filtered; import filter { if net ~ [fd00::/8{8,64}] then accept; reject; }; export filter { if net ~ [fd81:edb3:71d8::/48{48,64}] then accept; reject; }; }; } protocol bgp peer_ildix_clerie from ildix { neighbor fd81:edb3:71d8:ffff::13 as 4242422953; } protocol bgp peer_ildix_nex from ildix { neighbor fd81:edb3:71d8:ffff::14 as 4242422953; } protocol device { scan time 10; } ''; }