aboutsummaryrefslogtreecommitdiffstats
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
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.
-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;
}