On Wed, Nov 14, 2018 at 10:13:31AM +0100, Clemens Schrimpe wrote: > > Not sure how to achieve the same in BIRD. > > While you are at it … (sorry for riding along on your thread) > > It raises the general question of „how does one extract certain data from > different protocols“, i.e. into a variable so it can be „mathed“ with and > then re-used in an im- or export filter to be translated into another > protocol’s metric. > > So in your case: Can the krt_metric attribute of routes „learned“ from the > kernel be read and stored in a variable?
Well, krt_metric is already accessible for whole existence of the route. You could store it to a filter-local variable, or you could use it directly in computation. You could even do things like: if krt_metric < 1000 then ospf_metric1 = krt_metric * 10; else ospf_metric2 = krt_metric - 1000; > In my case: How can I read the contents of each part of the > tuplets/triplets from BGP communities? So far I only know of ways to test > for the existence of particular values. (i.e. get the third part of a BGP > large community with known first & second parts into a variable) The issue here is more that we does not have feature to iterate through sets/lists, e.g. AS_PATH and COMMUNITY attribute. -- 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."
