Arnaud Fenioux wrote, 28.01.2015 17:20:
Hello the bird community,
I’ve two small questions, I've put them in the same mail even if they are not related :
1/ I currently use this code in my config to reject “martians”
if ( is_martian() ) then { reject "prefix rejected by is_martian"; }
Which prints in logs : <INFO> prefix rejected by is_martian Do you know if there is a way to add some variables in the log (like bgp_path.first, from or net) ?
2/ I’ve notice a “strange” behaviour when comparing communities, is this voluntary?
Hi, <Ondrej Zajicek wrote to me some times ago> -------- Match (~) is not a symmetric operator, its general syntax is "instance ~ set/list/pattern", therefore pair ~ pair_set is OK, also pair ~ pair_list (bgp_community) is OK. Matching pair_list against pair_set is a generalization interpreted as "For each pair X in pair_list try X ~ pair_set, return true if any X matches" -------- Wbr, Mikhail, MSK-IX
Pair set have to be compared on the right : bird> show route where bgp_community ~ [ (51706,51706) ] count 2467 of 2467 routes for 2426 networks
bird> show route where [ (51706,51706) ] ~ bgp_community count 0 of 2467 routes for 2426 networks
Pair have to be compared on the left : bird> show route where (51706,51706) ~ bgp_community count 2467 of 2467 routes for 2426 networks
bird> show route where bgp_community ~ (51706,51706) count 0 of 2467 routes for 2426 networks
Thanks
-- Arnaud Fenioux Network Engineer - FranceIX
-- Best regards, Mikhail A. Grishin <m.grishin@msk-ix.ru>