How can I set krt_realm in the kernel protocol by gw (nexthop) value?
Eric Wheeler
bird at lists.ewheeler.net
Fri Jul 30 23:11:14 CEST 2021
On Fri, 30 Jul 2021, Alexander Zubkov wrote:
> You have to update krt_realm attribute in your filter, like that:
>
> function gw_realms() {
> if gw = 1.1.1.1 then return 1;
> if gw = 2.2.2.2 then return 2;
> if gw = 3.3.3.3 then return 3;
> return 0;
> }
>
> filter peer_realms {
> krt_realm = gw_realms();
> accept;
> }
>
> protocol kernel kernel_ipv4 {
> ipv4 {
> export filter peer_realms;
> };
> }
Thank you, that worked great. Do you know who might add your example to
the documentation?
--
Eric Wheeler
>
> On Fri, Jul 30, 2021 at 6:05 AM Eric Wheeler <bird at lists.ewheeler.net> wrote:
> >
> > Hello all,
> >
> > I would like to put routes in realms for traffic accounting based on the
> > peer IP provided by a BGP route server on an exchange. I was thinking I
> > could do something like this, but bird gives errors like "syntax error,
> > unexpected KRT_REALM":
> >
> > filter gw_realms {
> > if gw = 1.1.1.1 then return 1;
> > if gw = 2.2.2.2 then return 2;
> > if gw = 3.3.3.3 then return 3;
> > return 0;
> > }
> >
> > protocol kernel kernel_ipv4 {
> > ipv4 {
> > krt_realm filter peer_realms;
> > };
> > }
> >
> >
> > What is a proper way to dynamically set the krt_realm attribute per gw?
> >
> > Thank you for your help!
> >
> > --
> > Eric Wheeler
>
More information about the Bird-users
mailing list