On Sat, Apr 30, 2016 at 03:15:52PM +0200, Toke Høiland-Jørgensen wrote:
=== Hello interval range checking ===
The hello interval cannot be set below 1 second: the parser seems to expect an integer. The packet format encodes intervals in centiseconds, so it would make sense to allow any fractional Hello interval down to 0.01 seconds.
I just checked, babeld's parser allows to go as low as 0.001s (which is a bit scary in itself, since it generates about 1 kpps / 1.5 Mbps of control traffic).
Hmm, yes. However, since the internal Bird timers run at a granularity of seconds only there's not much point in having the ability to configure smaller values.
On a related note, there is no overflow check on the hello interval. For instance, setting the hello interval to 800 seconds produces this in tcpdump:
Hello seqno 1 interval 144.64s
Right, yeah, the overflow check is done on the specified values not their centisecond equivalents. Oops.
IMHO the reasonable way would be to keep such values (intervals) internally in Babel native time units (centiseconds) and only convert to BIRD units when appropriate (when mixed with bird_clock_t values). -- 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."