Check bgp_path.len without some AS

Ondrej Zajicek santiago at crfreenet.org
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".

Hi

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;
  accept;
}

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 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."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190106/2cd50b8f/attachment.sig>


More information about the Bird-users mailing list