aboutsummaryrefslogtreecommitdiff
path: root/tnet/files/node1/bird-tnet.conf
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2024-06-13 20:05:39 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2024-06-13 20:05:39 +0200
commit36f713dff28d357458b787e2f1e00a71da7bd51f (patch)
tree162871a78641b947f5e28ff6f2bf6d6b02c72d9c /tnet/files/node1/bird-tnet.conf
parent8ba9372b772eb488cdfe7fac0e7919c1ae4e965e (diff)
downloadinfra-36f713dff28d357458b787e2f1e00a71da7bd51f.tar.gz
infra-36f713dff28d357458b787e2f1e00a71da7bd51f.tar.bz2
infra-36f713dff28d357458b787e2f1e00a71da7bd51f.tar.xz
infra-36f713dff28d357458b787e2f1e00a71da7bd51f.zip
tnet
Diffstat (limited to 'tnet/files/node1/bird-tnet.conf')
-rw-r--r--tnet/files/node1/bird-tnet.conf46
1 files changed, 46 insertions, 0 deletions
diff --git a/tnet/files/node1/bird-tnet.conf b/tnet/files/node1/bird-tnet.conf
new file mode 100644
index 0000000..ebf0160
--- /dev/null
+++ b/tnet/files/node1/bird-tnet.conf
@@ -0,0 +1,46 @@
+define tnet = fdb1:4242:3538::/48;
+define tnet_router = fdb1:4242:3538:ffff::/64;
+
+function is_tnet() -> bool
+{
+ return net ~ tnet && ! (net ~ tnet_router);
+}
+
+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;
+ };
+ };
+}
+
+protocol bgp tnet_hash from tnet_tpl {
+ neighbor fe80:a026:6ec2:b356:21c5:b51:22b9:a1de;
+ interface "tnet-hash";
+}
+
+protocol bgp tnet_knot from tnet_tpl {
+ neighbor fe80:58eb:3930:1815:2a6d:8918:70c9:96f2;
+ interface "tnet-knot";
+}