Unknown instruction 8574 in same (~) error when nesting if's

Nico Schottelius nico.schottelius at ungleich.ch
Sat Apr 20 18:50:36 CEST 2019


Hey Maria,

thanks for the quick reply. I have seen that 1.6.5 is included in
Debian testing and will pull it from there.

Are there any plans to work with Debian or other distributions to
include 2.0.4 in the packaging system?

Best,

Nico

Maria Matejka <jan.matejka at nic.cz> writes:

> 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.
>>


--
Your Swiss, Open Source and IPv6 Virtual Machine. Now on www.datacenterlight.ch.


More information about the Bird-users mailing list