Date: Fri, 1 Dec 2006 08:59:33 GMT From: Jeroen van Nieuwenhuizen<ports-submit@jeroen.se> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/106114: openospfd-devel problem with point-to-point links Message-ID: <200612010859.kB18xXr4012009@www.freebsd.org> Resent-Message-ID: <200612010900.kB190Mc5019598@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 106114 >Category: ports >Synopsis: openospfd-devel problem with point-to-point links >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Dec 01 09:00:17 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Jeroen van Nieuwenhuizen >Release: 5.5-RELEASE >Organization: >Environment: FreeBSD hermod.jeroen.se 5.5-RELEASE-p8 FreeBSD 5.5-RELEASE-p8 #17: Mon Oct 2 17:32:23 CEST 2006 root@hermod.jeroen.se:/usr/obj/usr/src/sys/HERMOD i386 >Description: The openospfd-devel port has the development build of openospfd from 20060516. This version contains a bug for correctly calculating the next hop addresses when more than one point-to-point link is used. >How-To-Repeat: Setup a network of 3 or more routers which use openospfd which connect to each other over point-to-point links. >Fix: Upgrade openospfd-devel port to use the 4.0 version of openospfd. Note that in the attached patch the kernel route labeling is removed from kroute.c to make it work on FreeBSD. Patch attached with submission follows: diff -ruN openospfd-devel-orig/Makefile openospfd-devel/Makefile --- openospfd-devel-orig/Makefile Fri Jun 30 04:53:12 2006 +++ openospfd-devel/Makefile Mon Nov 20 14:58:47 2006 @@ -8,13 +8,13 @@ PORTNAME= openospfd-devel PORTVERSION= ${SNAPSHOT} CATEGORIES= net -MASTER_SITES= ftp://ftp.openbsd.org/pub/OpenBSD/OpenOSPFD/:openbsd \ +MASTER_SITES= ftp://ftp.dkuug.dk/pub/OpenBSD/OpenBGPD/:openbsd \ ${MASTER_SITE_LOCAL:S/$/:freebsd/g} MASTER_SITE_SUBDIR= flz/openospfd/:freebsd -DISTFILES= ${PORTNAME}-${PORTVERSION}.tgz:freebsd \ +DISTFILES= openospfd-4.0.tgz:openbsd \ if_media.h:freebsd hash.h:freebsd DIST_SUBDIR= openospfd -EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tgz +EXTRACT_ONLY= openospfd-4.0.tgz MAINTAINER= flz@FreeBSD.org COMMENT= Free implementation of the Open Shortest Path First Protocol @@ -23,7 +23,7 @@ CONFLICTS= zebra-0* quagga-0* -SNAPSHOT= 20060516 +SNAPSHOT= 20061101 WRKSRC= ${WRKDIR} MANCOMPRESSED= yes USE_RC_SUBR= openospfd.sh @@ -57,6 +57,7 @@ @${REINPLACE_CMD} -e "s|<net/if_media.h>|\"if_media.h\"|" ${WRKSRC}/ospfctl/ospfctl.c @${REINPLACE_CMD} -e "s|rtm_fmask|rtm_use|" ${WRKSRC}/ospfd/kroute.c @${REINPLACE_CMD} -e "/rc.conf.local/d" ${WRKSRC}/ospfd/ospfd.conf.5 + @${REINPLACE_CMD} -e "s|SIMPLEQ|STAILQ|" ${WRKSRC}/ospfd/*.[chy] @${REINPLACE_CMD} -e "s|/etc|${PREFIX}/etc|g" \ ${WRKSRC}/ospfd/ospfd.h \ ${WRKSRC}/ospfd/ospfd.8 \ diff -ruN openospfd-devel-orig/distinfo openospfd-devel/distinfo --- openospfd-devel-orig/distinfo Tue May 16 18:29:13 2006 +++ openospfd-devel/distinfo Mon Nov 20 14:37:58 2006 @@ -1,6 +1,6 @@ -MD5 (openospfd/openospfd-devel-20060516.tgz) = 93fdd6650a14d316e374e8a17aeedcdc -SHA256 (openospfd/openospfd-devel-20060516.tgz) = 0498bcecc2e592a695bdf7696e473796d9d320f6c66211802fdb0a45a04b7662 -SIZE (openospfd/openospfd-devel-20060516.tgz) = 80381 +MD5 (openospfd/openospfd-4.0.tgz) = 6dcf9170627120f009ff9d5917b49376 +SHA256 (openospfd/openospfd-4.0.tgz) = c9e87e849664a6674a4a650a453754b53d6c0bd1110ee5e82a7b6cc7fbad6ee7 +SIZE (openospfd/openospfd-4.0.tgz) = 84459 MD5 (openospfd/if_media.h) = 4ff9297f5c133425dafe3ca565c0f811 SHA256 (openospfd/if_media.h) = 58225d0ed363c2beb23426f0f8254089d4541c3334776f3750ba434d4491a1d1 SIZE (openospfd/if_media.h) = 23762 diff -ruN openospfd-devel-orig/files/patch-ospfd_kroute.c openospfd-devel/files/patch-ospfd_kroute.c --- openospfd-devel-orig/files/patch-ospfd_kroute.c Thu Jan 1 01:00:00 1970 +++ openospfd-devel/files/patch-ospfd_kroute.c Mon Nov 20 14:43:51 2006 @@ -0,0 +1,36 @@ +--- ospfd/kroute.c.orig Mon Nov 20 14:41:22 2006 ++++ ospfd/kroute.c Mon Nov 20 14:42:17 2006 +@@ -875,10 +875,6 @@ + send_rtmsg(kr_state.fd, RTM_DELETE, &kr->r); + free(kr); + } else { +- if ((label = (struct sockaddr_rtlabel *) +- rti_info[RTAX_LABEL]) != NULL) +- kr->r.rtlabel = +- rtlabel_name2id(label->sr_label); + kroute_insert(kr); + } + +@@ -1075,10 +1071,6 @@ + + rtlabel_unref(kr->r.rtlabel); + kr->r.rtlabel = 0; +- if ((label = (struct sockaddr_rtlabel *) +- rti_info[RTAX_LABEL]) != NULL) +- kr->r.rtlabel = +- rtlabel_name2id(label->sr_label); + + if (kif_validate(kr->r.ifindex)) + kr->r.flags &= ~F_DOWN; +@@ -1098,11 +1090,6 @@ + kr->r.nexthop.s_addr = nexthop.s_addr; + kr->r.flags = flags; + kr->r.ifindex = ifindex; +- +- if ((label = (struct sockaddr_rtlabel *) +- rti_info[RTAX_LABEL]) != NULL) +- kr->r.rtlabel = +- rtlabel_name2id(label->sr_label); + + kroute_insert(kr); + } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612010859.kB18xXr4012009>