Unsupported empty lists - why?

Nico Schottelius nico.schottelius at ungleich.ch
Wed Sep 18 07:46:15 CEST 2019


Hello,

being a bird 1.6 user (Debian), I find myself often
in the situation that I'd like to define a variable in either bird.conf
or bird6.conf and have a general.conf that defines the filters used in
both protocols.

However if I have a variable, for instance net_prefer_provider_a = [
s.o.m.e/prefix+ ]; in bird6.conf, but not don't prefer IPv4 traffic from
any network of this provider, I'd like to define

net_prefer_provider_a = [];

However this is not supported in bird1.6. Now I tried to get around this
problem by using defined(), however this code also does not work:

  if defined(net_prefer_to_a) then {
      if net ~ net_prefer_to_a then {
        bgp_local_pref  = pref_high;
      }
  }

net_prefer_to_a is defined in IPv6, but not in IPv4.

This gives the error message:

/etc/bird/general.conf:128:40 net_prefer_to_a: variable expected.

How do you handle default or empty values for sets of prefixes?

Best,

Nico


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


More information about the Bird-users mailing list