BIRD 2.x and arrays
Ondrej Zajicek
santiago at crfreenet.org
Wed Jun 27 17:23:37 CEST 2018
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 at 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."
More information about the Bird-users
mailing list