ports/137510: patch for quagga
dikshie
dikshie at sfc.wide.ad.jp
Fri Aug 7 09:10:06 UTC 2009
>Number: 137510
>Category: ports
>Synopsis: patch for quagga
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Aug 07 09:10:04 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: dikshie
>Release: FreeBSD-7.2
>Organization:
Keio University
>Environment:
FreeBSD ipv6.ppk.itb.ac.id 7.2-STABLE FreeBSD 7.2-STABLE #56: Mon Jul 13 17:35:47 WIT 2009 dikshie at ipv6.ppk.itb.ac.id:/usr/obj/usr/src/sys/PPK i386
>Description:
ospf6d bug on quagga-0.99.14.
read bug #541 on quagga's bugzilla for detail.
>How-To-Repeat:
>Fix:
patch is made by tomh at tomh dot org
Patch attached with submission follows:
Index: ospf6d/ospf6_lsa.c
===================================================================
--- ospf6d/ospf6_lsa.c (revision 21)
+++ ospf6d/ospf6_lsa.c (working copy)
@@ -207,9 +207,11 @@
zlog_warn ("LSA: quagga_gettime failed, may fail LSA AGEs: %s",
safe_strerror (errno));
- if (lsa->header->age >= htons (MAXAGE))
+ if (ntohs (lsa->header->age) >= MAXAGE)
{
- /* LSA may have been prematurely aged */
+ /* ospf6_lsa_premature_aging () sets age to MAXAGE; when using
+ relative time, we cannot compare against lsa birth time, so
+ we catch this special case here. */
lsa->header->age = htons (MAXAGE);
return MAXAGE;
}
@@ -245,11 +247,6 @@
THREAD_OFF (lsa->expire);
THREAD_OFF (lsa->refresh);
- /*
- * The below technique to age out LSA does not work when using relative time
- *
- memset (&lsa->birth, 0, sizeof (struct timeval));
- */
lsa->header->age = htons (MAXAGE);
thread_execute (master, ospf6_lsa_expire, lsa, 0);
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list