diff --git a/bird/files/bgp/de-cix-common.conf.j2 b/bird/files/bgp/de-cix-common.conf.j2
index fb76c63f84de2b5c688d4c174b763c0e3fae7e9e..e7001ed8d7643c91b17488f04668bbd76860a0c7 100644
--- a/bird/files/bgp/de-cix-common.conf.j2
+++ b/bird/files/bgp/de-cix-common.conf.j2
@@ -4,26 +4,26 @@ define NO_REDIST_MUC = (65222,3000);
 define NO_REDIST_HAM = (65222,4000);
 define NO_REDIST_DUS = (65222,9000);
 
-function de_cix_fra_metro() {
-	if ((65102, 1000) ~ bgp_community) then {
+function de_cix_fra_metro(int rs_asn) {
+	if ((*, 1912,0) ~ bgp_large_community) then {
 		return 1;
 	}
 	return 0;
 }
-function de_cix_muc_metro() {
-	if ((65102, 3000) ~ bgp_community) then {
+function de_cix_muc_metro(int rs_asn) {
+	if ((*, 1912,1) ~ bgp_large_community) then {
 		return 1;
 	}
 	return 0;
 }
-function de_cix_ham_metro() {
-	if ((65102, 4000) ~ bgp_community) then {
+function de_cix_ham_metro(int rs_asn) {
+	if ((*, 1912,2) ~ bgp_large_community) then {
 		return 1;
 	}
 	return 0;
 }
-function de_cix_dus_metro() {
-	if ((65102, 9000) ~ bgp_community) then {
+function de_cix_dus_metro(int rs_asn) {
+	if ((*, 1912,9) ~ bgp_large_community) then {
 		return 1;
 	}
 	return 0;
diff --git a/bird/files/bgp/de-cix4.conf.j2 b/bird/files/bgp/de-cix4.conf.j2
index c8429366b33454958a0f257a65e1a50539ab3007..70ec26e1354032669644d87a3f9ad5899d0a8329 100644
--- a/bird/files/bgp/de-cix4.conf.j2
+++ b/bird/files/bgp/de-cix4.conf.j2
@@ -5,13 +5,13 @@ filter de_cix_fra_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1000;
-	if de_cix_fra_metro() = 0 then
+	if de_cix_fra_metro(6695) = 0 then
 		bgp_med = 2000;
-	if de_cix_muc_metro() = 1 then
+	if de_cix_muc_metro(6695) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_ham_metro() = 1 then
+	if de_cix_ham_metro(6695) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_dus_metro() = 1 then
+	if de_cix_dus_metro(6695) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
@@ -37,13 +37,13 @@ filter de_cix_muc_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1500;
-	if de_cix_muc_metro() = 0 then
+	if de_cix_muc_metro(47228) = 0 then
 		bgp_med = 3000;
-	if de_cix_fra_metro() = 1 then
+	if de_cix_fra_metro(47228) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_ham_metro() = 1 then
+	if de_cix_ham_metro(47228) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_dus_metro() = 1 then
+	if de_cix_dus_metro(47228) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
@@ -68,13 +68,13 @@ filter de_cix_ham_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1500;
-	if de_cix_ham_metro() = 0 then
+	if de_cix_ham_metro(43252) = 0 then
 		bgp_med = 3000;
-	if de_cix_muc_metro() = 1 then
+	if de_cix_muc_metro(43252) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_fra_metro() = 1 then
+	if de_cix_fra_metro(43252) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_dus_metro() = 1 then
+	if de_cix_dus_metro(43252) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
@@ -99,13 +99,13 @@ filter de_cix_dus_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1500;
-	if de_cix_dus_metro() = 0 then
+	if de_cix_dus_metro(56890) = 0 then
 		bgp_med = 3000;
-	if de_cix_muc_metro() = 1 then
+	if de_cix_muc_metro(56890) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_ham_metro() = 1 then
+	if de_cix_ham_metro(56890) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_fra_metro() = 1 then
+	if de_cix_fra_metro(56890) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
diff --git a/bird/files/bgp/de-cix6.conf.j2 b/bird/files/bgp/de-cix6.conf.j2
index c8429366b33454958a0f257a65e1a50539ab3007..70ec26e1354032669644d87a3f9ad5899d0a8329 100644
--- a/bird/files/bgp/de-cix6.conf.j2
+++ b/bird/files/bgp/de-cix6.conf.j2
@@ -5,13 +5,13 @@ filter de_cix_fra_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1000;
-	if de_cix_fra_metro() = 0 then
+	if de_cix_fra_metro(6695) = 0 then
 		bgp_med = 2000;
-	if de_cix_muc_metro() = 1 then
+	if de_cix_muc_metro(6695) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_ham_metro() = 1 then
+	if de_cix_ham_metro(6695) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_dus_metro() = 1 then
+	if de_cix_dus_metro(6695) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
@@ -37,13 +37,13 @@ filter de_cix_muc_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1500;
-	if de_cix_muc_metro() = 0 then
+	if de_cix_muc_metro(47228) = 0 then
 		bgp_med = 3000;
-	if de_cix_fra_metro() = 1 then
+	if de_cix_fra_metro(47228) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_ham_metro() = 1 then
+	if de_cix_ham_metro(47228) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_dus_metro() = 1 then
+	if de_cix_dus_metro(47228) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
@@ -68,13 +68,13 @@ filter de_cix_ham_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1500;
-	if de_cix_ham_metro() = 0 then
+	if de_cix_ham_metro(43252) = 0 then
 		bgp_med = 3000;
-	if de_cix_muc_metro() = 1 then
+	if de_cix_muc_metro(43252) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_fra_metro() = 1 then
+	if de_cix_fra_metro(43252) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_dus_metro() = 1 then
+	if de_cix_dus_metro(43252) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }
@@ -99,13 +99,13 @@ filter de_cix_dus_route_server_in {
 	if ebgp_in("route-server") = 0 then
 		reject;
 	bgp_med = 1500;
-	if de_cix_dus_metro() = 0 then
+	if de_cix_dus_metro(56890) = 0 then
 		bgp_med = 3000;
-	if de_cix_muc_metro() = 1 then
+	if de_cix_muc_metro(56890) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_ham_metro() = 1 then
+	if de_cix_ham_metro(56890) = 1 then
 		bgp_local_pref = 2;
-	if de_cix_fra_metro() = 1 then
+	if de_cix_fra_metro(56890) = 1 then
 		bgp_local_pref = 2;
 	accept;
 }