diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2024-07-18 21:51:07 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2024-07-18 21:51:07 +0200 |
commit | 2ffcb38acc9e6925a0ae805370d71e257b27e1bb (patch) | |
tree | 732bfdfaad3446b0ecf53c99c570a6fb8f53c4b7 /tnet/files/knot | |
parent | b0beb22fac788c8a43d034caaea8b941b40b21a4 (diff) | |
download | infra-2ffcb38acc9e6925a0ae805370d71e257b27e1bb.tar.gz infra-2ffcb38acc9e6925a0ae805370d71e257b27e1bb.tar.bz2 infra-2ffcb38acc9e6925a0ae805370d71e257b27e1bb.tar.xz infra-2ffcb38acc9e6925a0ae805370d71e257b27e1bb.zip |
Working routedbits
Diffstat (limited to 'tnet/files/knot')
-rw-r--r-- | tnet/files/knot/bird-tnet-pre.conf | 14 | ||||
-rw-r--r-- | tnet/files/knot/bird-tnet.conf | 11 |
2 files changed, 20 insertions, 5 deletions
diff --git a/tnet/files/knot/bird-tnet-pre.conf b/tnet/files/knot/bird-tnet-pre.conf index 7994dfe..ec31fa2 100644 --- a/tnet/files/knot/bird-tnet-pre.conf +++ b/tnet/files/knot/bird-tnet-pre.conf @@ -5,3 +5,17 @@ function is_tnet() # -> bool { return net ~ tnet && ! (net ~ tnet_router); } + +roa6 table dn42_roa; + +protocol static { + roa6 { table dn42_roa; }; + include "/etc/bird/dn42_roa_bird2_6.conf"; +}; + +function dn42_is_valid_network() # -> bool +{ + return net ~ [ + fd00::/8{44,64} # ULA address space as per RFC 4193 + ]; +} diff --git a/tnet/files/knot/bird-tnet.conf b/tnet/files/knot/bird-tnet.conf index bb76fe8..66189e1 100644 --- a/tnet/files/knot/bird-tnet.conf +++ b/tnet/files/knot/bird-tnet.conf @@ -50,14 +50,15 @@ protocol bgp tnet_node2 from tnet_tpl { protocol bgp routedbits_lon1 { local as 4242423538; - neighbor fe80::207 + neighbor fe80::207; neighbor as 4242420207; + interface "tnet-rtdbts_l1"; ipv6 { import filter { if dn42_is_valid_network() && !is_tnet() then { # Check when unknown or invalid according to ROA - if (roa_check(dn42_roa, net, bgp_path.last) == ROA_VALID) then { + if (roa_check(dn42_roa, net, bgp_path.last) = ROA_VALID) then { accept; } else { print "[dn42] ROA check failed for ", net, " ASN ", bgp_path.last; @@ -66,13 +67,13 @@ protocol bgp routedbits_lon1 { } else { reject; } - } + }; export filter { if dn42_is_valid_network() && source ~ [RTS_STATIC, RTS_BGP] then { accept; } else { reject; } - } - } + }; + }; } |