diff options
Diffstat (limited to 'tnet/templates/bird-tnet.conf.j2')
-rw-r--r-- | tnet/templates/bird-tnet.conf.j2 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tnet/templates/bird-tnet.conf.j2 b/tnet/templates/bird-tnet.conf.j2 new file mode 100644 index 0000000..57e557a --- /dev/null +++ b/tnet/templates/bird-tnet.conf.j2 @@ -0,0 +1,39 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} +{% for p in tnet_bird_peers|default([])|sort %} + +protocol bgp tnet_{{ p }} from tnet_tpl { + neighbor {{ hostvars[p].tnet_wg[inventory_hostname].address }}; + interface "tnet-{{ p }}"; +{% if tnet_bird_peers[p].rr_client|default(False) %} + + rr client; +{% endif %} +} +{% endfor %} |