# 公网处理 => inet4/6 protocol pipe unet4_inet4_sync { table unet4; peer table inet4; export filter { if bgp_large_community ~ [(UNET_ASN, 3,*)] then reject; if is_bogon_prefix() then reject; bgp_path.empty; accept; }; import none; } protocol pipe unet6_inet6_sync { table unet6; peer table inet6; export filter { if bgp_large_community ~ [(UNET_ASN, 3,*)] then reject; if is_bogon_prefix() then reject; bgp_path.empty; accept; }; import none; } # DN42处理 => dn42v4/6 protocol pipe unet4_dn42v4_sync { table unet4; peer table dn42v4; export filter { if bgp_large_community ~ [(UNET_ASN, 3,*)] then reject; if !is_dn42_prefix() then reject; bgp_path.empty; accept; }; import none; } protocol pipe unet6_dn42v6_sync { table unet6; peer table dn42v6; export filter { if bgp_large_community ~ [(UNET_ASN, 3,*)] then reject; if !is_dn42_prefix() then reject; bgp_path.empty; accept; }; import none; } # 剩下的进入master (只有V4) protocol pipe unet4_sync { table unet4; peer table master4; export filter { if bgp_large_community ~ [(UNET_ASN, 3,*)] then reject; if !unet_is_valid_network_v4() then reject; accept; }; import none; }