aboutsummaryrefslogtreecommitdiff
path: root/tnet/templates/bird.conf.j2
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2024-06-12 21:14:09 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2024-06-12 21:14:09 +0200
commitb49b58d2749d50a42b25d39a744b0edc8d24bf77 (patch)
treea4aa115c23dde1cc02057b48e29be3336185718c /tnet/templates/bird.conf.j2
parentd1114cdc45c69ae8ae633790e85afe0e9d633015 (diff)
downloadinfra-b49b58d2749d50a42b25d39a744b0edc8d24bf77.tar.gz
infra-b49b58d2749d50a42b25d39a744b0edc8d24bf77.tar.bz2
infra-b49b58d2749d50a42b25d39a744b0edc8d24bf77.tar.xz
infra-b49b58d2749d50a42b25d39a744b0edc8d24bf77.zip
wip
Diffstat (limited to 'tnet/templates/bird.conf.j2')
-rw-r--r--tnet/templates/bird.conf.j236
1 files changed, 36 insertions, 0 deletions
diff --git a/tnet/templates/bird.conf.j2 b/tnet/templates/bird.conf.j2
new file mode 100644
index 0000000..45dc318
--- /dev/null
+++ b/tnet/templates/bird.conf.j2
@@ -0,0 +1,36 @@
+template bgp tnet_tpl {
+ local as 4242423538;
+ neighbor internal;
+
+ direct;
+ rr client;
+
+ 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 }}";
+}
+{% endfor %}