On Fri, Nov 08, 2013 at 01:37:49PM +0100, Milan Kocian wrote:
hi,
I tried set up private 4b AS number (4200000000-4294967294). And I've discovered that my filters using int datatype doesn't work with these numbers. The reason is 'int' size (from -2000000000 to +2000000000).
Hello It kind of works. Although arithmetic operations and print handles such numbers as signed, they are read as unsigned and could be used and compared without much problems. Numbers higher than 2147483647 are just mapped (overflow) to negative numbers. Therefore expressions like these works: i = 4200001234; if bgp_path.last = i then ... if bgp_path.last >= 4200000000 && bgp_path.last <= 4294967294 then ... Although users have to be a bit careful (e.g. 4000000000 < 1 returns true). -- 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."