? fix-passive-interfaces.patch
Index: rde.c
===================================================================
RCS file: /cvs/src/usr.sbin/ospf6d/rde.c,v
retrieving revision 1.50
diff -u -p -r1.50 rde.c
--- rde.c	22 Aug 2010 20:55:10 -0000	1.50
+++ rde.c	3 Jan 2011 02:21:40 -0000
@@ -22,6 +22,7 @@
 #include <sys/socket.h>
 #include <sys/queue.h>
 #include <sys/param.h>
+#include <net/if_types.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <err.h>
@@ -1459,7 +1460,9 @@ orig_intra_lsa_rtr(struct area *area, st
 
 	numprefix = 0;
 	LIST_FOREACH(iface, &area->iface_list, entry) {
-		if (iface->state & IF_STA_DOWN)
+		if ((iface->state & IF_STA_DOWN) && 
+		    !((iface->media_type == IFT_CARP) || 
+		    (iface->cflags & F_IFACE_PASSIVE)))
 			continue;
 
 		/* Broadcast links with adjacencies are handled
