<div dir="ltr">This worked, thank you!<div><br></div><div>It may be better to throw a syntax error and refuse to load (or reload) the configuration than to just accept it but to log errors at runtime...after I made this change, my filter started rejecting all routes and it took me a lot of troubleshooting to understand why.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 17, 2021 at 7:53 AM Ondrej Zajicek <<a href="mailto:santiago@crfreenet.org">santiago@crfreenet.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sun, Oct 17, 2021 at 04:58:06AM -0400, Ross Tajvar wrote:<br>
> Even using the correct syntax as described by Ondrej I am not able to get<br>
> this to work. When I try, I get the following error in my logs:<br>
> <br>
> > filters, line 117: ~ applied on unknown type pair<br>
> <br>
> <br>
> I am trying to build filters that check multiple things, add a community<br>
> for each thing (if it is true), then reject the route if any of the<br>
> communities exist. It doesn't seem like it's possible to check if any<br>
> member of a set is in another set - only if a particular element is in<br>
> another set.<br>
> <br>
> I.e. I can do<br>
> (1,2,3) ~ bgp_large_community<br>
> but not<br>
> [(1,2,*)] ~ bgp_large_community.<br>
<br>
It should be  bgp_large_community ~ [(1,2,*)].<br>
<br>
In the first case the meaning is whether (1,2,3) is a member of<br>
bgp_large_community, while in the second is whether any community from<br>
bgp_large_community is a member of set [(1,2,*)].<br>
<br>
<br>
> On Thu, Oct 29, 2020 at 2:49 PM Ondrej Zajicek <<a href="mailto:santiago@crfreenet.org" target="_blank">santiago@crfreenet.org</a>><br>
> wrote:<br>
> <br>
> > On Thu, Oct 29, 2020 at 10:00:58AM -0400, Brooks Swinnerton wrote:<br>
> > > Hello,<br>
> > ><br>
> > > I was wondering if it's possible to create a conditional that matches on<br>
> > a<br>
> > > wildcard for a part of a BGP large community. For example:<br>
> > ><br>
> > > if ([*, 600, 6939]) ~ bgp_large_community then<br>
> > >   reject;<br>
> ><br>
> > Hello<br>
> ><br>
> > Note that it would be [(*, 600, 6939)], not ([*, 600, 6939]).<br>
> ><br>
> > But for large communities, BIRD allows wildcard only on the more specific<br>
> > part.<br>
> > You can have [(64496, 600, *)], [(64496, *, *)] or even [(*, *, *)], but<br>
> > not<br>
> > [(*, 600, 6939)].<br>
> ><br>
> > Also, wildcard (*, 600, 6939) does not really make sense, as meaning of<br>
> > the second and third part is determined by the first (global admin), and<br>
> > may be different for different first parts.<br>
> ><br>
> > --<br>
> > Elen sila lumenn' omentielvo<br>
> ><br>
> > Ondrej 'Santiago' Zajicek (email: <a href="mailto:santiago@crfreenet.org" target="_blank">santiago@crfreenet.org</a>)<br>
> > OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, <a href="http://wwwkeys.pgp.net" rel="noreferrer" target="_blank">wwwkeys.pgp.net</a>)<br>
> > "To err is human -- to blame it on a computer is even more so."<br>
> ><br>
<br>
-- <br>
Elen sila lumenn' omentielvo<br>
<br>
Ondrej 'Santiago' Zajicek (email: <a href="mailto:santiago@crfreenet.org" target="_blank">santiago@crfreenet.org</a>)<br>
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, <a href="http://wwwkeys.pgp.net" rel="noreferrer" target="_blank">wwwkeys.pgp.net</a>)<br>
"To err is human -- to blame it on a computer is even more so."<br>
</blockquote></div>