On Wed, Jun 15, 2011 at 04:09:13PM +0300, Mihai Claudiu Capatina wrote:
> 
> Hi,
> 
> We are trying to filter unwanted communities that our peering partners have 
> forgot to remove in order not to send them to other peering parties.
> In order to do this we add the communities we want to a clist parameter, 
> empty bgp_community, then add the clist back to bgp_community.
> 
...
> The problem appears in the log fie :
> 
> Jun 15 15:59:59 jls bird: filters, line 21: Can't add/delete to non-clist
> Jun 15 15:59:59 jls last message repeated 4 times
> Jun 15 15:59:59 jls bird: ...
> 
> We are running BIRD 1.3.1 on FreeBSD 6.2.
> 
> Can you please point me in the right direction ?

Which line in your config file is line 21?
I am not sure what is a default value of local variable myc,
perhaps you could init it using 'myc = - empty -;'
(undocumented syntax for empty clist).

One obvious problem is here:

allow_communities = check_allow_communities();

Because allow_communities has a type pair set, but
check_allow_communities returns clist)

I thing that problem is that bgp_community.add cannot add clist,
just a pair of pair set (but it is true that extending add operation
to handle clist is natural).

But even if bgp_community.add worked with clist, it probably wouldn't
do what you wanted.

The simplest way to remove unwanted communities is just:

bgp_community.remove( [set of unwanted communities] )'

-- 
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santi...@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."

Attachment: signature.asc
Description: Digital signature

Reply via email to