Check bgp_path.len without some AS

Ondrej Zajicek santiago at
Sun Jan 6 01:29:57 CET 2019

On Thu, Jan 03, 2019 at 11:10:00PM +0000, Xavier Trilla wrote:
> Hi,
> For some route selection configurations I need to check the bgp_path.len without some AS numbers.
> I tried something like:
> bgp_path.delete(AS_1);
> bgp_path.delete(AS_2);
> if bgp_path.len < N then ...
> But doing this I modify permanently the AS path.
> I've tried using a temp variable, but looks like bird doesn't allow to create bgppath "variables".


Although approach suggested by Alexander Zubkov is applicable,
i would note that BIRD allows bgppath variables, see:

filter testfilter
bgppath pp;
  pp = bgp_path;
  pp = prepend(pp, 65500);
  pp = prepend(pp, 65500);
  print pp, " ", pp.len;

The only think that is strange is that operators like delete or prepend
cannot be used with 'dot-syntax' (i.e. pp.prepend(X)), but must be used
with 'function-syntax' (i.e. pp = prepend(pp, X)).

Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3,
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <>

More information about the Bird-users mailing list