On Mon, Sep 06, 2010 at 07:00:58PM +0200, Ondrej Zajicek wrote: > On Mon, Sep 06, 2010 at 07:45:15PM +0300, Alexander Shikoff wrote: > > Hello, > > > > is it possible in filter to delete all communities except ones which > > are stored in pre-defined list? > > It is possible to do that, but you have to manually invert the list > of communities. For example instead of a list of allowed communities: > > [(123,100), (456,200), (789,300)] > > you would use a list of rejected communities: > > [(0,0)..(123,99), (123,101)..(456,199), (456,201)..(789,299), > (789,301)..(65535,65535)] > > in bgp_community.delete().
Ondrej, thank you for reply. I tried the following code: function check_community (clist c) clist wrong; { wrong = [ (0,0)..(0,25371), (0,25373)..(0,31209), (0,31211)..(31209,65535), (31210,0)..(31210,25371), (31210,25373)..(31210,65535), (31211,0)..(65535,65281), (65535,65283)..(65535,65535) ]; c.delete(wrong); } But bird reports error: bird> configure Reading configuration from /usr/local/etc/bird.conf /usr/local/etc/bird.conf, line 37: syntax error Line 37 is: c.delete(wrong); I tried both c.delete(wrong) and delete(c,wrong) - the result is the same: syntax error. -- MINO-RIPE