router id 10.0.0.0; log "/var/log/bird/bird6.log" all; debug protocols { states, routes, filters, interfaces } protocol kernel { import none; export all; } protocol device { # defaults... } protocol ospf { area 0 { # BIRD ignores the IPv6 lo because it has no link local address stubnet 2001:db8::ff/128; interface "lan" { }; interface "ebgp_r11" { stub; }; }; } protocol static { import all; route 2001:db8::/48 blackhole; } ############################################################################## # BGP table # # Use this routing table to gather external routes received via BGP which we # want push to the kernel via our master table and to other routers in our AS # via iBGP or even to other routers outside our AS again (transit), which can # be connected here or to a router elsewhere on the border of our AS. table t_bgp; protocol pipe p_master_to_bgp { table master; peer table t_bgp; import all; # default export none; # default } ############################################################################## # eBGP R11 # table t_r11; protocol static originate_to_r11 { table t_r11; import all; # originate here route 2001:db8::/48 blackhole; } protocol bgp ebgp_r11 { table t_r11; local 2001:db8:0:3::ff as 65000; neighbor 2001:db8:0:3::11 as 65010; import all; export all; } protocol pipe p_bgp_to_r11 { table t_bgp; peer table t_r11; import where proto = "ebgp_r11"; export none; } ############################################################################## # iBGP # protocol bgp ibgp_r2 { table t_bgp; igp table master; import none; export all; local 2001:db8::ff as 65000; neighbor 2001:db8::2 as 65000; } protocol bgp ibgp_r1 { table t_bgp; igp table master; import all; export all; local 2001:db8::ff as 65000; neighbor 2001:db8::1 as 65000; }