# NOTE: "import" controls filtering routes from protocol to BIRDs routing # table, "export" from routing table to the protocol. # # "import" defaults to all, "export" defaults to none (except for EBGP). router id 10.100.14.193; define local_as = 65308; define OWN_IP = 10.100.64.16; define OWN_IP_6 = fda3:c723:c000:d0::1; define MY_NET = 10.100.64.16/28; define MY_NET_6 = fda3:c723:c000:d0::/60; define DNv4 = [10.0.0.0/8+]; define DNv6 = [fda3:c723::/32+]; protocol static { ipv4; route MY_NET reject; } protocol static { ipv6; route MY_NET_6 reject; } filter import_dn_ebgp4 { # TODO: add filters krt_prefsrc = OWN_IP; accept; } filter import_dn_ebgp6 { # TODO: add filters krt_prefsrc = OWN_IP_6; accept; } filter export_dn_ebgp4 { if net = MY_NET then accept; # No transit (for now) reject; } filter export_dn_ebgp6 { if net = MY_NET_6 then accept; # No transit (for now) reject; } template bgp dn_ebgp4 { local as local_as; debug { states, routes, filters, interfaces, events }; ipv4 { import keep filtered; import filter import_dn_ebgp4; export filter export_dn_ebgp4; }; } template bgp dn_ebgp6 { local as local_as; debug { states, routes, filters, interfaces, events }; ipv6 { import keep filtered; import filter import_dn_ebgp6; export filter export_dn_ebgp6; }; } protocol bgp bgp_rudi from dn_ebgp4 { neighbor 10.100.14.192 as 65145; } protocol bgp bgp_rudi_v6 from dn_ebgp6 { neighbor fe80::1%wg_rudi_darknet as 65145; } # Protocol which collects information about local network interfaces protocol device { } # Interface between BIRD and the kernel's routing tables protocol kernel { ipv4 { export all; }; } protocol kernel { ipv6 { export all; }; }