[Babel-users] Some preliminary babeld/pybabel interop testing
Juliusz Chroboczek
jch at pps.univ-paris-diderot.fr
Sat Mar 28 13:40:52 UTC 2015
We have found two issues that harmed interoperability between babeld and
pybabel, one a bug in pybabel and one in babeld.
(1) the RFC has the following to say about TLVs (Section 4.3)
If the body is longer than the expected length of
a given type of TLV, any extra data MUST be silently
ignored.
Markus missed that bit, and he was dropping over-long TLVs, which
caused him to drop any updates that contained radio interference
information (draft-chroboczek-babel-diversity-routing). Since Denis
Ovsienko previously made the same mistake, this indicates that the
RFC doesn't stress this point enough. (Mea culpa, Joel Halpern had
warned me about that.)
(2) the RFC says the following about flag 0x40 in Update TLVs:
if the bit with value 40 hexadecimal is set, then the low-order 8
octets of the advertised prefix establish a new default router-id
for this TLV and subsequent Update TLVs in the same packet.
The reference implementation was mistakenly setting flag 0x40 in
a case where the low-order 8 octets don't exist, and pybabel was
dropping the TLV (and complaining loudly). This is a bug in babeld,
although I think that pybabel was not being sufficiently permissive.
Pybabel is looking rather good right now. It would be great if somebody
sat down and implemented link quality estimation for it (Appendix A.2.2 or
something smarter), since Matthieu and I don't want to be seen touching
the code.
-- Juliusz
More information about the Babel-users
mailing list