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: [email protected])
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."

Attachment: signature.asc
Description: PGP signature

Reply via email to