7ed7713848
Wolfgang Solfrank has explained the problem with router discovery in `routed` in a way I can understand. Let's assume that the configured preference of the interface is 5. This gets converted to 0x80000005 through the use of the UNSIGN_PREF macro. Later on, this value gets put into the PREF macro, which compares it against the interface metric(s) (let's assume those values to be 0 for now). Of course the 0x80000005, cast to int, is much less than 0, so the clamping rule is triggered, which gives us a value of 1. This is then converted via SIGN_PREF into 0x80000001 and put into the message. Certainly, this isn't what was intended. |
||
---|---|---|
.. | ||
rtquery | ||
Makefile | ||
defs.h | ||
if.c | ||
input.c | ||
main.c | ||
output.c | ||
parms.c | ||
pathnames.h | ||
radix.c | ||
radix.h | ||
rdisc.c | ||
routed.8 | ||
table.c | ||
trace.c |