@@ -4,17 +4,18 @@
|
||||
function function_inet_bgp_export_to_upstream1() {
|
||||
if source !~ [RTS_STATIC, RTS_BGP] then return false;
|
||||
if is_bogon_prefix() then return false;
|
||||
if bgp_large_community !~ [(LOCAL_ASN, 200, 0)] then return false;
|
||||
# 100禁止性过滤
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 100, 100)] then return false;
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 100, 200)] then return false;
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 200, 202)] then return false;
|
||||
if source =RTS_STATIC then {
|
||||
if source !~ [RTS_STATIC] then {
|
||||
# 静态路由,允许 200,[0 2]
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 200, 0)] then return true;
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 200, 2)] then return true;
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 200, 1)] then return false;
|
||||
}
|
||||
if source = RTS_BGP then {
|
||||
if source !~ [RTS_BGP] then {
|
||||
# BGP路由,允许 300,0
|
||||
if bgp_large_community ~ [(LOCAL_ASN, 300, 0)] then return true;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,6 @@ function is_self_net() {
|
||||
case net.type {
|
||||
NET_IP4: return net ~ is_inet_self_IPv4;
|
||||
NET_IP6: return net ~ is_inet_self_IPv6;
|
||||
else: print "is_inet_prefix: unexpected net.type ", net.type, " ", net; return false;
|
||||
else: print "is_dn42_prefix: unexpected net.type ", net.type, " ", net; return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user