Hi! .. /var/log/bird.log 2019-08-22 15:38:38.604 <ERR> filters, line 1023: Stack underflow 2019-08-22 18:02:27.157 <ERR> filters, line 511: Stack underflow 2019-08-22 18:02:30.616 <ERR> filters, line 0: Stack underflow.... ... function bgp_in(int peer_as; prefix set peer_nets) { if ! (avoid_martians()) then return false; if ! (net ~ peer_nets) then return false; if (bgp_path.first != peer_as ) then return false; # if (is_black()) then return true; # if net.len > 24 then return false; return true; } .. define DataClub_nets = [ 46.183.216.0/21{21,32} <http://46.183.216.0/21%7B21,32%7D>, 84.38.128.0/24{24,32} <http://84.38.128.0/24%7B24,32%7D>, 84.38.130.0/24{24,32} <http://84.38.130.0/24%7B24,32%7D>, 84.38.131.0/24{24,32} <http://84.38.131.0/24%7B24,32%7D>, 84.38.132.0/24{24,32} <http://84.38.132.0/24%7B24,32%7D>, 84.38.134.0/24{24,32} <http://84.38.134.0/24%7B24,32%7D>, 84.38.135.0/24{24,32} <http://84.38.135.0/24%7B24,32%7D>, 109.248.147.0/24{24,32} <http://109.248.147.0/24%7B24,32%7D>, 109.248.148.0/24{24,32} <http://109.248.148.0/24%7B24,32%7D>, 109.248.149.0/24{24,32} <http://109.248.149.0/24%7B24,32%7D>, 185.220.116.0/24{24,32} <http://185.220.116.0/24%7B24,32%7D>, 185.220.117.0/24{24,32} <http://185.220.117.0/24%7B24,32%7D>, 185.220.118.0/24{24,32} <http://185.220.118.0/24%7B24,32%7D>, 194.165.16.0/23{23,32} <http://194.165.16.0/23%7B23,32%7D> ]; .. protocol bgp DataClub from PEERS { description "DataClub/52048/as-dataclub"; neighbor 193.27.39.4 as 52048; ipv4 { import where bgp_in(52048, DataClub_nets); export where bgp_out(52048, 64004); }; } ...
I redid the configuration something like ... ipv4 { import filter myfilter; .. ... then I issue test "show route filter myfilter" and get all nets. But in fact, all these routes were filtered. And, finally, only "accept" remained in the filter - this method unfiltered routes. Bug, feature? P.S.: Bird <= 2.0.3 is OK.