aboutsummaryrefslogtreecommitdiffstats
path: root/roles/space_server/files/bird.conf
diff options
context:
space:
mode:
Diffstat (limited to 'roles/space_server/files/bird.conf')
-rw-r--r--roles/space_server/files/bird.conf16
1 files changed, 14 insertions, 2 deletions
diff --git a/roles/space_server/files/bird.conf b/roles/space_server/files/bird.conf
index fbd426a..67f7419 100644
--- a/roles/space_server/files/bird.conf
+++ b/roles/space_server/files/bird.conf
@@ -60,8 +60,21 @@ define hafnium_prefixes_v6 = [
2a0e:8f02:f034::/48
];
+# large communities
+define lc_f_type = 1;
+
+define lc_type_transit = 1;
+define lc_type_peering = 2;
+define lc_type_customer = 3;
+define lc_type_originate = 4;
+
# functions and filters
+function set_peer_type(int new_type) {
+ bgp_large_community.delete([(local_asn, lc_f_type, *)]);
+ bgp_large_community.add( (local_asn, lc_f_type, new_type));
+}
+
function is_default_route() {
case net.type {
NET_IP4: if net = 0.0.0.0/0 then return true;
@@ -85,8 +98,7 @@ filter kernel_export {
reject;
}
-function honor_graceful_shutdown()
-{
+function honor_graceful_shutdown() {
# RFC 8326 Graceful BGP Session Shutdown
if (65535, 0) ~ bgp_community then {
bgp_local_pref = 0;