Community operations got broken after upgrade to 1.3.6 from 1.2.4
Hello! After upgrade my Route Servers from 1.2.4 to 1.3.6 community processing got broken. Simple function function check_community () pair set wrong; { # # Delete disallowed communities # wrong = [ # 0:XXXXX - Do not announce to peer (0,0)..(0,99), (0,101)..(0,65535) ]; bgp_community.delete(wrong); } deletes ALL communities (0,*) including (0,100). -- MINO-RIPE
On Fri, Mar 02, 2012 at 05:46:37PM +0200, Alexander Shikoff wrote:
Hello!
After upgrade my Route Servers from 1.2.4 to 1.3.6 community processing got broken. Simple function
function check_community () pair set wrong; { # # Delete disallowed communities # wrong = [ # 0:XXXXX - Do not announce to peer (0,0)..(0,99), (0,101)..(0,65535) ]; bgp_community.delete(wrong); }
deletes ALL communities (0,*) including (0,100).
The workaround is to use 'filter' instead 'delete' with non-inverted pair set: function check_community () pair set c; { c = [ (0,100) ]; bgp_community.filter(c); } But .delete seems to be broken... -- MINO-RIPE
On Fri, Mar 02, 2012 at 05:46:37PM +0200, Alexander Shikoff wrote:
Hello!
After upgrade my Route Servers from 1.2.4 to 1.3.6 community processing got broken. Simple function
function check_community () pair set wrong; { # # Delete disallowed communities # wrong = [ # 0:XXXXX - Do not announce to peer (0,0)..(0,99), (0,101)..(0,65535) ]; bgp_community.delete(wrong); }
deletes ALL communities (0,*) including (0,100).
Thanks for the bugreport. The bug was not in delete, but in pair set parsing/construction, so (0,101)..(0,65535) was parsed as (0,0)..(101,65535). You can use attached patch or you can workaround it by using (0,101..65535) expression. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."
participants (2)
-
Alexander Shikoff -
Ondrej Zajicek