PERFORCE change 149934 for review

Marko Zec zec at FreeBSD.org
Wed Sep 17 11:40:13 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=149934

Change 149934 by zec at zec_tinderbox on 2008/09/17 11:39:54

	Integrate from vimage-commit2

Affected files ...

.. //depot/projects/vimage/src/sys/arm/arm/genassym.c#5 integrate
.. //depot/projects/vimage/src/sys/boot/i386/libi386/pxe.c#3 integrate
.. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c#2 integrate
.. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#22 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#13 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#23 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_auth.c#5 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_frag.c#4 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_log.c#5 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_nat.c#6 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_proxy.c#4 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_state.c#7 integrate
.. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_sync.c#4 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/if_pflog.c#4 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/if_pfsync.c#8 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pf_norm.c#4 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pf_osfp.c#4 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pf_subr.c#8 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/net/pfvar.h#6 integrate
.. //depot/projects/vimage/src/sys/contrib/pf/netinet/in4_cksum.c#3 integrate
.. //depot/projects/vimage/src/sys/contrib/rdma/rdma_cma.c#4 integrate
.. //depot/projects/vimage/src/sys/ddb/db_textdump.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/firewire/firewire.c#16 integrate
.. //depot/projects/vimage/src/sys/dev/sbni/if_sbni.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/sbni/if_sbni_isa.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/sbni/if_sbni_pci.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/sbni/if_sbnireg.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/sbni/if_sbnivar.h#4 integrate
.. //depot/projects/vimage/src/sys/fs/cd9660/cd9660_rrip.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/kern_jail.c#13 integrate
.. //depot/projects/vimage/src/sys/kern/kern_mib.c#15 integrate
.. //depot/projects/vimage/src/sys/kern/kern_prot.c#10 integrate
.. //depot/projects/vimage/src/sys/kern/kern_switch.c#15 integrate
.. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#13 integrate
.. //depot/projects/vimage/src/sys/kern/kern_uuid.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/kern_xxx.c#10 integrate
.. //depot/projects/vimage/src/sys/kern/sys_socket.c#12 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_domain.c#15 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_syscalls.c#21 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_export.c#13 integrate
.. //depot/projects/vimage/src/sys/mips/include/sysarch.h#2 integrate
.. //depot/projects/vimage/src/sys/modules/sbni/Makefile#4 integrate
.. //depot/projects/vimage/src/sys/net/if.c#37 integrate
.. //depot/projects/vimage/src/sys/net/if.h#9 integrate
.. //depot/projects/vimage/src/sys/net/if_ef.c#7 integrate
.. //depot/projects/vimage/src/sys/net/if_enc.c#7 integrate
.. //depot/projects/vimage/src/sys/net/if_ethersubr.c#24 integrate
.. //depot/projects/vimage/src/sys/net/if_faith.c#5 integrate
.. //depot/projects/vimage/src/sys/net/if_gif.c#16 integrate
.. //depot/projects/vimage/src/sys/net/if_gre.c#9 integrate
.. //depot/projects/vimage/src/sys/net/if_loop.c#25 integrate
.. //depot/projects/vimage/src/sys/net/if_mib.c#8 integrate
.. //depot/projects/vimage/src/sys/net/if_stf.c#11 integrate
.. //depot/projects/vimage/src/sys/net/if_tun.c#7 integrate
.. //depot/projects/vimage/src/sys/net/if_vlan.c#11 integrate
.. //depot/projects/vimage/src/sys/net/raw_cb.c#9 integrate
.. //depot/projects/vimage/src/sys/net/raw_usrreq.c#8 integrate
.. //depot/projects/vimage/src/sys/net/route.c#24 integrate
.. //depot/projects/vimage/src/sys/net/rtsock.c#16 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ddb.c#10 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_var.h#14 integrate
.. //depot/projects/vimage/src/sys/netgraph/atm/ng_atm.c#7 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_base.c#36 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#13 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_gif.c#8 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#10 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_ipfw.c#2 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_nat.c#6 integrate
.. //depot/projects/vimage/src/sys/netinet/icmp_var.h#4 integrate
.. //depot/projects/vimage/src/sys/netinet/if_ether.c#23 integrate
.. //depot/projects/vimage/src/sys/netinet/igmp.c#16 integrate
.. //depot/projects/vimage/src/sys/netinet/in.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/in_gif.c#12 integrate
.. //depot/projects/vimage/src/sys/netinet/in_mcast.c#10 integrate
.. //depot/projects/vimage/src/sys/netinet/in_pcb.c#30 integrate
.. //depot/projects/vimage/src/sys/netinet/in_proto.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/in_rmx.c#20 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_carp.c#12 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_dummynet.c#11 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_encap.c#4 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#12 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw.h#14 edit
.. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#43 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw_nat.c#7 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_gre.c#4 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_id.c#5 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_input.c#33 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#13 edit
.. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#12 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_options.c#14 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_output.c#18 integrate
.. //depot/projects/vimage/src/sys/netinet/raw_ip.c#27 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_auth.c#13 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_cc_functions.c#6 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_crc32.c#6 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_os.h#8 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.c#11 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#25 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_input.c#34 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_output.c#22 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_reass.c#7 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_sack.c#11 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#50 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#39 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_timer.c#21 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#16 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#22 integrate
.. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#33 integrate
.. //depot/projects/vimage/src/sys/netinet/udp_var.h#7 integrate
.. //depot/projects/vimage/src/sys/netinet/vinet.h#26 integrate
.. //depot/projects/vimage/src/sys/netinet6/dest6.c#8 integrate
.. //depot/projects/vimage/src/sys/netinet6/frag6.c#18 integrate
.. //depot/projects/vimage/src/sys/netinet6/icmp6.c#29 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6.c#21 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_gif.c#13 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#23 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#21 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#28 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_rmx.c#19 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_var.h#6 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#14 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#33 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#12 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#16 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#19 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6protosw.h#4 integrate
.. //depot/projects/vimage/src/sys/netinet6/mld6.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6.c#30 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#19 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#17 integrate
.. //depot/projects/vimage/src/sys/netinet6/route6.c#9 integrate
.. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#28 integrate
.. //depot/projects/vimage/src/sys/netinet6/vinet6.h#18 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec.c#26 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec.h#9 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#16 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec_mbuf.c#6 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#16 integrate
.. //depot/projects/vimage/src/sys/netipsec/key.c#21 integrate
.. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#15 integrate
.. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#14 integrate
.. //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#12 integrate
.. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#16 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#10 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#21 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#17 integrate
.. //depot/projects/vimage/src/sys/rpc/authunix_prot.c#8 integrate
.. //depot/projects/vimage/src/sys/sys/domain.h#5 integrate
.. //depot/projects/vimage/src/sys/sys/mbuf.h#13 integrate
.. //depot/projects/vimage/src/sys/sys/protosw.h#5 integrate
.. //depot/projects/vimage/src/sys/sys/sched.h#10 integrate
.. //depot/projects/vimage/src/sys/sys/sysctl.h#23 integrate
.. //depot/projects/vimage/src/sys/sys/ucred.h#7 integrate
.. //depot/projects/vimage/src/sys/sys/vimage.h#64 edit

Differences ...

==== //depot/projects/vimage/src/sys/arm/arm/genassym.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/boot/i386/libi386/pxe.c#3 (text+ko) ====


==== //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c#2 (text+ko) ====


==== //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#22 (text+ko) ====


==== //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#13 (text+ko) ====


==== //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#23 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_auth.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_frag.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_log.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_nat.c#6 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_proxy.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_state.c#7 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_sync.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/net/if_pflog.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/net/if_pfsync.c#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_norm.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_osfp.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_subr.c#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/net/pfvar.h#6 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/pf/netinet/in4_cksum.c#3 (text+ko) ====


==== //depot/projects/vimage/src/sys/contrib/rdma/rdma_cma.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/ddb/db_textdump.c#6 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#5 (text+ko) ====

@@ -240,6 +240,7 @@
 
 	/* Register existing TOE interfaces by walking the ifnet chain */
 	IFNET_RLOCK();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);	/* XXX CURVNET_SET_QUIET() ? */
 		INIT_VNET_NET(vnet_iter);
@@ -247,6 +248,7 @@
 			(void)ifaddr_event_handler(NULL, ifp);
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	IFNET_RUNLOCK();
 	return 0;
 }

==== //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/firewire/firewire.c#16 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/sbni/if_sbni.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/sbni/if_sbni_isa.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/sbni/if_sbni_pci.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/sbni/if_sbnireg.h#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/dev/sbni/if_sbnivar.h#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/fs/cd9660/cd9660_rrip.c#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_jail.c#13 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_mib.c#15 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_prot.c#10 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_switch.c#15 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_sysctl.c#13 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_uuid.c#9 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/kern_xxx.c#10 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/sys_socket.c#12 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/uipc_domain.c#15 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/uipc_syscalls.c#21 (text+ko) ====


==== //depot/projects/vimage/src/sys/kern/vfs_export.c#13 (text+ko) ====


==== //depot/projects/vimage/src/sys/mips/include/sysarch.h#2 (text+ko) ====


==== //depot/projects/vimage/src/sys/modules/sbni/Makefile#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if.c#37 (text+ko) ====

@@ -1642,7 +1642,7 @@
 	int s = splimp();
 
 	IFNET_RLOCK();
-	VNET_LIST_REF();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_NET(vnet_iter);
@@ -1654,7 +1654,7 @@
 		}
 		CURVNET_RESTORE();
 	}
-	VNET_LIST_UNREF();
+	VNET_LIST_RUNLOCK();
 	IFNET_RUNLOCK();
 	splx(s);
 	timeout(if_slowtimo, (void *)0, hz / IFNET_SLOWHZ);

==== //depot/projects/vimage/src/sys/net/if.h#9 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_ef.c#7 (text+ko) ====

@@ -491,10 +491,11 @@
 	struct ef_link *efl = NULL, *efl_temp;
 	int error = 0, d;
 
-	IFNET_RLOCK();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_NET(vnet_iter);
+		IFNET_RLOCK();
 		TAILQ_FOREACH(ifp, &V_ifnet, if_link) {
 			if (ifp->if_type != IFT_ETHER) continue;
 			EFDEBUG("Found interface %s\n", ifp->if_xname);
@@ -525,9 +526,10 @@
 			efcount++;
 			SLIST_INSERT_HEAD(&efdev, efl, el_next);
 		}
+		IFNET_RUNLOCK();
 		CURVNET_RESTORE();
 	}
-	IFNET_RUNLOCK();
+	VNET_LIST_RUNLOCK();
 	if (error) {
 		if (efl)
 			SLIST_INSERT_HEAD(&efdev, efl, el_next);

==== //depot/projects/vimage/src/sys/net/if_enc.c#7 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_ethersubr.c#24 (text+ko) ====

@@ -981,7 +981,7 @@
 SYSCTL_NODE(_net_link, IFT_ETHER, ether, CTLFLAG_RW, 0, "Ethernet");
 #if defined(INET) || defined(INET6)
 SYSCTL_V_INT(V_NET, vnet_net, _net_link_ether, OID_AUTO, ipfw, CTLFLAG_RW,
-    ether_ipfw, 0, "Pass ether pkts through firewall");
+	     ether_ipfw, 0, "Pass ether pkts through firewall");
 #endif
 
 #if 0

==== //depot/projects/vimage/src/sys/net/if_faith.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_gif.c#16 (text+ko) ====

@@ -148,7 +148,7 @@
 static int parallel_tunnels;
 #endif
 SYSCTL_V_INT(V_NET, vnet_gif, _net_link_gif, OID_AUTO, parallel_tunnels,
-	CTLFLAG_RW, parallel_tunnels, 0, "Allow parallel tunnels?");
+    CTLFLAG_RW, parallel_tunnels, 0, "Allow parallel tunnels?");
 
 VNET_MOD_DECLARE(GIF, gif, NULL, vnet_gif_iattach, NET, NULL)
 /* copy from src/sys/net/if_ethersubr.c */

==== //depot/projects/vimage/src/sys/net/if_gre.c#9 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_loop.c#25 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_mib.c#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_stf.c#11 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_tun.c#7 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/if_vlan.c#11 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/raw_cb.c#9 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/raw_usrreq.c#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/route.c#24 (text+ko) ====


==== //depot/projects/vimage/src/sys/net/rtsock.c#16 (text+ko) ====


==== //depot/projects/vimage/src/sys/net80211/ieee80211_ddb.c#10 (text+ko) ====

@@ -195,6 +195,7 @@
 			break;
 		}
 
+	/* XXX to lock or not to lock the vnet list - we are in DDB here? */
 	VNET_FOREACH(vnet_iter) {
 		INIT_VNET_NET(vnet_iter);
 		TAILQ_FOREACH(ifp, &V_ifnet, if_list)

==== //depot/projects/vimage/src/sys/net80211/ieee80211_var.h#14 (text+ko) ====


==== //depot/projects/vimage/src/sys/netgraph/atm/ng_atm.c#7 (text+ko) ====

@@ -1403,6 +1403,7 @@
 		ng_atm_input_orphan_p = ng_atm_input_orphans;
 		ng_atm_event_p = ng_atm_event;
 
+		VNET_LIST_RLOCK();
 		VNET_FOREACH(vnet_iter) {
 			CURVNET_SET_QUIET(vnet_iter);
        			INIT_VNET_NET(vnet_iter);
@@ -1413,6 +1414,7 @@
 			}
 			CURVNET_RESTORE();
 		}
+		VNET_LIST_RUNLOCK();
 		IFNET_RUNLOCK();
 		break;
 
@@ -1426,6 +1428,7 @@
 		ng_atm_input_orphan_p = NULL;
 		ng_atm_event_p = NULL;
 
+		VNET_LIST_RLOCK();
 		VNET_FOREACH(vnet_iter) {
 			CURVNET_SET_QUIET(vnet_iter);
        			INIT_VNET_NET(vnet_iter);
@@ -1435,6 +1438,7 @@
 			}
 			CURVNET_RESTORE();
 		}
+		VNET_LIST_RUNLOCK();
 		IFNET_RUNLOCK();
 		break;
 

==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#36 (text+ko) ====


==== //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#13 (text+ko) ====


==== //depot/projects/vimage/src/sys/netgraph/ng_gif.c#8 (text+ko) ====

@@ -563,6 +563,7 @@
 
 		/* Create nodes for any already-existing gif interfaces */
 		IFNET_RLOCK();
+		VNET_LIST_RLOCK();
 		VNET_FOREACH(vnet_iter) {
 			CURVNET_SET_QUIET(vnet_iter); /* XXX revisit quiet */
 			INIT_VNET_NET(curvnet);
@@ -572,6 +573,7 @@
 			}
 			CURVNET_RESTORE();
 		}
+		VNET_LIST_RUNLOCK();
 		IFNET_RUNLOCK();
 		break;
 

==== //depot/projects/vimage/src/sys/netgraph/ng_iface.c#10 (text+ko) ====


==== //depot/projects/vimage/src/sys/netgraph/ng_ipfw.c#2 (text+ko) ====


==== //depot/projects/vimage/src/sys/netgraph/ng_nat.c#6 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/icmp_var.h#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/if_ether.c#23 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/igmp.c#16 (text+ko) ====

@@ -440,6 +440,7 @@
 
 	IN_MULTI_LOCK();
 	igmp_timers_are_running = 0;
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET(vnet_iter);
@@ -457,6 +458,7 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	IN_MULTI_UNLOCK();
 }
 
@@ -468,6 +470,7 @@
 
 	IGMP_PRINTF("[igmp.c,_slowtimo] -- > entering \n");
 	mtx_lock(&igmp_mtx);
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET(vnet_iter);
@@ -480,6 +483,7 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	mtx_unlock(&igmp_mtx);
 	IGMP_PRINTF("[igmp.c,_slowtimo] -- > exiting \n");
 }

==== //depot/projects/vimage/src/sys/netinet/in.c#15 (text+ko) ====

@@ -207,7 +207,7 @@
 in_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp,
     struct thread *td)
 {
-	INIT_VNET_INET(curvnet);	/* so and ifp can be 0 ! */
+	INIT_VNET_INET(curvnet); /* both so and ifp can be NULL here! */
 	register struct ifreq *ifr = (struct ifreq *)data;
 	register struct in_ifaddr *ia = 0, *iap;
 	register struct ifaddr *ifa;

==== //depot/projects/vimage/src/sys/netinet/in_gif.c#12 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/in_mcast.c#10 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/in_pcb.c#30 (text+ko) ====

@@ -1223,6 +1223,7 @@
 {
 	VNET_ITERATOR_DECL(vnet_iter);
 
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);	/* XXX appease INVARIANTS here */
 		INIT_VNET_INET(vnet_iter);
@@ -1235,6 +1236,7 @@
 		V_ipport_tcplastcount = V_ipport_tcpallocs;
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	callout_reset(&ipport_tick_callout, hz, ipport_tick, NULL);
 }
 

==== //depot/projects/vimage/src/sys/netinet/in_proto.c#15 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/in_rmx.c#20 (text+ko) ====

@@ -341,6 +341,7 @@
 	struct rtqk_arg arg;
 	int 	fibnum;
 
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_NET(vnet_iter);
@@ -358,6 +359,7 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 }
 
 static int _in_rt_was_here;

==== //depot/projects/vimage/src/sys/netinet/ip_carp.c#12 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_dummynet.c#11 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_encap.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#12 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_fw.h#14 (text+ko) ====

@@ -750,20 +750,16 @@
 #define V_fw_one_pass		VNET_IPFW(fw_one_pass)
 #define V_fw_enable		VNET_IPFW(fw_enable)
 #define V_fw6_enable		VNET_IPFW(fw6_enable)
-
 #define V_set_disable		VNET_IPFW(set_disable)
 #define V_fw_deny_unknown_exthdrs VNET_IPFW(fw_deny_unknown_exthdrs)
 #define V_fw_verbose		VNET_IPFW(fw_verbose)
 #define V_verbose_limit		VNET_IPFW(verbose_limit)
-
 #define V_fw_debug		VNET_IPFW(fw_debug)
 #define V_autoinc_step		VNET_IPFW(autoinc_step)
-
 #define V_ipfw_dyn_v		VNET_IPFW(ipfw_dyn_v)
 #define V_layer3_chain		VNET_IPFW(layer3_chain)
 #define V_dyn_buckets		VNET_IPFW(dyn_buckets)
 #define V_curr_dyn_buckets	VNET_IPFW(curr_dyn_buckets)
-
 #define V_dyn_ack_lifetime	VNET_IPFW(dyn_ack_lifetime)
 #define V_dyn_syn_lifetime	VNET_IPFW(dyn_syn_lifetime)
 #define V_dyn_fin_lifetime	VNET_IPFW(dyn_fin_lifetime)
@@ -777,7 +773,6 @@
 #define V_static_len		VNET_IPFW(static_len)
 #define V_dyn_count		VNET_IPFW(dyn_count)
 #define V_dyn_max		VNET_IPFW(dyn_max)
-
 #define V_norule_counter	VNET_IPFW(norule_counter)
 #define V_ipfw_timeout		VNET_IPFW(ipfw_timeout)
 #define V_ifaddr_event_tag	VNET_IPFW(ifaddr_event_tag)

==== //depot/projects/vimage/src/sys/netinet/ip_fw2.c#43 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_fw_nat.c#7 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_gre.c#4 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_icmp.c#15 (text+ko) ====

@@ -83,7 +83,7 @@
 struct	icmpstat icmpstat;
 #endif
 SYSCTL_V_STRUCT(V_NET, vnet_inet, _net_inet_icmp, ICMPCTL_STATS, stats,
-		CTLFLAG_RW, icmpstat, icmpstat, "");
+	CTLFLAG_RW, icmpstat, icmpstat, "");
 
 static int	icmpmaskrepl = 0;
 SYSCTL_INT(_net_inet_icmp, ICMPCTL_MASKREPL, maskrepl, CTLFLAG_RW,

==== //depot/projects/vimage/src/sys/netinet/ip_id.c#5 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_input.c#33 (text+ko) ====

@@ -1150,6 +1150,7 @@
 	int i;
 
 	IPQ_LOCK();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET(vnet_iter);
@@ -1184,6 +1185,7 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	IPQ_UNLOCK();
 }
 
@@ -1197,6 +1199,7 @@
 	int     i;
 
 	IPQ_LOCK();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET(vnet_iter);
@@ -1209,6 +1212,7 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	IPQ_UNLOCK();
 	in_rtqdrain();
 }

==== //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#13 (text+ko) ====

@@ -143,9 +143,9 @@
 int
 ip_ipsec_input(struct mbuf *m)
 {
+#ifdef IPSEC
 	INIT_VNET_IPSEC(curvnet);
 	struct ip *ip = mtod(m, struct ip *);
-#ifdef IPSEC
 	struct m_tag *mtag;
 	struct tdb_ident *tdbi;
 	struct secpolicy *sp;

==== //depot/projects/vimage/src/sys/netinet/ip_mroute.c#12 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_options.c#14 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/ip_output.c#18 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/raw_ip.c#27 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/sctp_auth.c#13 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/sctp_cc_functions.c#6 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/sctp_crc32.c#6 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/sctp_os.h#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/sctp_sysctl.c#11 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#25 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_input.c#34 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_output.c#22 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_reass.c#7 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_sack.c#11 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#50 (text+ko) ====

@@ -76,7 +76,7 @@
 #endif
 #include <netinet/in_var.h>
 #include <netinet/ip_var.h>
-#ifdef INET6
+#ifdef IET6
 #include <netinet6/ip6_var.h>
 #include <netinet6/scope6_var.h>
 #include <netinet6/nd6.h>
@@ -945,6 +945,7 @@
 	if (!do_tcpdrain)
 		return;
 
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET(vnet_iter);
@@ -981,6 +982,7 @@
 		INP_INFO_RUNLOCK(&V_tcbinfo);
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 }
 
 /*
@@ -1592,6 +1594,7 @@
 	u_int32_t projected_offset;
 
 	ISN_LOCK();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter); /* XXX appease INVARIANTS */
 		INIT_VNET_INET(curvnet);
@@ -1604,6 +1607,7 @@
 		V_isn_offset_old = V_isn_offset;
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	callout_reset(&isn_callout, hz/100, tcp_isn_tick, NULL);
 	ISN_UNLOCK();
 }

==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#39 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_timer.c#21 (text+ko) ====

@@ -128,6 +128,7 @@
 {
 	VNET_ITERATOR_DECL(vnet_iter);
 
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET(vnet_iter);
@@ -137,6 +138,7 @@
 		INP_INFO_WUNLOCK(&V_tcbinfo);
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 }
 
 int	tcp_syn_backoff[TCP_MAXRXTSHIFT + 1] =

==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#16 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#22 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#33 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/udp_var.h#7 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet/vinet.h#26 (text+ko) ====

@@ -194,7 +194,6 @@
 #define V_in_ifaddrhashtbl	VNET_INET(in_ifaddrhashtbl)
 #define V_in_ifaddrhmask	VNET_INET(in_ifaddrhmask)
 #define V_in_multihead		VNET_INET(in_multihead)
-
 #define V_llinfo_arp		VNET_INET(llinfo_arp)
 #define V_arpt_prune		VNET_INET(arpt_prune)
 #define V_arpt_keep		VNET_INET(arpt_keep)
@@ -203,7 +202,6 @@
 #define V_arp_proxyall		VNET_INET(arp_proxyall)
 #define V_subnetsarelocal	VNET_INET(subnetsarelocal)
 #define V_sameprefixcarponly	VNET_INET(sameprefixcarponly)
-
 #define V_ipforwarding		VNET_INET(ipforwarding)
 #define V_ipstealth		VNET_INET(ipstealth)
 #define V_ipfastforward_active	VNET_INET(ipfastforward_active)
@@ -214,13 +212,11 @@
 #define V_ip_id			VNET_INET(ip_id)
 #define V_ip_do_randomid	VNET_INET(ip_do_randomid)
 #define V_ip_checkinterface	VNET_INET(ip_checkinterface)
-
 #define V_ipq			VNET_INET(ipq)
 #define V_ipq_zone		VNET_INET(ipq_zone)
 #define V_nipq			VNET_INET(nipq)
 #define V_maxnipq		VNET_INET(maxnipq)
 #define V_maxfragsperpacket	VNET_INET(maxfragsperpacket)
-
 #define V_tcb			VNET_INET(tcb)
 #define V_tcbinfo		VNET_INET(tcbinfo)
 #define V_tcpstat		VNET_INET(tcpstat)
@@ -229,7 +225,6 @@
 #define V_tcp_hc_callout	VNET_INET(tcp_hc_callout)
 #define V_tcp_syncache		VNET_INET(tcp_syncache)
 #define V_tcp_sc_rst_sock_fail	VNET_INET(tcp_sc_rst_sock_fail)
-
 #define V_tcp_mssdflt		VNET_INET(tcp_mssdflt)
 #define V_tcp_v6mssdflt		VNET_INET(tcp_v6mssdflt)
 #define V_tcp_minmss		VNET_INET(tcp_minmss)
@@ -269,39 +264,31 @@
 #define V_tcp_reass_qsize	VNET_INET(tcp_reass_qsize)
 #define V_tcp_reass_maxqlen	VNET_INET(tcp_reass_maxqlen)
 #define V_tcp_reass_overflows	VNET_INET(tcp_reass_overflows)
-
 /* pf needs to get to these (!?) */
 #define V_isn_secret		VNET_INET(isn_secret)
 #define V_isn_last_reseed	VNET_INET(isn_last_reseed)
 #define V_isn_offset		VNET_INET(isn_offset)
 #define V_isn_offset_old	VNET_INET(isn_offset_old)
 #define V_isn_ctx		VNET_INET(isn_ctx)
-
 #define V_udb			VNET_INET(udb)
 #define V_udbinfo		VNET_INET(udbinfo)
 #define V_udpstat		VNET_INET(udpstat)
 #define V_udp_blackhole		VNET_INET(udp_blackhole)
-
 #define V_ripcb			VNET_INET(ripcb)
 #define V_ripcbinfo		VNET_INET(ripcbinfo)
 #define V_ip_mrouter		VNET_INET(ip_mrouter)
-
 #define V_rsvp_on		VNET_INET(rsvp_on)
 #define V_ip_rsvp_on		VNET_INET(ip_rsvp_on)
 #define V_ip_rsvpd		VNET_INET(ip_rsvpd)
-
 #define V_icmpstat		VNET_INET(icmpstat)
 #define V_ipstat		VNET_INET(ipstat)
 #define V_igmpstat		VNET_INET(igmpstat)
-
 #define V_router_info_head	VNET_INET(router_info_head)
-
 #define V_rtq_timeout		VNET_INET(rtq_timeout)
 #define V_rtq_reallyold		VNET_INET(rtq_reallyold)
 #define V_rtq_minreallyold	VNET_INET(rtq_minreallyold)
 #define V_rtq_toomany		VNET_INET(rtq_toomany)
 #define V_rtq_timer		VNET_INET(rtq_timer)
-
 #define V_ipport_lowfirstauto	VNET_INET(ipport_lowfirstauto)
 #define V_ipport_lowlastauto	VNET_INET(ipport_lowlastauto)
 #define V_ipport_firstauto	VNET_INET(ipport_firstauto)
@@ -316,7 +303,6 @@
 #define V_ipport_stoprandom	VNET_INET(ipport_stoprandom)
 #define V_ipport_tcpallocs	VNET_INET(ipport_tcpallocs)
 #define V_ipport_tcplastcount	VNET_INET(ipport_tcplastcount)
-
 #define V_divcb			VNET_INET(divcb)
 #define V_divcbinfo		VNET_INET(divcbinfo)
 #endif /* !_NETINET_VINET_H_ */

==== //depot/projects/vimage/src/sys/netinet6/dest6.c#8 (text+ko) ====


==== //depot/projects/vimage/src/sys/netinet6/frag6.c#18 (text+ko) ====

@@ -697,9 +697,10 @@
 	struct ip6q *q6;
 
 	IP6Q_LOCK();
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
-		INIT_VNET_INET6(curvnet);
+		INIT_VNET_INET6(vnet_iter);
 		q6 = V_ip6q.ip6q_next;
 		if (q6)
 			while (q6 != &V_ip6q) {
@@ -724,6 +725,7 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	IP6Q_UNLOCK();
 
 #if 0
@@ -753,6 +755,7 @@
 
 	if (IP6Q_TRYLOCK() == 0)
 		return;
+	VNET_LIST_RLOCK();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		INIT_VNET_INET6(vnet_iter);
@@ -763,5 +766,6 @@
 		}
 		CURVNET_RESTORE();
 	}
+	VNET_LIST_RUNLOCK();
 	IP6Q_UNLOCK();
 }

==== //depot/projects/vimage/src/sys/netinet6/icmp6.c#29 (text+ko) ====

@@ -401,8 +401,7 @@
 icmp6_input(struct mbuf **mp, int *offp, int proto)
 {
 	INIT_VNET_INET6(curvnet);
-	/* XXX this bellow is WRONG - MARKO */
-	INIT_VPROCG(TD_TO_VPROCG(curthread));
+	INIT_VPROCG(TD_TO_VPROCG(curthread)); /* XXX V_hostname needs this */
 	struct mbuf *m = *mp, *n;
 	struct ip6_hdr *ip6, *nip6;
 	struct icmp6_hdr *icmp6, *nicmp6;
@@ -1175,8 +1174,7 @@
 ni6_input(struct mbuf *m, int off)
 {
 	INIT_VNET_INET6(curvnet);
-	/* XXX this bellow is WRONG - MARKO */
-	INIT_VPROCG(TD_TO_VPROCG(curthread));
+	INIT_VPROCG(TD_TO_VPROCG(curthread)); /* XXX V_hostname needs this */
 	struct icmp6_nodeinfo *ni6, *nni6;
 	struct mbuf *n = NULL;
 	u_int16_t qtype;

==== //depot/projects/vimage/src/sys/netinet6/in6.c#21 (text+ko) ====

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


More information about the p4-projects mailing list