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;
 | |
| } |