Hello! This is a bug that was fixed in commit da65a3d898fde0ce567782d86919a66e29916ed7 Please upgrade to v1.6.5 (or better to v2.0.4). Maria On 4/20/19 5:19 PM, Nico Schottelius wrote:
Hello,
I am using bird 1.6.3 (from debian) and if I use the following filter, bird "crashes" when issueing the "conf" command:
Apr 19 21:29:53 router1 bird: Reconfiguring Apr 19 21:29:53 router1 bird: Unknown instruction 8574 in same (~)
filter:
filter to_netstream { if(is_inside_ungleich()) then { if(net !~ net_prefer_netstream) then { bgp_path.prepend(myas); bgp_path.prepend(myas); bgp_path.prepend(myas); print "Policy: changed bgppath ", net, " ", bgp_path, " for init7"; } accept; }
reject; }
If I change the filter to
filter to_netstream { if(is_inside_ungleich()) then { # if(net !~ net_prefer_netstream) then { # bgp_path.prepend(myas); # bgp_path.prepend(myas); # bgp_path.prepend(myas); # print "Policy: changed bgppath ", net, " ", bgp_path, " for init7"; # } accept; }
reject; }
this problem does not occur.
Is this a bug in bird or am I using it "incorrectly"?
Best,
Nico
Relevant context:
version: --------------------------------------------------------------------------------
[17:14:30] router1.place5:/var/log# dpkg -l | grep bird ii bird 1.6.3-2 amd64 Internet Routing Daemon [17:18:49] router1.place5:/var/log#
config: -------------------------------------------------------------------------------- define net_ungleich = [ 2a0a:e5c0::/29+, 2a09:2940::/29+ ];
define net_prefer_netstream = [ 2a09:2940::/29+ ];
define net_rickbakker = [ 2001:678:a10::/48+, 2a0d:1a44::/32+, 2a0d:1a47::/32+, 2a0d:2406::/39+, 2a0d:2406:e00::/39+, 2a07:a904:1000::/40+ ];
function is_ungleich() { if net ~ net_ungleich then return true; return false; }
function is_from_rickbakker() { if net ~ net_rickbakker && bgp_path.first = 204526 then return true; return false; }
# what we have inside dcl function is_inside_ungleich() { if(is_ungleich()) then return true; if(is_from_rickbakker()) then return true;
return false; }
protocol bgp netstream { local as 209898; neighbor 2a01:330:1000:1002::1 as 15517; password "xxx";
import filter from_netstream; export filter to_netstream; }
--------------------------------------------------------------------------------
-- Your Swiss, Open Source and IPv6 Virtual Machine. Now on www.datacenterlight.ch.