aboutsummaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorAsbjørn Sloth Tønnesen <asbjorn@labitat.dk>2021-06-18 21:35:52 +0000
committerEmil Renner Berthing <esmil@labitat.dk>2021-06-19 11:04:59 +0200
commitff8ef6bdd84a5edc068069b5ff382c35e2456881 (patch)
tree9fcef46e41d025984e9d70794baffce5d81c0e34 /roles
parent2251118ea48c86e84b58725fd9651ba3fcae5026 (diff)
downloadlabitat-ansible-ff8ef6bdd84a5edc068069b5ff382c35e2456881.tar.gz
labitat-ansible-ff8ef6bdd84a5edc068069b5ff382c35e2456881.tar.xz
labitat-ansible-ff8ef6bdd84a5edc068069b5ff382c35e2456881.zip
space_server: bird: set communities on import
Assign large communities on prefix import. Later we can then use the community, to decide if we should announce it to our peers.
Diffstat (limited to 'roles')
-rw-r--r--roles/space_server/files/bird.conf15
1 files changed, 13 insertions, 2 deletions
diff --git a/roles/space_server/files/bird.conf b/roles/space_server/files/bird.conf
index 67f7419..943cd6c 100644
--- a/roles/space_server/files/bird.conf
+++ b/roles/space_server/files/bird.conf
@@ -107,6 +107,7 @@ function honor_graceful_shutdown() {
filter transit_import {
honor_graceful_shutdown();
+ set_peer_type(lc_type_transit);
accept;
}
@@ -115,14 +116,23 @@ filter transit_export {
reject;
}
+filter import_originating {
+ set_peer_type(lc_type_originate);
+ accept;
+}
+
# generate local routes
protocol static static4 {
- ipv4;
+ ipv4 {
+ import filter import_originating;
+ };
route 185.38.175.0/24 unreachable;
}
protocol static static6 {
- ipv6;
+ ipv6 {
+ import filter import_originating;
+ };
route 2a01:4262:1ab::/48 unreachable;
}
@@ -130,6 +140,7 @@ protocol static static6 {
function customer_import(int peer_asn; prefix set peer_prefixes) {
if net !~ peer_prefixes then reject;
if bgp_path.first != peer_asn then reject;
+ set_peer_type(lc_type_customer);
accept;
}