net186-config/lib/20-community-peer.conf

28 lines
956 B
Plaintext

function is_peer_route() {
if (LOCAL_ASN, 110, 0) ~ bgp_large_community then return false;
if (LOCAL_ASN, 110, 10) ~ bgp_large_community then return false;
if bgp_path ~ [ 7018, 3320, 3257, 6830, 3356, 2914, 5511, 3491, 1239, 6453, 6762, 1299, 12956, 701, 6461, 174, 6939] then {
return false;
}
return true;
}
function direct_peer_import_filter(int ASN) {
if !is_valid() then return false;
if !is_peer_route() then return false;
pub_add_communities(ASN, 0);
pub_preprocess_communities();
bgp_local_pref = 500 - bgp_path.len * 10;
pub_route_controller_specific();
return true;
}
function direct_peer_export_filter(int ASN) {
pub_process_path();
if !is_valid() then return false;
if !is_peer_route() then return false;
if !pub_is_downstream_route() then return false;
pub_add_communities(ASN, 30);
if pub_process_communities(ASN, 0) then return true;
else return false;
}