Hi, I have this configuration:
function bgp_filter_customer_in (prefix customer_prefix) { if ! (net ~ customer_prefix) then return false; else return true; } template bgp PEERS { local as myasn; import keep filtered; import all; export all; import limit 100 action restart; rs client; source address 2001:7f8:b1::1; } filter bgp_filter_grifon_nominoe_in { if (bgp_filter_customer_in([ 2a00:5884::/32, 2001:678:3cc::/48 ])) then { accept; } else { reject "Prefix filtered for Grifon"; } } protocol bgp bgp_grifon_nominoe from PEERS { description "Grifon nominoe"; neighbor 2001:7f8:b1::a as 204092; import filter bgp_filter_grifon_nominoe_in; } But the two announced prefixes are filtered: bird> show route filtered protocol bgp_grifon_nominoe 2a00:5884::/32 via 2001:7f8:b1::a on eth2 [bgp_grifon_nominoe 16:05:53] (100) [AS204092i] 2001:678:3cc::/48 via 2001:7f8:b1::a on eth2 [bgp_grifon_nominoe 16:05:53] (100) [AS206155i] If I just pass one prefix in the filter, this prefix is accepted, so I don’t understand why they are filtered with this configuration. Plus, I used the same syntax for the IPv4 prefixes and it works. I’m using bird 1.6.3. Thanks for your advices, -- alarig
signature.asc
Description: PGP signature