28 lines
956 B
Plaintext
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;
|
|
} |