Skip site navigation (1)Skip section navigation (2)
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>