Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 May 2008 00:33:20 GMT
From:      Vincenzo Iozzo <snagg@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 141402 for review
Message-ID:  <200805100033.m4A0XKdR055318@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=141402

Change 141402 by snagg@snagg_macosx on 2008/05/10 00:32:27

	IFC

Affected files ...

.. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/pmap.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/arm/arm/pmap.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/NOTES#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/options#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/contrib/pf/net/pf.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/contrib/pf/net/pf_ioctl.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-disk.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-lowlevel.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ata/atapi-cd.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ata/atapi-fd.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ata/atapi-tape.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/uipaq.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/usbdevs#4 integrate
.. //depot/projects/soc2008/snagg-audit/sys/i386/i386/pmap.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/ia64/ia64/pmap.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/init_sysent.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/kern_lockf.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/subr_param.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/sys_socket.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/syscalls.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/syscalls.master#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/systrace_args.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_socket.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_export.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/mips/mips/pmap.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/bpf.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_atmsubr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_fwsubr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_gif.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_gif.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_gre.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_gre.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_iso88025subr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_loop.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_stf.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_var.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/radix_mpath.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/radix_mpath.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/route.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/route.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/rtsock.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netatalk/at_extern.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netatalk/at_proto.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netgraph/netflow/netflow.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/if_atm.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/if_ether.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/in_gif.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/in_mcast.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/in_pcb.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/in_pcb.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/in_rmx.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/in_var.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_fastfwd.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_fw.h#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_fw2.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_icmp.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_input.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_mroute.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_mroute.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_options.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_output.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_var.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/raw_ip.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_os_bsd.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_input.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_subr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_syncache.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_ifattach.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_rmx.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet6/nd6_rtr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netipx/ipx_proto.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/nfs4client/nfs4_vfsops.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/nfsclient/bootp_subr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfs_vfsops.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/powerpc/pmap_dispatch.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/include/bus.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/sparc64/bus_machdep.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/sparc64/pmap.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/sparc64/upa.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sun4v/sun4v/pmap.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/domain.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/mbuf.h#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/param.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/proc.h#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/socket.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/socketvar.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/syscall.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/syscall.mk#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/sysproto.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/vm/pmap.h#2 integrate

Differences ...

==== //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/pmap.c#3 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.615 2008/04/25 16:00:39 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.616 2008/05/09 16:48:06 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -4469,3 +4469,26 @@
 	addr = (addr + (NBPDR - 1)) & ~(NBPDR - 1);
 	return addr;
 }
+
+/*
+ *	Increase the starting virtual address of the given mapping if a
+ *	different alignment might result in more superpage mappings.
+ */
+void
+pmap_align_superpage(vm_object_t object, vm_ooffset_t offset,
+    vm_offset_t *addr, vm_size_t size)
+{
+	vm_offset_t superpage_offset;
+
+	if (object != NULL && (object->flags & OBJ_COLORED) != 0)
+		offset += ptoa(object->pg_color);
+	superpage_offset = offset & PDRMASK;
+	if (size < superpage_offset ||
+	    size - superpage_offset < NBPDR ||
+	    (*addr & PDRMASK) == superpage_offset)
+		return;
+	if ((*addr & PDRMASK) < superpage_offset)
+		*addr = (*addr & ~PDRMASK) + superpage_offset;
+	else
+		*addr = ((*addr + PDRMASK) & ~PDRMASK) + superpage_offset;
+}

==== //depot/projects/soc2008/snagg-audit/sys/arm/arm/pmap.c#2 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.99 2008/03/06 21:59:47 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.100 2008/05/09 23:31:41 alc Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -4355,6 +4355,16 @@
 	return(addr);
 }
 
+/*
+ *	Increase the starting virtual address of the given mapping if a
+ *	different alignment might result in more superpage mappings.
+ */
+void
+pmap_align_superpage(vm_object_t object, vm_ooffset_t offset,
+    vm_offset_t *addr, vm_size_t size)
+{
+}
+
 
 /*
  * Map a set of physical memory pages into the kernel virtual

==== //depot/projects/soc2008/snagg-audit/sys/conf/NOTES#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1484 2008/05/06 22:41:23 julian Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1485 2008/05/09 23:02:55 julian Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -509,6 +509,8 @@
 options 	INET			#Internet communications protocols
 options 	INET6			#IPv6 communications protocols
 
+options		ROUTETABLES=2		# max 16. 1 is back compatible.
+
 # In order to enable IPSEC you MUST also add device crypto to 
 # your kernel configuration
 options 	IPSEC			#IP security (requires device crypto)

==== //depot/projects/soc2008/snagg-audit/sys/conf/options#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.627 2008/04/29 21:23:21 julian Exp $
+# $FreeBSD: src/sys/conf/options,v 1.628 2008/05/09 23:02:55 julian Exp $
 #
 #        On the handling of kernel options
 #
@@ -364,6 +364,7 @@
 ETHER_8023		opt_ef.h
 ETHER_8022		opt_ef.h
 ETHER_SNAP		opt_ef.h
+ROUTETABLES		opt_route.h
 MROUTING		opt_mrouting.h
 INET			opt_inet.h
 INET6			opt_inet6.h

==== //depot/projects/soc2008/snagg-audit/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.9 2007/11/26 08:18:19 darrenr Exp $	*/
+/*	$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.10 2008/05/09 23:02:55 julian Exp $	*/
 
 /*
  * Copyright (C) 1993-2003 by Darren Reed.
@@ -970,7 +970,7 @@
 		dst->sin_addr = fdp->fd_ip;
 
 	dst->sin_len = sizeof(*dst);
-	rtalloc(ro);
+	in_rtalloc(ro, 0);
 
 	if ((ifp == NULL) && (ro->ro_rt != NULL))
 		ifp = ro->ro_rt->rt_ifp;
@@ -1158,7 +1158,7 @@
 	dst->sin_len = sizeof(*dst);
 	dst->sin_family = AF_INET;
 	dst->sin_addr = fin->fin_src;
-	rtalloc(&iproute);
+	in_rtalloc(&iproute, 0);
 	if (iproute.ro_rt == NULL)
 		return 0;
 	return (fin->fin_ifp == iproute.ro_rt->rt_ifp);

==== //depot/projects/soc2008/snagg-audit/sys/contrib/pf/net/pf.c#2 (text+ko) ====

@@ -40,7 +40,7 @@
 #include "opt_inet6.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.53 2008/04/20 00:21:54 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.54 2008/05/09 23:02:55 julian Exp $");
 #endif
 
 #ifdef __FreeBSD__
@@ -1839,7 +1839,14 @@
 	pf_mtag->tag = rtag;
 
 	if (r != NULL && r->rtableid >= 0)
+#ifdef __FreeBSD__
+	{
+		M_SETFIB(m, r->rtableid);
+#endif
 		pf_mtag->rtableid = r->rtableid;
+#ifdef __FreeBSD__
+	}
+#endif
 #ifdef ALTQ
 	if (r != NULL && r->qid) {
 		pf_mtag->qid = r->qid;
@@ -2004,7 +2011,14 @@
 #endif
 
 	if (r->rtableid >= 0)
+#ifdef __FreeBSD__
+	{
+		M_SETFIB(m0, r->rtableid);
+#endif
 		pf_mtag->rtableid = r->rtableid;
+#ifdef __FreeBSD__
+	}
+#endif
 
 #ifdef ALTQ
 	if (r->qid) {
@@ -2195,7 +2209,14 @@
 	if (tag > 0)
 		pf_mtag->tag = tag;
 	if (rtableid >= 0)
+#ifdef __FreeBSD__
+	{
+		M_SETFIB(m, rtableid);
+#endif
 		pf_mtag->rtableid = rtableid;
+#ifdef __FreeBSD__
+	}
+#endif
 
 	return (0);
 }
@@ -3141,7 +3162,7 @@
 #ifdef RTF_PRCLONING
 		rtalloc_ign(&ro, (RTF_CLONING | RTF_PRCLONING));
 #else /* !RTF_PRCLONING */
-		rtalloc_ign(&ro, RTF_CLONING);
+		in_rtalloc_ign(&ro, RTF_CLONING, 0);
 #endif
 #else /* ! __FreeBSD__ */
 		rtalloc_noclone(&ro, NO_CLONING);
@@ -5946,7 +5967,11 @@
 		goto out;
 
 #ifdef __FreeBSD__
-	rtalloc_ign((struct route *)&ro, RTF_CLONING);
+/* XXX MRT not always INET */ /* stick with table 0 though */
+	if (af == AF_INET)
+		in_rtalloc_ign((struct route *)&ro, RTF_CLONING, 0);
+	else
+		rtalloc_ign((struct route *)&ro, RTF_CLONING);
 #else /* ! __FreeBSD__ */
 	rtalloc_noclone((struct route *)&ro, NO_CLONING);
 #endif
@@ -6025,7 +6050,10 @@
 # ifdef RTF_PRCLONING
 	rtalloc_ign((struct route *)&ro, (RTF_CLONING|RTF_PRCLONING));
 # else /* !RTF_PRCLONING */
-	rtalloc_ign((struct route *)&ro, RTF_CLONING);
+	if (af == AF_INET)
+		in_rtalloc_ign((struct route *)&ro, RTF_CLONING, 0);
+	else
+		rtalloc_ign((struct route *)&ro, RTF_CLONING);
 # endif
 #else /* ! __FreeBSD__ */
 	rtalloc_noclone((struct route *)&ro, NO_CLONING);
@@ -6105,7 +6133,7 @@
 	dst->sin_addr = ip->ip_dst;
 
 	if (r->rt == PF_FASTROUTE) {
-		rtalloc(ro);
+		in_rtalloc(ro, 0);
 		if (ro->ro_rt == 0) {
 			ipstat.ips_noroute++;
 			goto bad;

==== //depot/projects/soc2008/snagg-audit/sys/contrib/pf/net/pf_ioctl.c#2 (text+ko) ====

@@ -40,7 +40,7 @@
 #include "opt_inet6.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.31 2008/03/29 00:24:36 mlaier Exp $");
+__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.32 2008/05/09 23:02:55 julian Exp $");
 #endif
 
 #ifdef __FreeBSD__
@@ -1532,7 +1532,7 @@
 		}
 
 #ifdef __FreeBSD__ /* ROUTEING */
-		if (rule->rtableid > 0)
+		if (rule->rtableid > 0 && rule->rtableid < rt_numfibs)
 #else
 		if (rule->rtableid > 0 && !rtable_exists(rule->rtableid))
 #endif
@@ -1795,7 +1795,7 @@
 
 			if (newrule->rtableid > 0 &&
 #ifdef __FreeBSD__ /* ROUTING */
-			    1)
+			    newrule->rtableid < rt_numfibs)
 #else
 			    !rtable_exists(newrule->rtableid))
 #endif

==== //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-disk.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.210 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.211 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -125,7 +125,7 @@
     adp->disk->d_dump = ad_dump;
     adp->disk->d_name = "ad";
     adp->disk->d_drv1 = dev;
-    adp->disk->d_maxsize = ch->dma.max_iosize;
+    adp->disk->d_maxsize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
     adp->disk->d_sectorsize = DEV_BSIZE;
     adp->disk->d_mediasize = DEV_BSIZE * (off_t)adp->total_secs;
     adp->disk->d_fwsectors = adp->sectors;

==== //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-lowlevel.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.83 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.84 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -213,7 +213,9 @@
     printf("ata_begin_transaction OOPS!!!\n");
 
 begin_finished:
-    ch->dma.unload(request);
+    if (ch->dma.unload) {
+        ch->dma.unload(request);
+    }
     return ATA_OP_FINISHED;
 
 begin_continue:

==== //depot/projects/soc2008/snagg-audit/sys/dev/ata/atapi-cd.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.199 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.200 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -906,8 +906,11 @@
 {
     struct ata_channel *ch = device_get_softc(device_get_parent(dev));
     struct acd_softc *cdp = device_get_ivars(dev);
+    uint32_t max_iosize;
 
-    cdp->iomax = min(ch->dma.max_iosize, 65534);
+    max_iosize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
+
+    cdp->iomax = min(max_iosize, 65534);
 }
 
 static void 

==== //depot/projects/soc2008/snagg-audit/sys/dev/ata/atapi-fd.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.114 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.115 2008/05/08 17:55:44 grehan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -105,7 +105,7 @@
     fdp->disk->d_ioctl = afd_ioctl;
     fdp->disk->d_name = "afd";
     fdp->disk->d_drv1 = dev;
-    fdp->disk->d_maxsize = ch->dma.max_iosize;
+    fdp->disk->d_maxsize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
     fdp->disk->d_unit = device_get_unit(dev);
     disk_create(fdp->disk, DISK_VERSION);
     return 0;

==== //depot/projects/soc2008/snagg-audit/sys/dev/ata/atapi-tape.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.107 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.108 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -142,7 +142,7 @@
 		      UID_ROOT, GID_OPERATOR, 0640, "ast%d",
 		      device_get_unit(dev));
     device->si_drv1 = dev;
-    device->si_iosize_max = ch->dma.max_iosize;
+    device->si_iosize_max = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
     stp->dev1 = device;
     device = make_dev(&ast_cdevsw, 2 * device_get_unit(dev) + 1,
 		      UID_ROOT, GID_OPERATOR, 0640, "nast%d",

==== //depot/projects/soc2008/snagg-audit/sys/dev/usb/uipaq.c#2 (text+ko) ====

@@ -49,7 +49,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/uipaq.c,v 1.10 2008/04/20 17:12:11 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/uipaq.c,v 1.11 2008/05/08 21:22:27 delphij Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -123,6 +123,7 @@
 	{{ USB_VENDOR_HP, USB_PRODUCT_HP_2215 }, 0 },
 	{{ USB_VENDOR_HP, USB_PRODUCT_HP_568J }, 0},
 	{{ USB_VENDOR_HTC, USB_PRODUCT_HTC_WINMOBILE }, 0},
+	{{ USB_VENDOR_HTC, USB_PRODUCT_HTC_PPC6700MODEM }, 0},
 	{{ USB_VENDOR_HTC, USB_PRODUCT_HTC_SMARTPHONE }, 0},
 	{{ USB_VENDOR_COMPAQ, USB_PRODUCT_COMPAQ_IPAQPOCKETPC } , 0},
 	{{ USB_VENDOR_CASIO, USB_PRODUCT_CASIO_BE300 } , 0},

==== //depot/projects/soc2008/snagg-audit/sys/dev/usb/usbdevs#4 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.351 2008/05/03 20:06:15 imp Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.352 2008/05/08 21:22:27 delphij Exp $
 /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
 
 /*-
@@ -1400,6 +1400,7 @@
 
 /* HTC products */
 product HTC WINMOBILE		0x00ce	HTC USB Sync
+product HTC PPC6700MODEM	0x00cf	PPC6700 Modem
 product HTC SMARTPHONE		0x0a51	SmartPhone USB Sync
 
 /* HUAWEI products */

==== //depot/projects/soc2008/snagg-audit/sys/i386/i386/pmap.c#3 (text+ko) ====

@@ -75,7 +75,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.617 2008/04/25 16:00:39 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.618 2008/05/09 16:48:06 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -4598,6 +4598,29 @@
 	return addr;
 }
 
+/*
+ *	Increase the starting virtual address of the given mapping if a
+ *	different alignment might result in more superpage mappings.
+ */
+void
+pmap_align_superpage(vm_object_t object, vm_ooffset_t offset,
+    vm_offset_t *addr, vm_size_t size)
+{
+	vm_offset_t superpage_offset;
+
+	if (object != NULL && (object->flags & OBJ_COLORED) != 0)
+		offset += ptoa(object->pg_color);
+	superpage_offset = offset & PDRMASK;
+	if (size < superpage_offset ||
+	    size - superpage_offset < NBPDR ||
+	    (*addr & PDRMASK) == superpage_offset)
+		return;
+	if ((*addr & PDRMASK) < superpage_offset)
+		*addr = (*addr & ~PDRMASK) + superpage_offset;
+	else
+		*addr = ((*addr + PDRMASK) & ~PDRMASK) + superpage_offset;
+}
+
 
 #if defined(PMAP_DEBUG)
 pmap_pid_dump(int pid)

==== //depot/projects/soc2008/snagg-audit/sys/ia64/ia64/pmap.c#2 (text+ko) ====

@@ -46,7 +46,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.199 2008/04/19 04:56:16 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.200 2008/05/09 23:31:41 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -2266,6 +2266,16 @@
 	return addr;
 }
 
+/*
+ *	Increase the starting virtual address of the given mapping if a
+ *	different alignment might result in more superpage mappings.
+ */
+void
+pmap_align_superpage(vm_object_t object, vm_ooffset_t offset,
+    vm_offset_t *addr, vm_size_t size)
+{
+}
+
 #include "opt_ddb.h"
 
 #ifdef DDB

==== //depot/projects/soc2008/snagg-audit/sys/kern/init_sysent.c#2 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/init_sysent.c,v 1.239 2008/03/31 12:11:00 kib Exp $
+ * $FreeBSD: src/sys/kern/init_sysent.c,v 1.240 2008/05/09 23:02:55 julian Exp $
  * created from FreeBSD: src/sys/kern/syscalls.master,v 1.242 2008/03/31 12:06:55 kib Exp 
  */
 
@@ -203,7 +203,7 @@
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 172 = nosys */
 	{ AS(freebsd6_pread_args), (sy_call_t *)freebsd6_pread, AUE_PREAD, NULL, 0, 0 },	/* 173 = freebsd6_pread */
 	{ AS(freebsd6_pwrite_args), (sy_call_t *)freebsd6_pwrite, AUE_PWRITE, NULL, 0, 0 },	/* 174 = freebsd6_pwrite */
-	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 175 = nosys */
+	{ AS(setfib_args), (sy_call_t *)setfib, AUE_NULL, NULL, 0, 0 },	/* 175 = setfib */
 	{ AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0 },	/* 176 = ntp_adjtime */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 177 = sfork */
 	{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 },			/* 178 = getdescriptor */

==== //depot/projects/soc2008/snagg-audit/sys/kern/kern_lockf.c#2 (text+ko) ====

@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_lockf.c,v 1.63 2008/04/16 14:08:12 dfr Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_lockf.c,v 1.64 2008/05/09 10:34:23 dfr Exp $");
 
 #include "opt_debug_lockf.h"
 
@@ -1370,6 +1370,18 @@
 		}
 
 		/*
+		 * For flock type locks, we must first remove
+		 * any shared locks that we hold before we sleep
+		 * waiting for an exclusive lock.
+		 */
+		if ((lock->lf_flags & F_FLOCK) &&
+		    lock->lf_type == F_WRLCK) {
+			lock->lf_type = F_UNLCK;
+			lf_activate_lock(state, lock);
+			lock->lf_type = F_WRLCK;
+		}
+
+		/*
 		 * We are blocked. Create edges to each blocking lock,
 		 * checking for deadlock using the owner graph. For
 		 * simplicity, we run deadlock detection for all
@@ -1389,17 +1401,6 @@
 		}
 
 		/*
-		 * For flock type locks, we must first remove
-		 * any shared locks that we hold before we sleep
-		 * waiting for an exclusive lock.
-		 */
-		if ((lock->lf_flags & F_FLOCK) &&
-		    lock->lf_type == F_WRLCK) {
-			lock->lf_type = F_UNLCK;
-			lf_activate_lock(state, lock);
-			lock->lf_type = F_WRLCK;
-		}
-		/*
 		 * We have added edges to everything that blocks
 		 * us. Sleep until they all go away.
 		 */

==== //depot/projects/soc2008/snagg-audit/sys/kern/subr_param.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/subr_param.c,v 1.74 2007/10/16 10:40:53 alfred Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/subr_param.c,v 1.75 2008/05/09 07:42:02 pjd Exp $");
 
 #include "opt_param.h"
 #include "opt_maxusers.h"
@@ -86,14 +86,23 @@
 u_long	maxssiz;			/* max stack size */
 u_long	sgrowsiz;			/* amount to grow stack */
 
-SYSCTL_INT(_kern, OID_AUTO, maxswzone, CTLFLAG_RD, &maxswzone, 0, "");
-SYSCTL_INT(_kern, OID_AUTO, maxbcache, CTLFLAG_RD, &maxbcache, 0, "");
-SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RD, &maxtsiz, 0, "");
-SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RD, &dfldsiz, 0, "");
-SYSCTL_ULONG(_kern, OID_AUTO, maxdsiz, CTLFLAG_RD, &maxdsiz, 0, "");
-SYSCTL_ULONG(_kern, OID_AUTO, dflssiz, CTLFLAG_RD, &dflssiz, 0, "");
-SYSCTL_ULONG(_kern, OID_AUTO, maxssiz, CTLFLAG_RD, &maxssiz, 0, "");
-SYSCTL_ULONG(_kern, OID_AUTO, sgrowsiz, CTLFLAG_RD, &sgrowsiz, 0, "");
+SYSCTL_INT(_kern, OID_AUTO, hz, CTLFLAG_RDTUN, &hz, 0, "ticks/second");
+SYSCTL_INT(_kern, OID_AUTO, maxswzone, CTLFLAG_RDTUN, &maxswzone, 0,
+    "max swmeta KVA storage");
+SYSCTL_INT(_kern, OID_AUTO, maxbcache, CTLFLAG_RDTUN, &maxbcache, 0,
+    "max buffer cache KVA storage");
+SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RDTUN, &maxtsiz, 0,
+    "max text size");
+SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RDTUN, &dfldsiz, 0,
+    "initial data size limit");
+SYSCTL_ULONG(_kern, OID_AUTO, maxdsiz, CTLFLAG_RDTUN, &maxdsiz, 0,
+    "max data size");
+SYSCTL_ULONG(_kern, OID_AUTO, dflssiz, CTLFLAG_RDTUN, &dflssiz, 0,
+    "initial stack size limit");
+SYSCTL_ULONG(_kern, OID_AUTO, maxssiz, CTLFLAG_RDTUN, &maxssiz, 0,
+    "max stack size");
+SYSCTL_ULONG(_kern, OID_AUTO, sgrowsiz, CTLFLAG_RDTUN, &sgrowsiz, 0,
+    "amount to grow stack");
 
 /*
  * These have to be allocated somewhere; allocating

==== //depot/projects/soc2008/snagg-audit/sys/kern/sys_socket.c#2 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/sys_socket.c,v 1.75 2008/01/07 20:05:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/sys_socket.c,v 1.76 2008/05/09 23:02:55 julian Exp $");
 
 #include "opt_mac.h"
 
@@ -199,7 +199,7 @@
 		if (IOCGROUP(cmd) == 'i')
 			error = ifioctl(so, cmd, data, td);
 		else if (IOCGROUP(cmd) == 'r')
-			error = rtioctl(cmd, data);
+			error = rtioctl_fib(cmd, data, so->so_fibnum);
 		else
 			error = ((*so->so_proto->pr_usrreqs->pru_control)
 			    (so, cmd, data, 0, td));

==== //depot/projects/soc2008/snagg-audit/sys/kern/syscalls.c#2 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/syscalls.c,v 1.223 2008/03/31 12:11:00 kib Exp $
+ * $FreeBSD: src/sys/kern/syscalls.c,v 1.224 2008/05/09 23:02:55 julian Exp $
  * created from FreeBSD: src/sys/kern/syscalls.master,v 1.242 2008/03/31 12:06:55 kib Exp 
  */
 
@@ -182,7 +182,7 @@
 	"#172",			/* 172 = nosys */
 	"freebsd6_pread",			/* 173 = freebsd6_pread */
 	"freebsd6_pwrite",			/* 174 = freebsd6_pwrite */
-	"#175",			/* 175 = nosys */
+	"setfib",			/* 175 = setfib */
 	"ntp_adjtime",			/* 176 = ntp_adjtime */
 	"#177",			/* 177 = sfork */
 	"#178",			/* 178 = getdescriptor */

==== //depot/projects/soc2008/snagg-audit/sys/kern/syscalls.master#2 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/kern/syscalls.master,v 1.242 2008/03/31 12:06:55 kib Exp $
+ $FreeBSD: src/sys/kern/syscalls.master,v 1.243 2008/05/09 23:02:55 julian Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;
 ; System call name/number master file.
@@ -340,7 +340,7 @@
 174	AUE_PWRITE	STD	{ ssize_t freebsd6_pwrite(int fd, \
 				    const void *buf, \
 				    size_t nbyte, int pad, off_t offset); }
-175	AUE_NULL	UNIMPL	nosys
+175	AUE_NULL	STD	{ int setfib(int fibnum); }
 176	AUE_NTP_ADJTIME	STD	{ int ntp_adjtime(struct timex *tp); }
 177	AUE_NULL	UNIMPL	sfork (BSD/OS 2.x)
 178	AUE_NULL	UNIMPL	getdescriptor (BSD/OS 2.x)

==== //depot/projects/soc2008/snagg-audit/sys/kern/systrace_args.c#2 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call argument to DTrace register array converstion.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/kern/systrace_args.c,v 1.23 2008/03/31 12:11:00 kib Exp $
+ * $FreeBSD: src/sys/kern/systrace_args.c,v 1.24 2008/05/09 23:02:55 julian Exp $
  * This file is part of the DTrace syscall provider.
  */
 
@@ -959,6 +959,13 @@
 		*n_args = 5;
 		break;
 	}
+	/* setfib */
+	case 175: {
+		struct setfib_args *p = params;
+		iarg[0] = p->fibnum; /* int */
+		*n_args = 1;
+		break;
+	}
 	/* ntp_adjtime */
 	case 176: {
 		struct ntp_adjtime_args *p = params;

==== //depot/projects/soc2008/snagg-audit/sys/kern/uipc_socket.c#2 (text+ko) ====

@@ -95,7 +95,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.309 2008/04/14 18:06:04 rrs Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.310 2008/05/09 23:02:55 julian Exp $");
 
 #include "opt_inet.h"
 #include "opt_mac.h"
@@ -122,6 +122,7 @@
 #include <sys/socket.h>
 #include <sys/socketvar.h>
 #include <sys/resourcevar.h>
+#include <net/route.h>
 #include <sys/signalvar.h>
 #include <sys/stat.h>
 #include <sys/sx.h>
@@ -360,6 +361,11 @@
 	TAILQ_INIT(&so->so_comp);
 	so->so_type = type;
 	so->so_cred = crhold(cred);
+	if ((prp->pr_domain->dom_family == PF_INET) ||
+	    (prp->pr_domain->dom_family == PF_ROUTE))
+		so->so_fibnum = td->td_proc->p_fibnum;
+	else
+		so->so_fibnum = 0;
 	so->so_proto = prp;
 #ifdef MAC
 	mac_socket_create(cred, so);
@@ -2027,6 +2033,20 @@
 			SOCK_UNLOCK(so);
 			break;
 
+		case SO_SETFIB:
+			error = sooptcopyin(sopt, &optval, sizeof optval,
+					    sizeof optval);
+			if (optval < 1 || optval > rt_numfibs) {
+				error = EINVAL;
+				goto bad;
+			}
+			if ((so->so_proto->pr_domain->dom_family == PF_INET) ||
+			    (so->so_proto->pr_domain->dom_family == PF_ROUTE)) {
+				so->so_fibnum = optval;
+			} else {
+				so->so_fibnum = 0;
+			}
+			break;
 		case SO_SNDBUF:
 		case SO_RCVBUF:
 		case SO_SNDLOWAT:

==== //depot/projects/soc2008/snagg-audit/sys/kern/vfs_export.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/vfs_export.c,v 1.341 2007/02/15 22:08:35 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/vfs_export.c,v 1.342 2008/05/09 23:02:55 julian Exp $");
 
 #include <sys/param.h>
 #include <sys/dirent.h>
@@ -161,12 +161,25 @@
 		 * Seems silly to initialize every AF when most are not used,
 		 * do so on demand here
 		 */
-		for (dom = domains; dom; dom = dom->dom_next)
+		for (dom = domains; dom; dom = dom->dom_next) {
+			KASSERT(((i == AF_INET) || (i == AF_INET6)), 
+			    ("unexpected protocol in vfs_hang_addrlist"));
 			if (dom->dom_family == i && dom->dom_rtattach) {
-				dom->dom_rtattach((void **) &nep->ne_rtable[i],
-				    dom->dom_rtoffset);
+				/*
+				 * XXX MRT 
+				 * The INET and INET6 domains know the
+				 * offset already. We don't need to send it
+				 * So we just use it as a flag to say that
+				 * we are or are not setting up a real routing
+				 * table. Only IP and IPV6 need have this
+				 * be 0 so all other protocols can stay the 
+				 * same (ABI compatible).
+				 */ 
+				dom->dom_rtattach(
+				    (void **) &nep->ne_rtable[i], 0);
 				break;
 			}
+		}
 		if ((rnh = nep->ne_rtable[i]) == NULL) {
 			error = ENOBUFS;
 			vfs_mount_error(mp, "%s %s %d",

==== //depot/projects/soc2008/snagg-audit/sys/mips/mips/pmap.c#3 (text+ko) ====

@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/mips/mips/pmap.c,v 1.3 2008/04/27 00:06:01 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/mips/mips/pmap.c,v 1.4 2008/05/09 23:31:41 alc Exp $");
 
 #include "opt_ddb.h"
 #include <sys/param.h>
@@ -2851,6 +2851,16 @@
 	return addr;
 }
 
+/*
+ *	Increase the starting virtual address of the given mapping if a
+ *	different alignment might result in more superpage mappings.
+ */
+void
+pmap_align_superpage(vm_object_t object, vm_ooffset_t offset,
+    vm_offset_t *addr, vm_size_t size)
+{
+}
+
 int pmap_pid_dump(int pid);
 
 int

==== //depot/projects/soc2008/snagg-audit/sys/net/bpf.c#3 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.194 2008/04/28 19:42:11 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.195 2008/05/09 19:29:08 jhb Exp $");
 
 #include "opt_bpf.h"
 #include "opt_mac.h"
@@ -140,6 +140,7 @@
 
 static struct cdevsw bpf_cdevsw = {
 	.d_version =	D_VERSION,
+	.d_flags =	D_TRACKCLOSE,
 	.d_open =	bpfopen,
 	.d_close =	bpfclose,
 	.d_read =	bpfread,

==== //depot/projects/soc2008/snagg-audit/sys/net/if.c#2 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)if.c	8.5 (Berkeley) 1/9/95
- * $FreeBSD: src/sys/net/if.c,v 1.278 2008/04/19 22:04:51 brooks Exp $
+ * $FreeBSD: src/sys/net/if.c,v 1.279 2008/05/09 23:02:56 julian Exp $
  */
 
 #include "opt_compat.h"
@@ -740,11 +740,14 @@
 	 * to this interface...oh well...
 	 */
 	for (i = 1; i <= AF_MAX; i++) {
-		if ((rnh = rt_tables[i]) == NULL)
+	    int j;
+	    for (j = 0; j < rt_numfibs; j++) {
+		if ((rnh = rt_tables[j][i]) == NULL)
 			continue;
 		RADIX_NODE_HEAD_LOCK(rnh);
 		(void) rnh->rnh_walktree(rnh, if_rtdel, ifp);
 		RADIX_NODE_HEAD_UNLOCK(rnh);
+	    }
 	}
 
 	/* Announce that the interface is gone. */
@@ -1010,9 +1013,9 @@
 		if ((rt->rt_flags & RTF_UP) == 0)
 			return (0);
 
-		err = rtrequest(RTM_DELETE, rt_key(rt), rt->rt_gateway,
+		err = rtrequest_fib(RTM_DELETE, rt_key(rt), rt->rt_gateway,
 				rt_mask(rt), rt->rt_flags,
-				(struct rtentry **) NULL);
+				(struct rtentry **) NULL, rt->rt_fibnum);
 		if (err) {
 			log(LOG_WARNING, "if_rtdel: error %d\n", err);
 		}

==== //depot/projects/soc2008/snagg-audit/sys/net/if_atmsubr.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net/if_atmsubr.c,v 1.46 2007/10/24 19:03:57 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/net/if_atmsubr.c,v 1.47 2008/05/09 23:02:56 julian Exp $");
 
 #include "opt_inet.h"
 #include "opt_inet6.h"
@@ -158,7 +158,8 @@
 			 * check route
 			 */
 			if (rt0 != NULL) {
-				error = rt_check(&rt, &rt0, dst);
+				error = rt_check_fib(&rt, &rt0,
+				    dst, rt0->rt_fibnum);
 				if (error)
 					goto bad;
 				RT_UNLOCK(rt);

==== //depot/projects/soc2008/snagg-audit/sys/net/if_fwsubr.c#2 (text+ko) ====

@@ -27,7 +27,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net/if_fwsubr.c,v 1.25 2007/10/24 19:03:57 rwatson Exp $
+ * $FreeBSD: src/sys/net/if_fwsubr.c,v 1.26 2008/05/09 23:02:56 julian Exp $
  */
 
 #include "opt_inet.h"
@@ -103,7 +103,7 @@
 	}
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805100033.m4A0XKdR055318>