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@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