Files
ferrix/docs/lab/prod/pr01/bird.conf
T

1455 lines
33 KiB
Plaintext

router id 193.36.104.1;
log stderr { debug, trace, info, remote, warning, error, auth, fatal, bug };
filter rayhaan_net_only {
if (net ~ [2a0d:d740::/29+]) then accept;
if (net ~ [193.36.104.0/22+]) then accept;
reject;
}
function lab_export_allowed(int peer_as)
{
if (210036, 0, peer_as) ~ bgp_large_community then return false;
if (210036, 1, peer_as) ~ bgp_large_community then return true;
if (210036, 0, 0) ~ bgp_large_community then return false;
return true;
}
protocol kernel kernel4 {
kernel table 200;
scan time 120;
ipv4 {
import all;
export all;
};
}
protocol kernel kernel6 {
kernel table 200;
scan time 120;
ipv6 {
import all;
export all;
};
}
protocol device {
scan time 10;
}
protocol direct {
ipv4 {
import filter rayhaan_net_only;
};
ipv6 {
import filter rayhaan_net_only;
};
}
filter peers_out {
bgp_med = 0;
bgp_large_community.add((210036, 10, 2));
if (net = 193.36.104.0/24) then accept;
if (net = 2a0d:d740::/48) then accept;
if (net = 2a0d:d740:105::/48) then accept;
if proto = "delroth_v6" then accept;
if proto = "pkern_v6" then accept;
if proto = "home_v4" then accept;
if proto = "ferrix" then {
if !lab_export_allowed(42476) then reject;
bgp_path.delete([ 64512..65534, 4200000000..4294967294 ]);
bgp_large_community.delete([ (210036, 0..1, *) ]);
accept;
}
reject;
}
filter comrack_out {
bgp_med = 500;
bgp_large_community.add((210036, 10, 2));
if (net = 193.36.104.0/24) then accept;
if (net = 2a0d:d740::/48) then accept;
if proto = "benfiedler_v4" then accept;
if proto = "benfiedler_v6" then accept;
if proto = "delroth_v6" then accept;
if proto = "pkern_v6" then accept;
if proto = "home_v4" then accept;
if proto = "ferrix" then {
if !lab_export_allowed(42476) then reject;
bgp_path.delete([ 64512..65534, 4200000000..4294967294 ]);
bgp_large_community.delete([ (210036, 0..1, *) ]);
accept;
}
reject;
}
filter peers_in {
if (net = 0.0.0.0/0) then {
reject;
}
if (net = ::/0) then {
reject;
}
# Don't accept routes from our own ASN.
if (bgp_path ~ [210036]) then {
reject;
}
accept;
}
filter drop_peers_from_transits {
if (bgp_path ~ [15169, 6939]) then {
reject;
}
}
# CommunityRack V4
protocol bgp comrack_v4 {
description "CommunityRack IPv4 transit";
local 185.95.219.37 as 210036;
neighbor 185.95.219.36 as 57118;
ipv4 {
export filter comrack_out;
import filter {
if (net = 0.0.0.0/0) then {
reject;
}
# Don't accept routes from our own ASN.
if (bgp_path ~ [210036]) then {
reject;
}
# Don't accept routes from AS15169 over this link,
# we have multiple other paths via IXes.
if (bgp_path ~ [15169]) then {
reject;
}
accept;
};
export limit 200;
};
}
# CommunityRack V6
protocol bgp comrack_v6 {
description "CommunityRack IPv6 transit";
local 2a05:fc87:1:12::b as 210036;
neighbor 2a05:fc87:1:12::a as 57118;
ipv6 {
export filter comrack_out;
import filter {
if (net = ::/0) then {
reject;
}
# Don't accept routes from our own ASN.
if (bgp_path ~ [210036]) then {
reject;
}
# Don't accept routes from AS15169 over this link,
# we have multiple other paths via IXes.
if (bgp_path ~ [15169]) then {
reject;
}
accept;
};
export limit 200;
};
}
# Temporarily disabled until a better route is found.
#protocol bgp bgptools {
# description "BGPTools monitoring session";
# local 2a05:fc87:1:12::b as 210036;
# neighbor 2a0c:2f07:9459::b14 as 212232;
# multihop;
# ipv6 {
# add paths tx;
# export filter { accept; };
# import filter { reject; };
# };
# ipv4 {
# add paths tx;
# export filter { accept; };
# import filter { reject; };
# };
#}
#
# SwissIX peers
#
# RS1
protocol bgp swissix_rs1_v4 {
description "SwissIX RS1 IPv4";
local 91.206.52.201 as 210036;
neighbor 91.206.52.252 as 42476;
default bgp_local_pref 500;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp swissix_rs1_v6 {
description "SwissIX RS1 IPv6";
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::a5ec:a:1 as 42476;
default bgp_local_pref 500;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# RS2
protocol bgp swissix_rs2_v4 {
description "swissix rs2 ipv4";
local 91.206.52.201 as 210036;
neighbor 91.206.53.253 as 42476;
default bgp_local_pref 500;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_rs2_v6 {
description "swissix rs2 ipv6";
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::a5ec:a:2 as 42476;
default bgp_local_pref 500;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Hurricane
protocol bgp swissix_he_v4 {
description "Hurricane Electric @ SwissIX ipv4";
local 91.206.52.201 as 210036;
neighbor 91.206.52.170 as 6939;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_he_v6 {
description "Hurricane Electric @ SwissIX ipv6";
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::aa as 6939;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Pim
protocol bgp swissix_pim_8298_v4 {
description "Pim SwissIX IPv4";
local 91.206.52.201 as 210036;
neighbor 91.206.53.12 as 8298;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_pim_8298_v6 {
description "Pim SwissIX IPv6";
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::10c as 8298;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Andrew
protocol bgp swissix_andrew_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.243 as 34615;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_andrew_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::f3 as 34615;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Tobias
protocol bgp swissix_tobias_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.53.19 as 212495;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_tobias_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::113 as 212495;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Meerfabrig
protocol bgp swissix_meerfabrig_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.244 as 34549;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_meerfabrig_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::f4 as 34549;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Akamai
protocol bgp swissix_akamai_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.56 as 20940;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_akamai_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::38 as 20940;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# JMP Technologies
protocol bgp swissix_jmp_technologies_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.53.18 as 61423;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_jmp_technologies_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::112 as 61423;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp swissix_google_v4_1 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.74 as 15169;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_google_v6_1 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::4a as 15169;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp swissix_google_v4_2 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.223 as 15169;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_google_v6_2 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::df as 15169;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# 31173 Services AB
protocol bgp swissix_31173_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.230 as 39351;
# Higher local pref for Zurich.
default bgp_local_pref 200;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_31173_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::e6 as 39351;
# Higher local pref for Zurich.
default bgp_local_pref 200;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Cloudflare
protocol bgp swissix_cloudflare_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.52.192 as 13335;
# Higher local pref for Zurich.
default bgp_local_pref 200;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_cloudflare_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::c0 as 13335;
# Higher local pref for Zurich.
default bgp_local_pref 200;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# i3d
protocol bgp swissix_i3d_v4 {
local 91.206.52.201 as 210036;
neighbor 91.206.53.28 as 49544;
# Higher local pref for Zurich.
default bgp_local_pref 200;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp swissix_i3d_v6 {
local 2001:7f8:24::c9 as 210036;
neighbor 2001:7f8:24::11c as 49544;
# Higher local pref for Zurich.
default bgp_local_pref 200;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
#
# NL-IX
#
# RS1
protocol bgp nl_ix_rs1_v4 {
local 193.239.117.206 as 210036;
neighbor 193.239.116.255 as 34307;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_rs1_v6 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a503:4307:1 as 34307;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# RS2
protocol bgp nl_ix_rs2_v4 {
local 193.239.117.206 as 210036;
neighbor 193.239.117.0 as 34307;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_rs2_v6 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a503:4307:2 as 34307;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Apple
protocol bgp nl_ix_apple_v4_r1 {
local 193.239.117.206 as 210036;
neighbor 193.239.117.112 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_apple_v6_r1 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a500:714:1 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp nl_ix_apple_v4_r2 {
local 193.239.117.206 as 210036;
neighbor 193.239.117.113 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_apple_v6_r2 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a500:714:2 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Hurricane
protocol bgp nl_ix_he_v4 {
local 193.239.117.206 as 210036;
neighbor 193.239.116.14 as 6939;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_he_v6 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a500:6939:1 as 6939;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# NL-IX Cloudflare
protocol bgp nl_ix_cloudflare_1 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a501:3335:1 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp nl_ix_cloudflare_2 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a501:3335:2 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp nl_ix_cloudflare_3 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a501:3335:3 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp nl_ix_cloudflare_4 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a501:3335:4 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_cloudflare_v4_1 {
local 193.239.117.206 as 210036;
neighbor 193.239.117.114 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_cloudflare_v4_2 {
local 193.239.117.206 as 210036;
neighbor 193.239.118.138 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_cloudflare_v4_3 {
local 193.239.117.206 as 210036;
neighbor 193.239.119.101 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_cloudflare_v4_4 {
local 193.239.117.206 as 210036;
neighbor 193.239.117.14 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
# 31173 Services AB.
protocol bgp nl_ix_31173_v4 {
local 193.239.117.206 as 210036;
neighbor 193.239.116.34 as 39351;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_31173_v6 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a503:9351:1 as 39351;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp nl_ix_i3d_v4 {
local 193.239.117.206 as 210036;
neighbor 193.239.117.76 as 49544;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp nl_ix_i3d_v6 {
local 2001:7f8:13::a521:36:1 as 210036;
neighbor 2001:7f8:13::a504:9544:1 as 49544;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
#
# France-IX
#
protocol bgp france_ix_rs1_v4{
local 37.49.238.32 as 210036;
neighbor 37.49.236.250 as 51706;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_rs1_v6 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::250 as 51706;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Hurricane
protocol bgp france_ix_he_v4{
local 37.49.238.32 as 210036;
neighbor 37.49.236.10 as 6939;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_he_v6 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::10 as 6939;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Transatel
protocol bgp france_ix_transatel_v4{
local 37.49.238.32 as 210036;
neighbor 37.49.236.140 as 198335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_transatel_v6 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::140 as 198335;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Apple
protocol bgp france_ix_apple_v4_r1 {
local 37.49.238.32 as 210036;
neighbor 37.49.237.176 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_apple_v6_r1 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::1:176 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_apple_v4_r2 {
local 37.49.238.32 as 210036;
neighbor 37.49.237.179 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_apple_v6_r2 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::1:179 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_akamai_v4_r1 {
local 37.49.238.32 as 210036;
neighbor 37.49.236.168 as 20940;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_akamai_v6_r1 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::168 as 20940;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_akamai_v4_r2 {
local 37.49.238.32 as 210036;
neighbor 37.49.237.164 as 32787;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_akamai_v6_r2 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::1:164 as 32787;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_cloudflare_v4_r1 {
local 37.49.238.32 as 210036;
neighbor 37.49.237.49 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_cloudflare_v4_r2 {
local 37.49.238.32 as 210036;
neighbor 37.49.238.59 as 13335;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_cloudflare_v6_r1 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::1:49 as 13335;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_cloudflare_v6_r2 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::2:59 as 13335;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_alibaba {
local 37.49.238.32 as 210036;
neighbor 37.49.237.201 as 45102;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp france_ix_i3d_v4 {
local 37.49.238.32 as 210036;
neighbor 37.49.237.230 as 49544;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_i3d_v6_r1 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::1:230 as 49544;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# 31173 services AB.
protocol bgp france_ix_39351_v4{
local 37.49.238.32 as 210036;
neighbor 37.49.237.171 as 39351;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp france_ix_39351_v6 {
local 2001:7f8:54::2:32 as 210036;
neighbor 2001:7f8:54::1:171 as 39351;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
#
# DE-CIX
#
protocol bgp de_cix_rs1_v4 {
local 80.81.196.144 as 210036;
neighbor 80.81.192.157 as 6695;
default bgp_local_pref 150;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_rs1_v6 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::1a27:5051:c09d as 6695;
default bgp_local_pref 150;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_rs2_v4 {
local 80.81.196.144 as 210036;
neighbor 80.81.193.157 as 6695;
default bgp_local_pref 150;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_rs2_v6 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::1a27:5051:c19d as 6695;
default bgp_local_pref 150;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# Apple
protocol bgp de_cix_apple_v4_r1 {
local 80.81.196.144 as 210036;
neighbor 80.81.193.202 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_apple_v6_r1 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::2ca:0:1 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_apple_v4_r2 {
local 80.81.196.144 as 210036;
neighbor 80.81.193.223 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_apple_v6_r2 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::2ca:0:2 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_apple_v4_r3 {
local 80.81.196.144 as 210036;
neighbor 80.81.194.171 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_apple_v6_r3 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::2ca:0:4 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_apple_v4_r4 {
local 80.81.196.144 as 210036;
neighbor 80.81.194.161 as 714;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_apple_v6_r4 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::2ca:0:3 as 714;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_cprm_v4 {
local 80.81.196.144 as 210036;
neighbor 80.81.192.38 as 8657;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_cprm_v6 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::21d1:0:1 as 8657;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_clouflare_v4_1 {
local 80.81.196.144 as 210036;
neighbor 80.81.194.180 as 13335;
default bgp_local_pref 150;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_clouflare_v4_2 {
local 80.81.196.144 as 210036;
neighbor 80.81.193.129 as 13335;
default bgp_local_pref 150;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_cloudflare_v6_1 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::3417:0:1 as 13335;
default bgp_local_pref 150;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_cloudflare_v6_2 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::3417:0:2 as 13335;
default bgp_local_pref 150;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_alibaba {
local 80.81.196.144 as 210036;
neighbor 80.81.195.60 as 45102;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_jmp_technologies_v4 {
local 80.81.196.144 as 210036;
neighbor 80.81.195.13 as 61423;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_jmp_technologies_v6 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::efef:0:1 as 61423;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
# 31173 services AB.
protocol bgp de_cix_31173_v4 {
local 80.81.196.144 as 210036;
neighbor 80.81.195.179 as 39351;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_31173_v6 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::99b7:0:1 as 39351;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp de_cix_alibaba_multi {
local 80.81.196.144 as 210036;
neighbor 80.81.194.33 as 45102;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
import limit 100;
};
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 10;
import limit 100;
};
}
protocol bgp de_cix_i3d_v4 {
local 80.81.196.144 as 210036;
neighbor 80.81.194.107 as 49544;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp de_cix_i3d_v6 {
local 2001:7f8::3:3474:0:1 as 210036;
neighbor 2001:7f8::c188:0:1 as 49544;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
#
# FREE-IX
#
protocol bgp free_ix_rs1_v4 {
local 185.1.205.5 as 210036;
neighbor 185.1.205.254 as 51530;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp free_ix_rs1_v6 {
local 2001:7f8:111:42:0:3:3474:1 as 210036;
neighbor 2001:7f8:111:42::c94a:1 as 51530;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp free_ix_rs2_v4 {
local 185.1.205.5 as 210036;
neighbor 185.1.205.253 as 51530;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp free_ix_rs2_v6 {
local 2001:7f8:111:42:0:3:3474:1 as 210036;
neighbor 2001:7f8:111:42::c94a:2 as 51530;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp free_ix_otg_v4 {
local 185.1.205.5 as 210036;
neighbor 185.1.205.12 as 35202;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp free_ix_otg_v6 {
local 2001:7f8:111:42:0:3:3474:1 as 210036;
neighbor 2001:7f8:111:42::8982:1 as 35202;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp free_ix_remote_v4 {
local 185.1.205.5 as 210036;
neighbor 185.1.205.7 as 50869;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp free_ix_remote_v6 {
local 2001:7f8:111:42:0:3:3474:1 as 210036;
neighbor 2001:7f8:111:42::c6b5:1 as 50869;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
#
# CommunityIX
#
protocol bgp com_ix_otg_v4 {
local 185.1.105.7 as 210036;
neighbor 185.1.105.3 as 35202;
ipv4 {
export filter peers_out;
import filter peers_in;
export limit 10;
};
}
protocol bgp com_ix_otg_v6 {
local 2001:7f8:bf:1::7 as 210036;
neighbor 2001:7f8:bf:1::3 as 35202;
ipv6 {
export filter peers_out;
import filter peers_in;
export limit 200;
};
}
protocol bgp delroth_v6 {
local fd00:2::1 as 210036;
neighbor fd00:2::2 as 210400;
# Transit customers get local_pref higher than any other route
# to ensure we propagate their best routes outwards.
default bgp_local_pref 1000;
ipv6 {
export filter {
accept; # Announce all routes to downstream.
};
import filter {
if (net ~ [2a0d:d742:40::/44+]) then {
accept;
}
reject;
};
};
}
protocol bgp pkern_v6 {
local fd00:3::1 as 210036;
neighbor fd00:3::2 as 210617;
# Transit customers get local_pref higher than any other route
# to ensure we propagate their best routes outwards.
default bgp_local_pref 1000;
ipv4 {
extended next hop on;
export filter {
accept; # Announce all routes downstream.
};
import filter {
if (net ~ [193.36.107.0/24]) then {
accept;
}
reject;
};
};
ipv6 {
export filter {
accept; # Announce all routes to downstream.
};
import filter {
if (net ~ [2a0e:97c0:5a0::/48, 2a0e:97c0:5a1::/48, 2a0d:d740:107::/48]) then {
accept;
}
reject;
};
};
}
protocol bgp home_v6 {
local 2a0d:d747:100:: as 210036;
neighbor 2a0d:d747:100::1 as 210036;
allow local as;
ipv6 {
next hop self;
export filter {
# Don't advertise stuff from comrack to home.
if (proto = "comrack_v6") then {
reject;
}
accept;
};
import filter {
if (net ~ [2a0d:d740:105::/48]) then {
bgp_path.empty;
accept;
}
reject;
};
};
}
protocol bgp home_v4 {
local 10.2.0.2 as 210036;
neighbor 10.2.0.1 as 210036;
allow local as;
direct;
ipv4 {
next hop self;
gateway direct;
import where net ~ [ 193.36.105.0/24 ];
export where source = RTS_BGP;
};
}
define FERRIX_ASN = 4200000001;
define LAB_PREFIXES = [ 2a0d:d741::/40{48,48} ];
filter ferrix_import
{
if !(net ~ LAB_PREFIXES) then reject;
if bgp_path.len > 17 then reject;
if bgp_path.first != FERRIX_ASN then reject;
bgp_community.filter([ (65535, 65281), (65535, 65282) ]);
bgp_large_community.filter([ (42476, *, *), (210036, 0..1, *) ]);
bgp_ext_community.empty;
dest = RTD_UNREACHABLE;
accept;
}
protocol bgp ferrix
{
description "ferrix_bgp teaching lab (announce only)";
local 2a0d:d747:1::1 as 210036;
neighbor 2a0d:d747:1:: as FERRIX_ASN;
direct;
passive on;
ipv6 {
import filter ferrix_import;
import limit 130 action block;
export none;
};
}