> btw, there is one question that i noticed. If an Update is ignored for > semantic reasons (e.g. update with valid metric, but missing next hop or > router id), should it update last prefix with P-flag?
Such a packet would be incorrect. What to do in presence of an incorrect packet is left to the implementation. Babeld will log an error and stop parsing the packet at this point and discard all remaining TLVs. Other solutions would include dropping the whole packet, dropping the whole adjacency, or even adding the neighbour to a blacklist of buggy neighbours. > RFC says that for sub-TLV errors but not for other errors: A packet with an unknown sub-TLV is correct, it's just that the implementation doesn't know how to interpret this particular sub-TLV. The behaviour is well-defined in this case (drop the sub-TLV if the mandatory bit is unset, drop the TLV otherwise). This is unlike the case described above, which indicates a buggy neighbour. -- Juliusz