diff --git a/bird/net186_anycast.conf b/bird/net186_anycast.conf index 0e0f23d..f14fdc9 100644 --- a/bird/net186_anycast.conf +++ b/bird/net186_anycast.conf @@ -11,4 +11,12 @@ protocol static default_anycast { bgp_large_community.add((200536, 115, 1)); } }; + route 2602:2a3::/48 reject { + if (POP !~ ANYCAST_POPS) then { + bgp_large_community.add((200536, 1, 0)); + } + if (POP ~ [ 221, 104, 402, 202, 101 ]) then { + bgp_large_community.add((200536, 115, 1)); + } + }; }; diff --git a/lib/09-community-controller.conf b/lib/09-community-controller.conf index a2d288a..c4c4826 100644 --- a/lib/09-community-controller.conf +++ b/lib/09-community-controller.conf @@ -1,5 +1,6 @@ function pub_route_controller_specific() { if 4837 ~ bgp_path && (200536, 120, 221) ~ bgp_large_community && REGION ~ [200..299] then bgp_local_pref = 114514; + if 4134 ~ bgp_path && (200536, 120, 222) ~ bgp_large_community && REGION ~ [200..299] then bgp_local_pref = 114514; if 58453 ~ bgp_path && 2914 ~ bgp_path && (200536, 120, 401) ~ bgp_large_community then bgp_local_pref = 114514; if 174 ~ bgp_path && 4837 ~ bgp_path && (200536, 120, 101) ~ bgp_large_community && REGION = 100 then bgp_local_pref = 114514; if REGION = 400 && (200536, 121, 500) ~ bgp_large_community && (200536, 122, 410) ~ bgp_large_community then bgp_local_pref = bgp_local_pref + 6;