bugzilla-daemon at allevil
Feb 1, 2007, 7:11 AM
Post #1 of 1
Please do not reply directly to this email. All additional
[Bug 337] New: RIP is broken for FreeBSD since version 0.99.3
comments should be made in the comments box of this bug
Summary: RIP is broken for FreeBSD since version 0.99.3
AssignedTo: maintainers [at] quagga
ReportedBy: eugen [at] grosbein
Since version 0.99.3 quagga takes metric value from RTM_NEWADDR
message received from routing socket and this value overrides
interface metric learned by quagga at startup time.
FreeBSD always returns zero value here, even if one have used
'ifconfig if0 metric N', and quagga does not sanitize this
and overwrites right interface metric it known to this moment.
Then quagga passes zero interface metric to ripd
that uses it as hop count increment value (if one does not use
'offset-list in' for interface) thus breaking RIP.
This problem needs to be fixed by checking if RTM_NEWADDR has returned
nonzero value. FreeBSD community has accepted following patch
and included it to its Port Collection. Hope this will hit Quagga CVS.
--- zebra/kernel_socket.c.orig Fri Jan 26 10:55:03 2007
+++ zebra/kernel_socket.c Fri Jan 26 10:55:35 2007
@@ -585,6 +585,7 @@
if (ifnlen && strncmp (ifp->name, ifname, INTERFACE_NAMSIZ))
isalias = 1;
+ if (ifam->ifam_metric)
ifp->metric = ifam->ifam_metric;
/* Add connected address. */
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
Quagga-bugs mailing list
Quagga-bugs [at] lists