Hi Ondrej, On Fri, May 19, 2023 at 01:43:48AM +0200, Ondrej Zajicek wrote: > On Mon, May 15, 2023 at 12:59:11PM +0200, Tim Weippert via Bird-users wrote: > > Hi List, > > > > maybe i'm doing something wrong, but if i use some quick and dirty > > filter on the CLI all is working as expecting: > > > > show route where bgp_large_community ~ [(65000, 0, 1001)] > > show route where (65000, 0, 1001) ~ bgp_large_community
[ ... ] > Hi > > Set expressions like [...] in BIRD are static and created in parse-time. > Therefore [(65000, 0, 1001)] is valid, while [(65000, 0, TestID)] is > valid only if TestID is constant (like with 'define TestID = 100;'). > > In your case of filter_large() the TestID is a local variable, so > [(65000, 0, TestID)] should fail during configuration parsing as > non-constant expression. It seems it is not checked, so it is probably > just evaluated TestID to zero or some random value and used that. Understood, so it depends if it is a static text like in my CLI tests or an "variable which are changed in runtime". But the usage of '(65000, 0, TestID) ~ bgp_large_community' will work with both expressions. So for my use case it would be good to stick with one variant which works in both situations. thanks & regards, tim -- Tim Weippert http://weiti.org - [email protected] GPG Fingerprint - E704 7303 6FF0 8393 ADB1 398E 67F2 94AE 5995 7DD8
