On Wed, Jun 27, 2018 at 04:36:44PM +0200, Carlo Rengo wrote:
Using "[ 192.168.60.0/24+ ]” works, however from the documentation I read the following regarding the `include` operator:
Special operators include (~, !~) for "is (not) element of a set" operation - it can be used on […] on prefix and prefix (returning true if first prefix is more specific than second one)
Yes, that is true for "prefix ~ prefix" expression, not for "prefix ~ set" expression. When the second argument is set, then it has basic meaning "is element of a set'.
In my case I have "import where net ~ [ 192.168.60.0/24 ] ;”, which should be true because prefix 192.168.60.10/32 is more specific than 192.168.60.0/24.
No, this should be true if the net is a member of set [ 192.168.60.0/24 ], which is true only for 192.168.60.0/24. Such behavior is intentional, so people can specify exact prefixes in prefix sets and match against the sets.
That statement, in fact, is true on Bird 1.6.x. and, without the array ("import where net ~ 192.168.60.0/24 ;”), on Bird 2.0.x.
No, the behavior is the same for v2.0.x and v1.6.x, see: BIRD v2.0.2-26-g1771f70d-x ready. bird> eval 192.168.60.10/32 ~ [ 192.168.60.0/24 ] FALSE bird> eval 192.168.60.10/32 ~ [ 192.168.60.0/24+ ] TRUE BIRD 1.6.3 ready. bird> eval 192.168.60.10/32 ~ [ 192.168.60.0/24 ] FALSE bird> eval 192.168.60.10/32 ~ [ 192.168.60.0/24+ ] TRUE -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."