Update: the syntax error actually came from a different line, my mistake.
I was able to syntactically correct create a config using define net_prefer_to_init7 = false; and then later if net ~ net_prefer_to_init7 then { bgp_local_pref = pref_high; } Nico Schottelius <nico.schottel...@ungleich.ch> writes: > Hey Ondrej, > > I just tried this with IPv6 as follows and get a "funny" error message: > > bird> conf > Reading configuration from /etc/bird/bird6.conf > /etc/bird/bird6.conf:48:32 net_unused: set-incompatible type > bird> > > config: > > define net_unused = ::/128; > ... > define net_prefer_to_init7 = [ net_unused ]; > > When I change this to directly including the network: > > bird> conf > Reading configuration from /etc/bird/bird6.conf > /etc/bird/bird6.conf:53:13 syntax error > bird> > > config: > > define net_prefer_to_init7 = [ ::/128 ]; > > As far as I can see, this is a valid route and I wanted to use this for > empty IPv6 sets. > > Am I doing something completely wrong here? > > > > Ondrej Zajicek <santi...@crfreenet.org> writes: > >> On Wed, Sep 18, 2019 at 02:46:15PM +0900, Nico Schottelius wrote: >>> >>> 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. >> >> Hello >> >> The reason why we do not support empty sets is because we have more types >> of sets (prefix sets, integer sets, ...) and they have even different >> implementation. With empty set literal it would be hard to decide which >> type of set it should be. >> >> Trivial workaround is to add some prefix that is invalid anyway, like >> 0.0.0.0/32. -- Your Swiss, Open Source and IPv6 Virtual Machine. Now on www.datacenterlight.ch.