From f6361901625aae13992670bd385ca2e67310f1b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= <asbjorn@labitat.dk>
Date: Fri, 18 Jun 2021 21:35:52 +0000
Subject: 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.
---
 roles/space_server/files/bird.conf | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

(limited to 'roles')

diff --git a/roles/space_server/files/bird.conf b/roles/space_server/files/bird.conf
index 5e48427..a23a7bf 100644
--- a/roles/space_server/files/bird.conf
+++ b/roles/space_server/files/bird.conf
@@ -109,6 +109,7 @@ function honor_graceful_shutdown()
 
 filter transit_import {
 	honor_graceful_shutdown();
+	set_peer_type(lc_type_transit);
 	accept;
 }
 
@@ -117,14 +118,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;
 }
 
@@ -132,6 +142,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;
 }
 
-- 
cgit v1.2.1