Juniper

[edit protocol bgp]

group CIX_ipv4_rs1 {

    type external;

    description "eBGP with CIX RS1";

    local-address 193.192.15.XX;

    import prefere-cix;

    authentication-key "<password>"

    export CIX-OUT;

    peer-as 51702;

    neighbor 193.192.15.124;

}

group CIX_ipv4_rs2 {

    type external;

    description "eBGP with CIX RS2";

    local-address 193.192.15.XX;

    import prefere-cix;

    authentication-key "<password>

    export CIX-OUT;

    peer-as 51702;

    neighbor 193.192.15.125;

}

group CIX_ipv6_rs1 {

    type external;

    description "eBGP with CIX IPv6 RS1";

    local-address 2001:7f8:28::XX:0;

    import prefere-cix-ipv6;

    authentication-key "<password>"

    export CIX-OUT-IPv6;

    peer-as 51702;

    neighbor 2001:7f8:28::1;

}

group CIX_ipv6_rs2 {

    type external;

    description "eBGP with CIX IPv6 RS1";

    local-address 2001:7f8:28::XX:0;

    import prefere-cix-ipv6;

    authentication-key "<password>"

    export CIX-OUT-IPv6;

    peer-as 51702;

    neighbor 2001:7f8:28::2;

}

[edit policy-options]

policy-statement CIX-OUT {

    term 10 {

        from {

            protocol aggregate;

            route-filter xx.xx.xx.xx/xx exact;

        }

        then {

            community set CIX_SEND_EVERYONE;

            accept;

        }

    }

    term 2 {

        then reject;

    }

}

policy-statement CIX-OUT-IPv6 {       

    term 1 {

        from {

            route-filter xxxxxxxxxxx:/xx exact;

        }

        then {

            community set CIX_SEND_EVERYONE;

            accept;

        }

    }

    term 2 {

        then reject;

    }

}

policy-statement prefere-cix {

    term set-localpref {

        then {

            local-preference 900;

        }

    }

}

policy-statement prefere-cix-ipv6 {

    term 1 {

        then {

            local-preference 900;

        }

    }

}

community CIX_SEND_EVERYONE members 51702:51702;

community CIX_SEND_NOONE members 0:51702;