Subject: CVS commit: src/sbin/routed
To: None <source-changes@NetBSD.org>
From: Christos Zoulas <christos@netbsd.org>
List: source-changes
Date: 03/27/2004 20:50:44
Module Name: src
Committed By: christos
Date: Sat Mar 27 20:50:44 UTC 2004
Modified Files:
src/sbin/routed: main.c rdisc.c routed.8
Log Message:
From Vernon Schryver:
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.
To generate a diff of this commit:
cvs rdiff -r1.35 -r1.36 src/sbin/routed/main.c
cvs rdiff -r1.14 -r1.15 src/sbin/routed/rdisc.c
cvs rdiff -r1.42 -r1.43 src/sbin/routed/routed.8
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.