Mailing List Archive

[Bug 337] New: RIP is broken for FreeBSD since version 0.99.3
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug
report.

http://bugzilla.quagga.net/show_bug.cgi?id=337

Summary: RIP is broken for FreeBSD since version 0.99.3
Product: Quagga
Version: CVS
Platform: PC
URL: http://www.freebsd.org/cgi/query-pr.cgi?pr=108430
OS/Version: FreeBSD
Status: UNCONFIRMED
Severity: major
Priority: High
Component: zebra
AssignedTo: maintainers@quagga.net
ReportedBy: eugen@grosbein.pp.ru


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@lists.quagga.net
http://lists.quagga.net/mailman/listinfo/quagga-bugs