From owner-svn-src-projects@freebsd.org  Sun Jun  5 17:31:37 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61FE7B6A226
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Sun,  5 Jun 2016 17:31:37 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2BDF11E51;
 Sun,  5 Jun 2016 17:31:37 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u55HVack096625;
 Sun, 5 Jun 2016 17:31:36 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u55HVakG096624;
 Sun, 5 Jun 2016 17:31:36 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606051731.u55HVakG096624@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Sun, 5 Jun 2016 17:31:36 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301458 - projects/vnet/sys/net
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 05 Jun 2016 17:31:37 -0000

Author: bz
Date: Sun Jun  5 17:31:36 2016
New Revision: 301458
URL: https://svnweb.freebsd.org/changeset/base/301458

Log:
  Fix a wonderful SVN mismerge.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/if_ethersubr.c

Modified: projects/vnet/sys/net/if_ethersubr.c
==============================================================================
--- projects/vnet/sys/net/if_ethersubr.c	Sun Jun  5 17:11:23 2016	(r301457)
+++ projects/vnet/sys/net/if_ethersubr.c	Sun Jun  5 17:31:36 2016	(r301458)
@@ -754,7 +754,6 @@ ether_input(struct ifnet *ifp, struct mb
 		KASSERT(m->m_pkthdr.rcvif == ifp, ("%s: ifnet mismatch m %p "
 		    "rcvif %p ifp %p", __func__, m, m->m_pkthdr.rcvif, ifp));
 		CURVNET_SET_QUIET(ifp->if_vnet);
-		CURVNET_SET_QUIET(ifp->if_vnet);
 		netisr_dispatch(NETISR_ETHER, m);
 		CURVNET_RESTORE();
 		m = mn;

From owner-svn-src-projects@freebsd.org  Mon Jun  6 10:21:56 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id A6FBDB46781
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 10:21:56 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 50965139A;
 Mon,  6 Jun 2016 10:21:56 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56ALtHn075864;
 Mon, 6 Jun 2016 10:21:55 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56ALrF3075840;
 Mon, 6 Jun 2016 10:21:53 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606061021.u56ALrF3075840@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 10:21:53 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301499 - in projects/vnet: . bin/sh contrib/bmake
 contrib/bmake/mk contrib/elftoolchain/brandelf contrib/elftoolchain/elfcopy
 contrib/elftoolchain/elfdump contrib/elftoolchain/libdwarf...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 10:21:56 -0000

Author: bz
Date: Mon Jun  6 10:21:53 2016
New Revision: 301499
URL: https://svnweb.freebsd.org/changeset/base/301499

Log:
  MfH @r301498
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/vnet/contrib/libucl/src/mum.h
     - copied unchanged from r301498, head/contrib/libucl/src/mum.h
  projects/vnet/etc/rc.d/ypldap
     - copied unchanged from r301498, head/etc/rc.d/ypldap
  projects/vnet/lib/clang/freebsd_cc_version.h
     - copied unchanged from r301498, head/lib/clang/freebsd_cc_version.h
  projects/vnet/lib/libblacklist/Makefile.depend
     - copied unchanged from r301498, head/lib/libblacklist/Makefile.depend
  projects/vnet/lib/libdevdctl/Makefile.depend
     - copied unchanged from r301498, head/lib/libdevdctl/Makefile.depend
  projects/vnet/libexec/blacklistd-helper/Makefile.depend
     - copied unchanged from r301498, head/libexec/blacklistd-helper/Makefile.depend
  projects/vnet/sys/boot/efi/libefi/time_event.c
     - copied unchanged from r301498, head/sys/boot/efi/libefi/time_event.c
  projects/vnet/sys/dev/bhnd/bhnd_nexus.c
     - copied unchanged from r301498, head/sys/dev/bhnd/bhnd_nexus.c
  projects/vnet/sys/dev/bhnd/bhnd_nexusvar.h
     - copied unchanged from r301498, head/sys/dev/bhnd/bhnd_nexusvar.h
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_cfi.c
     - copied unchanged from r301498, head/sys/dev/bhnd/cores/chipc/chipc_cfi.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_slicer.c
     - copied unchanged from r301498, head/sys/dev/bhnd/cores/chipc/chipc_slicer.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_slicer.h
     - copied unchanged from r301498, head/sys/dev/bhnd/cores/chipc/chipc_slicer.h
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_spi.c
     - copied unchanged from r301498, head/sys/dev/bhnd/cores/chipc/chipc_spi.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_spi.h
     - copied unchanged from r301498, head/sys/dev/bhnd/cores/chipc/chipc_spi.h
  projects/vnet/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c
     - copied unchanged from r301498, head/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c
  projects/vnet/sys/dev/hyperv/vmbus/hyperv_machdep.h
     - copied unchanged from r301498, head/sys/dev/hyperv/vmbus/hyperv_machdep.h
  projects/vnet/sys/dev/hyperv/vmbus/i386/hyperv_machdep.c
     - copied unchanged from r301498, head/sys/dev/hyperv/vmbus/i386/hyperv_machdep.c
  projects/vnet/usr.bin/bsdcat/Makefile.depend
     - copied unchanged from r301498, head/usr.bin/bsdcat/Makefile.depend
  projects/vnet/usr.bin/resizewin/Makefile.depend
     - copied unchanged from r301498, head/usr.bin/resizewin/Makefile.depend
  projects/vnet/usr.bin/sdiff/Makefile.depend
     - copied unchanged from r301498, head/usr.bin/sdiff/Makefile.depend
  projects/vnet/usr.sbin/blacklistctl/Makefile.depend
     - copied unchanged from r301498, head/usr.sbin/blacklistctl/Makefile.depend
  projects/vnet/usr.sbin/blacklistd/Makefile.depend
     - copied unchanged from r301498, head/usr.sbin/blacklistd/Makefile.depend
  projects/vnet/usr.sbin/zonectl/Makefile.depend
     - copied unchanged from r301498, head/usr.sbin/zonectl/Makefile.depend
Deleted:
  projects/vnet/contrib/libucl/src/xxhash.c
  projects/vnet/contrib/libucl/src/xxhash.h
  projects/vnet/sys/dev/bhnd/soc/bhnd_soc.c
  projects/vnet/sys/dev/bhnd/soc/bhnd_soc.h
  projects/vnet/sys/dev/siba/siba_cc.c
  projects/vnet/sys/dev/siba/siba_mips.c
  projects/vnet/sys/dev/siba/siba_pcib.c
  projects/vnet/sys/dev/siba/siba_pcibvar.h
Modified:
  projects/vnet/Makefile
  projects/vnet/Makefile.inc1
  projects/vnet/bin/sh/Makefile
  projects/vnet/bin/sh/miscbltin.c
  projects/vnet/contrib/bmake/ChangeLog
  projects/vnet/contrib/bmake/Makefile
  projects/vnet/contrib/bmake/bmake.1
  projects/vnet/contrib/bmake/bmake.cat1
  projects/vnet/contrib/bmake/boot-strap
  projects/vnet/contrib/bmake/main.c
  projects/vnet/contrib/bmake/make-bootstrap.sh.in
  projects/vnet/contrib/bmake/make.1
  projects/vnet/contrib/bmake/make.h
  projects/vnet/contrib/bmake/meta.c
  projects/vnet/contrib/bmake/mk/ChangeLog
  projects/vnet/contrib/bmake/mk/dpadd.mk
  projects/vnet/contrib/bmake/mk/install-mk
  projects/vnet/contrib/bmake/mk/meta.autodep.mk
  projects/vnet/contrib/bmake/mk/meta.stage.mk
  projects/vnet/contrib/bmake/nonints.h
  projects/vnet/contrib/bmake/var.c
  projects/vnet/contrib/elftoolchain/brandelf/brandelf.c
  projects/vnet/contrib/elftoolchain/elfcopy/main.c
  projects/vnet/contrib/elftoolchain/elfdump/elfdump.c
  projects/vnet/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
  projects/vnet/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c
  projects/vnet/contrib/elftoolchain/readelf/readelf.c
  projects/vnet/contrib/gcclibs/include/objalloc.h
  projects/vnet/contrib/gcclibs/libiberty/objalloc.c
  projects/vnet/contrib/libucl/src/Makefile.am
  projects/vnet/contrib/libucl/src/ucl_hash.c
  projects/vnet/contrib/libucl/src/ucl_internal.h
  projects/vnet/contrib/libucl/src/ucl_msgpack.c
  projects/vnet/contrib/libucl/src/ucl_parser.c
  projects/vnet/contrib/libucl/src/ucl_util.c
  projects/vnet/contrib/libucl/uthash/uthash.h
  projects/vnet/contrib/one-true-awk/b.c
  projects/vnet/contrib/one-true-awk/lex.c
  projects/vnet/contrib/one-true-awk/maketab.c
  projects/vnet/contrib/one-true-awk/parse.c
  projects/vnet/contrib/one-true-awk/run.c
  projects/vnet/contrib/one-true-awk/tran.c
  projects/vnet/crypto/openssl/crypto/opensslv.h
  projects/vnet/etc/defaults/periodic.conf
  projects/vnet/etc/defaults/rc.conf
  projects/vnet/etc/mtree/BSD.usr.dist
  projects/vnet/etc/rc.d/Makefile
  projects/vnet/gnu/usr.bin/cc/c++/Makefile.depend
  projects/vnet/gnu/usr.bin/cc/cc/Makefile.depend
  projects/vnet/gnu/usr.bin/cc/cc1/Makefile.depend
  projects/vnet/gnu/usr.bin/cc/cc1plus/Makefile.depend
  projects/vnet/gnu/usr.bin/cc/cc_tools/Makefile.depend
  projects/vnet/gnu/usr.bin/cc/cpp/Makefile.depend
  projects/vnet/gnu/usr.bin/cc/gcov/Makefile.depend
  projects/vnet/gnu/usr.bin/groff/src/libs/libdriver/Makefile.depend
  projects/vnet/gnu/usr.bin/groff/src/libs/libgroff/Makefile.depend
  projects/vnet/kerberos5/Makefile.inc
  projects/vnet/kerberos5/lib/libasn1/Makefile
  projects/vnet/kerberos5/lib/libgssapi_spnego/Makefile
  projects/vnet/kerberos5/lib/libhdb/Makefile
  projects/vnet/kerberos5/lib/libhx509/Makefile
  projects/vnet/kerberos5/tools/asn1_compile/Makefile.depend
  projects/vnet/lib/clang/include/clang/Basic/Version.inc
  projects/vnet/lib/clang/libclangbasic/Makefile
  projects/vnet/lib/libc/gen/fnmatch.c
  projects/vnet/lib/libc/gen/glob.c
  projects/vnet/lib/libc/locale/collate.h
  projects/vnet/lib/libc/locale/collcmp.c
  projects/vnet/lib/libc/regex/regcomp.c
  projects/vnet/lib/libc/stdlib/random.3
  projects/vnet/lib/libc/sys/_umtx_op.2
  projects/vnet/lib/libc/sys/cpuset_getaffinity.2
  projects/vnet/lib/libc/sys/thr_new.2
  projects/vnet/lib/libelftc/Makefile
  projects/vnet/lib/libthr/libthr.3
  projects/vnet/lib/libucl/Makefile
  projects/vnet/libexec/rlogind/Makefile
  projects/vnet/libexec/rlogind/rlogind.c
  projects/vnet/release/release.conf.sample
  projects/vnet/release/release.sh
  projects/vnet/sbin/ifconfig/ifconfig.8
  projects/vnet/sbin/ifconfig/ifvlan.c
  projects/vnet/share/examples/Makefile
  projects/vnet/share/man/man3/pthread_attr_affinity_np.3
  projects/vnet/share/man/man3/pthread_create.3
  projects/vnet/share/man/man4/bcma.4
  projects/vnet/share/man/man4/bhnd.4
  projects/vnet/share/man/man4/bhndb.4
  projects/vnet/share/man/man4/siba.4
  projects/vnet/share/man/man4/vlan.4
  projects/vnet/share/man/man5/src.conf.5
  projects/vnet/share/mk/bsd.compiler.mk
  projects/vnet/share/mk/bsd.dep.mk
  projects/vnet/share/mk/bsd.info.mk
  projects/vnet/share/mk/bsd.lib.mk
  projects/vnet/share/mk/bsd.man.mk
  projects/vnet/share/mk/bsd.nls.mk
  projects/vnet/share/mk/bsd.prog.mk
  projects/vnet/share/mk/bsd.snmpmod.mk
  projects/vnet/share/mk/local.meta.sys.mk
  projects/vnet/share/mk/meta.stage.mk
  projects/vnet/share/mk/src.opts.mk
  projects/vnet/share/mk/sys.mk
  projects/vnet/sys/amd64/amd64/pmap.c
  projects/vnet/sys/arm/arm/nexus.c
  projects/vnet/sys/arm/mv/mv_common.c
  projects/vnet/sys/arm/nvidia/tegra124/tegra124_cpufreq.c
  projects/vnet/sys/arm64/arm64/gic_v3.c
  projects/vnet/sys/arm64/arm64/nexus.c
  projects/vnet/sys/boot/efi/include/efilib.h
  projects/vnet/sys/boot/efi/libefi/Makefile
  projects/vnet/sys/boot/efi/libefi/time.c
  projects/vnet/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c
  projects/vnet/sys/boot/efi/loader/arch/arm/exec.c
  projects/vnet/sys/boot/efi/loader/arch/arm64/exec.c
  projects/vnet/sys/boot/efi/loader/arch/i386/elf32_freebsd.c
  projects/vnet/sys/boot/efi/loader/main.c
  projects/vnet/sys/cam/ctl/ctl_frontend_iscsi.c
  projects/vnet/sys/cam/ctl/ctl_frontend_iscsi.h
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  projects/vnet/sys/conf/files
  projects/vnet/sys/conf/files.amd64
  projects/vnet/sys/conf/files.i386
  projects/vnet/sys/conf/kern.post.mk
  projects/vnet/sys/conf/kern.pre.mk
  projects/vnet/sys/conf/kmod.mk
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300.h
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_mci.c
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9462_2p0_initvals.h
  projects/vnet/sys/dev/acpica/acpi_lid.c
  projects/vnet/sys/dev/ath/ath_hal/ah_btcoex.h
  projects/vnet/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c
  projects/vnet/sys/dev/ath/if_ath_btcoex.c
  projects/vnet/sys/dev/bhnd/bcma/bcma.c
  projects/vnet/sys/dev/bhnd/bcma/bcma_nexus.c
  projects/vnet/sys/dev/bhnd/bhnd.h
  projects/vnet/sys/dev/bhnd/bhnd_bus_if.m
  projects/vnet/sys/dev/bhnd/bhnd_subr.c
  projects/vnet/sys/dev/bhnd/cores/chipc/bhnd_chipc_if.m
  projects/vnet/sys/dev/bhnd/cores/chipc/bhnd_sprom_chipc.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc.h
  projects/vnet/sys/dev/bhnd/cores/chipc/chipcreg.h
  projects/vnet/sys/dev/bhnd/cores/chipc/chipcvar.h
  projects/vnet/sys/dev/bhnd/nvram/bhnd_nvram.h
  projects/vnet/sys/dev/bhnd/nvram/bhnd_sprom.c
  projects/vnet/sys/dev/bhnd/nvram/bhnd_sprom_subr.c
  projects/vnet/sys/dev/bhnd/nvram/bhnd_spromvar.h
  projects/vnet/sys/dev/bhnd/siba/siba.c
  projects/vnet/sys/dev/bhnd/siba/siba_nexus.c
  projects/vnet/sys/dev/bhnd/siba/siba_subr.c
  projects/vnet/sys/dev/bwn/if_bwn.c
  projects/vnet/sys/dev/bwn/if_bwn_phy_n.c
  projects/vnet/sys/dev/cesa/cesa.c
  projects/vnet/sys/dev/cesa/cesa.h
  projects/vnet/sys/dev/etherswitch/mtkswitch/mtkswitch_mt7620.c
  projects/vnet/sys/dev/fdt/simplebus.c
  projects/vnet/sys/dev/filemon/filemon.c
  projects/vnet/sys/dev/filemon/filemon_wrapper.c
  projects/vnet/sys/dev/gpio/ofw_gpiobus.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_connection.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_vmbus_priv.h
  projects/vnet/sys/dev/hyperv/vmbus/hyperv.c
  projects/vnet/sys/dev/hyperv/vmbus/vmbus.c
  projects/vnet/sys/dev/hyperv/vmbus/vmbus_reg.h
  projects/vnet/sys/dev/hyperv/vmbus/vmbus_var.h
  projects/vnet/sys/dev/iicbus/ofw_iicbus.c
  projects/vnet/sys/dev/ioat/ioat.c
  projects/vnet/sys/dev/ioat/ioat.h
  projects/vnet/sys/dev/ioat/ioat_internal.h
  projects/vnet/sys/dev/iscsi/iscsi.c
  projects/vnet/sys/dev/iscsi/iscsi_ioctl.h
  projects/vnet/sys/dev/ntb/ntb_hw/ntb_hw.c
  projects/vnet/sys/dev/nxge/xgehal/xgehal-device.c
  projects/vnet/sys/dev/ofw/ofw_bus_subr.c
  projects/vnet/sys/dev/ofw/ofw_bus_subr.h
  projects/vnet/sys/dev/ofw/ofwbus.c
  projects/vnet/sys/dev/pci/pci_host_generic.c
  projects/vnet/sys/dev/sfxge/common/ef10_ev.c
  projects/vnet/sys/dev/sfxge/common/ef10_nic.c
  projects/vnet/sys/dev/sfxge/common/ef10_tlv_layout.h
  projects/vnet/sys/dev/sfxge/common/efx.h
  projects/vnet/sys/dev/sfxge/common/efx_ev.c
  projects/vnet/sys/dev/sfxge/sfxge.c
  projects/vnet/sys/dev/sfxge/sfxge_ev.c
  projects/vnet/sys/dev/sfxge/sfxge_intr.c
  projects/vnet/sys/dev/sfxge/sfxge_rx.c
  projects/vnet/sys/dev/sfxge/sfxge_tx.c
  projects/vnet/sys/dev/usb/wlan/if_run.c
  projects/vnet/sys/dev/vnic/mrml_bridge.c
  projects/vnet/sys/dev/vnic/thunder_mdio_fdt.c
  projects/vnet/sys/kern/bus_if.m
  projects/vnet/sys/kern/init_main.c
  projects/vnet/sys/kern/kern_fork.c
  projects/vnet/sys/kern/kern_proc.c
  projects/vnet/sys/kern/kern_synch.c
  projects/vnet/sys/kern/kern_thread.c
  projects/vnet/sys/kern/sched_4bsd.c
  projects/vnet/sys/kern/sched_ule.c
  projects/vnet/sys/kern/subr_bus.c
  projects/vnet/sys/kern/subr_intr.c
  projects/vnet/sys/mips/broadcom/files.broadcom
  projects/vnet/sys/mips/broadcom/uart_bus_chipc.c
  projects/vnet/sys/mips/conf/BCM
  projects/vnet/sys/mips/conf/BCM.hints
  projects/vnet/sys/mips/conf/SENTRY5
  projects/vnet/sys/mips/conf/SENTRY5.hints
  projects/vnet/sys/mips/mips/locore.S
  projects/vnet/sys/mips/mips/nexus.c
  projects/vnet/sys/modules/hyperv/vmbus/Makefile
  projects/vnet/sys/modules/sfxge/Makefile
  projects/vnet/sys/net/if.h
  projects/vnet/sys/net/if_vlan.c
  projects/vnet/sys/net/if_vlan_var.h
  projects/vnet/sys/netinet/icmp6.h
  projects/vnet/sys/netpfil/ipfw/ip_fw_table_algo.c
  projects/vnet/sys/sys/bus.h
  projects/vnet/sys/sys/intr.h
  projects/vnet/sys/sys/priv.h
  projects/vnet/sys/sys/proc.h
  projects/vnet/sys/sys/soundcard.h
  projects/vnet/sys/x86/x86/local_apic.c
  projects/vnet/targets/pseudo/bootstrap-tools/Makefile
  projects/vnet/targets/pseudo/tests/Makefile.depend
  projects/vnet/targets/pseudo/userland/Makefile.depend
  projects/vnet/targets/pseudo/userland/lib/Makefile.depend
  projects/vnet/targets/pseudo/userland/libexec/Makefile.depend
  projects/vnet/tools/build/mk/OptionalObsoleteFiles.inc
  projects/vnet/tools/build/options/WITH_META_MODE
  projects/vnet/usr.bin/bmake/Makefile
  projects/vnet/usr.bin/elfcopy/Makefile
  projects/vnet/usr.bin/getent/getent.1
  projects/vnet/usr.bin/getent/getent.c
  projects/vnet/usr.bin/iscsictl/iscsictl.c
  projects/vnet/usr.sbin/acpi/iasl/Makefile
  projects/vnet/usr.sbin/bluetooth/btpand/btpand.c
  projects/vnet/usr.sbin/bsnmpd/bsnmpd/Makefile
  projects/vnet/usr.sbin/ctladm/ctladm.c
  projects/vnet/usr.sbin/ctld/ctld.h
  projects/vnet/usr.sbin/ctld/kernel.c
  projects/vnet/usr.sbin/ctld/login.c
  projects/vnet/usr.sbin/pw/pw_group.c
  projects/vnet/usr.sbin/pw/pw_user.c
Directory Properties:
  projects/vnet/   (props changed)
  projects/vnet/contrib/bmake/   (props changed)
  projects/vnet/contrib/elftoolchain/   (props changed)
  projects/vnet/contrib/elftoolchain/brandelf/   (props changed)
  projects/vnet/contrib/elftoolchain/elfdump/   (props changed)
  projects/vnet/contrib/libucl/   (props changed)
  projects/vnet/contrib/one-true-awk/   (props changed)
  projects/vnet/crypto/openssl/   (props changed)
  projects/vnet/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/vnet/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/vnet/Makefile
==============================================================================
--- projects/vnet/Makefile	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/Makefile	Mon Jun  6 10:21:53 2016	(r301499)
@@ -103,7 +103,9 @@
 
 # This is included so CC is set to ccache for -V, and COMPILER_TYPE/VERSION
 # can be cached for sub-makes.
+.if ${MAKE_VERSION} >= 20140620
 .include <bsd.compiler.mk>
+.endif
 
 # Note: we use this awkward construct to be compatible with FreeBSD's
 # old make used in 10.0 and 9.2 and earlier.
@@ -162,17 +164,26 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH
 # We cannot blindly use a make which may not be the one we want
 # so be exlicit - until all choice is removed.
 WANT_MAKE=	bmake
+.if !empty(.MAKE.MODE:Mmeta)
+# 20160604 - support missing-meta,missing-filemon and performance improvements
+WANT_MAKE_VERSION= 20160604
+.else
 # 20160220 - support .dinclude for FAST_DEPEND.
 WANT_MAKE_VERSION= 20160220
+.endif
 MYMAKE=		${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}/${WANT_MAKE}
 .if defined(.PARSEDIR)
 HAVE_MAKE=	bmake
 .else
 HAVE_MAKE=	fmake
 .endif
+.if ${HAVE_MAKE} != ${WANT_MAKE} || \
+    (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION})
+NEED_MAKE_UPGRADE= t
+.endif
 .if exists(${MYMAKE})
 SUB_MAKE:= ${MYMAKE} -m ${.CURDIR}/share/mk
-.elif ${WANT_MAKE} != ${HAVE_MAKE}
+.elif defined(NEED_MAKE_UPGRADE)
 # It may not exist yet but we may cause it to.
 # In the case of fmake, upgrade_checks may cause a newer version to be built.
 SUB_MAKE= `test -x ${MYMAKE} && echo ${MYMAKE} || echo ${MAKE}` \
@@ -313,8 +324,7 @@ kernel: buildkernel installkernel
 # for building the world.
 #
 upgrade_checks:
-.if ${HAVE_MAKE} != ${WANT_MAKE} || \
-    (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION})
+.if defined(NEED_MAKE_UPGRADE)
 	@${_+_}(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,})
 .endif
 

Modified: projects/vnet/Makefile.inc1
==============================================================================
--- projects/vnet/Makefile.inc1	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/Makefile.inc1	Mon Jun  6 10:21:53 2016	(r301499)
@@ -99,7 +99,7 @@ _expected_compiler_type=	gcc
 .if ${_expected_compiler_type} == "clang"
 CROSS_COMPILER_FREEBSD_VERSION!= \
 	awk '$$2 == "FREEBSD_CC_VERSION" {printf("%d\n", $$3)}' \
-	${SRCDIR}/lib/clang/include/clang/Basic/Version.inc || echo unknown
+	${SRCDIR}/lib/clang/freebsd_cc_version.h || echo unknown
 CROSS_COMPILER_VERSION!= \
 	awk '$$2 == "CLANG_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \
 	${SRCDIR}/lib/clang/include/clang/Basic/Version.inc || echo unknown
@@ -118,9 +118,6 @@ CROSS_COMPILER_VERSION!= \
 # Everything matches, disable the bootstrap compiler.
 MK_CLANG_BOOTSTRAP=	no
 MK_GCC_BOOTSTRAP=	no
-CROSSENV+=	COMPILER_VERSION=${COMPILER_VERSION} \
-		COMPILER_TYPE=${COMPILER_TYPE} \
-		COMPILER_FREEBSD_VERSION=${COMPILER_FREEBSD_VERSION}
 .if make(buildworld)
 .info SYSTEM_COMPILER: Determined that CC=${CC} matches the source tree.  Not bootstrapping a cross-compiler.
 .endif
@@ -128,6 +125,21 @@ CROSSENV+=	COMPILER_VERSION=${COMPILER_V
 .endif	# ${_expected_compiler_type} == ${COMPILER_TYPE}
 .endif	# ${XCC:N${CCACHE_BIN}:M/*}
 
+# For installworld need to ensure that the looked-up compiler metadata is
+# passed along rather than trying to run cc from the restricted
+# STRICTTMPPATH.
+.if ${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no"
+.if !defined(X_COMPILER_TYPE)
+CROSSENV+=	COMPILER_VERSION=${COMPILER_VERSION} \
+		COMPILER_TYPE=${COMPILER_TYPE} \
+		COMPILER_FREEBSD_VERSION=${COMPILER_FREEBSD_VERSION}
+.else
+CROSSENV+=	COMPILER_VERSION=${X_COMPILER_VERSION} \
+		COMPILER_TYPE=${X_COMPILER_TYPE} \
+		COMPILER_FREEBSD_VERSION=${X_COMPILER_FREEBSD_VERSION}
+.endif
+.endif
+
 # Handle external binutils.
 .if defined(CROSS_TOOLCHAIN_PREFIX)
 CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
@@ -419,6 +431,9 @@ PACKAGE=	kernel
 #
 
 BOOTSTRAPPING?=	0
+# Keep these in sync
+MINIMUM_SUPPORTED_OSREL?= 900044
+MINIMUM_SUPPORTED_REL?= 9.1
 
 # Common environment for world related stages
 CROSSENV+=	MAKEOBJDIRPREFIX=${OBJTREE} \
@@ -1500,8 +1515,8 @@ _elftoolchain_libs= lib/libelf lib/libdw
 .endif
 
 legacy: .PHONY
-.if ${BOOTSTRAPPING} < 800107 && ${BOOTSTRAPPING} != 0
-	@echo "ERROR: Source upgrades from versions prior to 8.0 are not supported."; \
+.if ${BOOTSTRAPPING} < ${MINIMUM_SUPPORTED_OSREL} && ${BOOTSTRAPPING} != 0
+	@echo "ERROR: Source upgrades from versions prior to ${MINIMUM_SUPPORTED_REL} are not supported."; \
 	false
 .endif
 .for _tool in tools/build ${_elftoolchain_libs}
@@ -1509,8 +1524,9 @@ legacy: .PHONY
 	    cd ${.CURDIR}/${_tool}; \
 	    ${MAKE} DIRPRFX=${_tool}/ obj; \
 	    ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy includes; \
-	    ${MAKE} DIRPRFX=${_tool}/ all; \
-	    ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install
+	    ${MAKE} DIRPRFX=${_tool}/ MK_INCLUDES=no all; \
+	    ${MAKE} DIRPRFX=${_tool}/ MK_INCLUDES=no \
+	        DESTDIR=${MAKEOBJDIRPREFIX}/legacy install
 .endfor
 
 #

Modified: projects/vnet/bin/sh/Makefile
==============================================================================
--- projects/vnet/bin/sh/Makefile	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/bin/sh/Makefile	Mon Jun  6 10:21:53 2016	(r301499)
@@ -39,6 +39,7 @@ CLEANFILES+= ${GENSRCS} ${GENHDRS}
 build-tools: mknodes mksyntax
 
 .ORDER: builtins.c builtins.h
+builtins.h: .NOMETA
 builtins.c builtins.h: mkbuiltins builtins.def
 	sh ${.CURDIR}/mkbuiltins ${.CURDIR}
 
@@ -51,10 +52,12 @@ mknodes: mknodes.o ${BUILD_TOOLS_META}
 mksyntax: mksyntax.o ${BUILD_TOOLS_META}
 
 .ORDER: nodes.c nodes.h
+nodes.h: .NOMETA
 nodes.c nodes.h: mknodes nodetypes nodes.c.pat
 	${BTOOLSPATH:U.}/mknodes ${.CURDIR}/nodetypes ${.CURDIR}/nodes.c.pat
 
 .ORDER: syntax.c syntax.h
+syntax.h: .NOMETA
 syntax.c syntax.h: mksyntax
 	${BTOOLSPATH:U.}/mksyntax
 

Modified: projects/vnet/bin/sh/miscbltin.c
==============================================================================
--- projects/vnet/bin/sh/miscbltin.c	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/bin/sh/miscbltin.c	Mon Jun  6 10:21:53 2016	(r301499)
@@ -406,7 +406,7 @@ static const struct limits limits[] = {
 	{ "swap limit",		"kbytes",	RLIMIT_SWAP,	1024, 'w' },
 #endif
 #ifdef RLIMIT_SBSIZE
-	{ "sbsize",		"bytes",	RLIMIT_SBSIZE,	   1, 'b' },
+	{ "socket buffer size",	"bytes",	RLIMIT_SBSIZE,	   1, 'b' },
 #endif
 #ifdef RLIMIT_NPTS
 	{ "pseudo-terminals",	(char *)0,	RLIMIT_NPTS,	   1, 'p' },
@@ -415,7 +415,7 @@ static const struct limits limits[] = {
 	{ "kqueues",		(char *)0,	RLIMIT_KQUEUES,	   1, 'k' },
 #endif
 #ifdef RLIMIT_UMTXP
-	{ "umtxp",		(char *)0,	RLIMIT_UMTXP,	   1, 'o' },
+	{ "umtx shared locks",	(char *)0,	RLIMIT_UMTXP,	   1, 'o' },
 #endif
 	{ (char *) 0,		(char *)0,	0,		   0, '\0' }
 };

Modified: projects/vnet/contrib/bmake/ChangeLog
==============================================================================
--- projects/vnet/contrib/bmake/ChangeLog	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/ChangeLog	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,3 +1,26 @@
+2016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* Makefile (_MAKE_VERSION): 20160604
+	  Merge with NetBSD make, pick up
+	  o meta.c: missing filemon data is only relevant if we read a
+	    meta file.
+	    Also do not return oodate for a missing metafile if gn->path
+	    points to .CURDIR
+	
+2016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* Makefile (_MAKE_VERSION): 20160602
+	  Merge with NetBSD make, pick up
+	  o cached_realpath(): avoid hitting filesystem more than necessary.
+	  o meta.c: refactor need_meta decision, add knobs for 
+	    missing meta file and filemon data wrt out-of-datedness.
+
+2016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* Makefile (_MAKE_VERSION): 20160528
+
+	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 
+
 2016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
 
 	* Makefile (_MAKE_VERSION): 20160512

Modified: projects/vnet/contrib/bmake/Makefile
==============================================================================
--- projects/vnet/contrib/bmake/Makefile	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/Makefile	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,7 +1,7 @@
-#	$Id: Makefile,v 1.63 2016/05/12 20:34:46 sjg Exp $
+#	$Id: Makefile,v 1.66 2016/06/04 22:21:15 sjg Exp $
 
 # Base version on src date
-_MAKE_VERSION= 20160512
+_MAKE_VERSION= 20160604
 
 PROG=	bmake
 

Modified: projects/vnet/contrib/bmake/bmake.1
==============================================================================
--- projects/vnet/contrib/bmake/bmake.1	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/bmake.1	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-.\"	$NetBSD: make.1,v 1.257 2016/05/10 23:45:45 sjg Exp $
+.\"	$NetBSD: make.1,v 1.259 2016/06/03 07:07:37 wiz Exp $
 .\"
 .\" Copyright (c) 1990, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -29,7 +29,7 @@
 .\"
 .\"	from: @(#)make.1	8.4 (Berkeley) 3/19/94
 .\"
-.Dd May 10, 2016
+.Dd June 2, 2016
 .Dt MAKE 1
 .Os
 .Sh NAME
@@ -846,7 +846,7 @@ Can affect the mode that
 .Nm
 runs in.
 It can contain a number of keywords:
-.Bl -hang -width ignore-cmd
+.Bl -hang -width missing-filemon=bf.
 .It Pa compat
 Like
 .Fl B ,
@@ -870,6 +870,17 @@ will not create .meta files in
 This can be overridden by setting
 .Va bf
 to a value which represents True.
+.It Pa missing-meta= Ar bf
+If
+.Va bf
+is True, then a missing .meta file makes the target out-of-date.
+.It Pa missing-filemon= Ar bf
+If
+.Va bf
+is True, then missing filemon data makes the target out-of-date.
+.It Pa nofilemon
+Do not use
+.Xr filemon 4 .
 .It Pa env
 For debugging, it can be useful to include the environment
 in the .meta file.

Modified: projects/vnet/contrib/bmake/bmake.cat1
==============================================================================
--- projects/vnet/contrib/bmake/bmake.cat1	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/bmake.cat1	Mon Jun  6 10:21:53 2016	(r301499)
@@ -531,37 +531,51 @@ VVAARRIIAABBLLEE AASSSSIIGG
                      mode that bbmmaakkee runs in.  It can contain a number of key-
                      words:
 
-                     _c_o_m_p_a_t      Like --BB, puts bbmmaakkee into "compat" mode.
+                     _c_o_m_p_a_t               Like --BB, puts bbmmaakkee into "compat"
+                                          mode.
 
-                     _m_e_t_a        Puts bbmmaakkee into "meta" mode, where meta files
-                                 are created for each target to capture the
-                                 command run, the output generated and if
-                                 filemon(4) is available, the system calls
-                                 which are of interest to bbmmaakkee.  The captured
-                                 output can be very useful when diagnosing
-                                 errors.
-
-                     _c_u_r_d_i_r_O_k_= _b_f Normally bbmmaakkee will not create .meta files
-                                 in `_._C_U_R_D_I_R'.  This can be overridden by set-
-                                 ting _b_f to a value which represents True.
-
-                     _e_n_v         For debugging, it can be useful to include
-                                 the environment in the .meta file.
-
-                     _v_e_r_b_o_s_e     If in "meta" mode, print a clue about the
-                                 target being built.  This is useful if the
-                                 build is otherwise running silently.  The
-                                 message printed the value of:
-                                 _._M_A_K_E_._M_E_T_A_._P_R_E_F_I_X.
-
-                     _i_g_n_o_r_e_-_c_m_d  Some makefiles have commands which are simply
-                                 not stable.  This keyword causes them to be
-                                 ignored for determining whether a target is
-                                 out of date in "meta" mode.  See also
-                                 ..NNOOMMEETTAA__CCMMPP.
+                     _m_e_t_a                 Puts bbmmaakkee into "meta" mode, where
+                                          meta files are created for each tar-
+                                          get to capture the command run, the
+                                          output generated and if filemon(4)
+                                          is available, the system calls which
+                                          are of interest to bbmmaakkee.  The cap-
+                                          tured output can be very useful when
+                                          diagnosing errors.
+
+                     _c_u_r_d_i_r_O_k_= _b_f         Normally bbmmaakkee will not create .meta
+                                          files in `_._C_U_R_D_I_R'.  This can be
+                                          overridden by setting _b_f to a value
+                                          which represents True.
+
+                     _m_i_s_s_i_n_g_-_m_e_t_a_= _b_f     If _b_f is True, then a missing .meta
+                                          file makes the target out-of-date.
+
+                     _m_i_s_s_i_n_g_-_f_i_l_e_m_o_n_= _b_f  If _b_f is True, then missing filemon
+                                          data makes the target out-of-date.
+
+                     _n_o_f_i_l_e_m_o_n            Do not use filemon(4).
+
+                     _e_n_v                  For debugging, it can be useful to
+                                          include the environment in the .meta
+                                          file.
+
+                     _v_e_r_b_o_s_e              If in "meta" mode, print a clue
+                                          about the target being built.  This
+                                          is useful if the build is otherwise
+                                          running silently.  The message
+                                          printed the value of:
+                                          _._M_A_K_E_._M_E_T_A_._P_R_E_F_I_X.
+
+                     _i_g_n_o_r_e_-_c_m_d           Some makefiles have commands which
+                                          are simply not stable.  This keyword
+                                          causes them to be ignored for deter-
+                                          mining whether a target is out of
+                                          date in "meta" mode.  See also
+                                          ..NNOOMMEETTAA__CCMMPP.
 
-                     _s_i_l_e_n_t_= _b_f  If _b_f is True, when a .meta file is created,
-                                 mark the target ..SSIILLEENNTT.
+                     _s_i_l_e_n_t_= _b_f           If _b_f is True, when a .meta file is
+                                          created, mark the target ..SSIILLEENNTT.
 
      _._M_A_K_E_._M_E_T_A_._B_A_I_L_I_W_I_C_K
                      In "meta" mode, provides a list of prefixes which match
@@ -1475,4 +1489,4 @@ BBUUGGSS
 
      There is no way of escaping a space character in a filename.
 
-NetBSD 5.1                       May 10, 2016                       NetBSD 5.1
+NetBSD 5.1                       June 2, 2016                       NetBSD 5.1

Modified: projects/vnet/contrib/bmake/boot-strap
==============================================================================
--- projects/vnet/contrib/bmake/boot-strap	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/boot-strap	Mon Jun  6 10:21:53 2016	(r301499)
@@ -111,7 +111,7 @@
 #	Simon J. Gerraty <sjg@crufty.net>
 
 # RCSid:
-#	$Id: boot-strap,v 1.48 2015/10/25 05:20:48 sjg Exp $
+#	$Id: boot-strap,v 1.49 2016/05/29 00:09:14 sjg Exp $
 #
 #	@(#) Copyright (c) 2001 Simon J. Gerraty
 #
@@ -451,7 +451,7 @@ op_all() {
 		op_install
 	else
 		op_test
-		MAKE_VERSION=`sed -n '/^MAKE_VERSION/ { s,.*=  *,,;p; }' $srcdir/Makefile`
+		MAKE_VERSION=`sed -n '/^_MAKE_VERSION/ { s,.*=  *,,;p; }' $srcdir/Makefile`
 		echo You can install by running:
 		echo
 		echo $0 $cmd_args op=install

Modified: projects/vnet/contrib/bmake/main.c
==============================================================================
--- projects/vnet/contrib/bmake/main.c	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/main.c	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $	*/
+/*	$NetBSD: main.c,v 1.245 2016/06/03 01:21:59 sjg Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.245 2016/06/03 01:21:59 sjg Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
@@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19
 #if 0
 static char sccsid[] = "@(#)main.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $");
+__RCSID("$NetBSD: main.c,v 1.245 2016/06/03 01:21:59 sjg Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -1014,7 +1014,7 @@ main(int argc, char **argv)
 	    /*
 	     * A relative path, canonicalize it.
 	     */
-	    p1 = realpath(argv[0], mdpath);
+	    p1 = cached_realpath(argv[0], mdpath);
 	    if (!p1 || *p1 != '/' || stat(p1, &sb) < 0) {
 		p1 = argv[0];		/* realpath failed */
 	    }
@@ -1884,6 +1884,40 @@ usage(void)
 }
 
 
+/*
+ * realpath(3) can get expensive, cache results...
+ */
+char *
+cached_realpath(const char *pathname, char *resolved)
+{
+    static GNode *cache;
+    char *rp, *cp;
+
+    if (!pathname || !pathname[0])
+	return NULL;
+
+    if (!cache) {
+	cache = Targ_NewGN("Realpath");
+#ifndef DEBUG_REALPATH_CACHE
+	cache->flags = INTERNAL;
+#endif
+    }
+
+    rp = Var_Value(pathname, cache, &cp);
+    if (rp) {
+	/* a hit */
+	if (resolved)
+	    strlcpy(resolved, rp, MAXPATHLEN);
+	else
+	    resolved = bmake_strdup(rp);
+    } else {
+	if ((rp = realpath(pathname, resolved))) {
+	    Var_Set(pathname, rp, cache, 0);
+	}
+    }
+    return rp ? resolved : NULL;
+}
+
 int
 PrintAddr(void *a, void *b)
 {

Modified: projects/vnet/contrib/bmake/make-bootstrap.sh.in
==============================================================================
--- projects/vnet/contrib/bmake/make-bootstrap.sh.in	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/make-bootstrap.sh.in	Mon Jun  6 10:21:53 2016	(r301499)
@@ -13,7 +13,7 @@ esac
 CC="@CC@"
 CFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@"
 
-MAKE_VERSION=`sed -n '/^MAKE_VERSION=/s,.*=[^0-9]*,,p' $srcdir/Makefile`
+MAKE_VERSION=`sed -n '/^_MAKE_VERSION=/s,.*=[^0-9]*,,p' $srcdir/Makefile`
 
 MDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \
 -D@force_machine@MACHINE=\"@machine@\" -DMACHINE_ARCH=\"@machine_arch@\" \

Modified: projects/vnet/contrib/bmake/make.1
==============================================================================
--- projects/vnet/contrib/bmake/make.1	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/make.1	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-.\"	$NetBSD: make.1,v 1.257 2016/05/10 23:45:45 sjg Exp $
+.\"	$NetBSD: make.1,v 1.259 2016/06/03 07:07:37 wiz Exp $
 .\"
 .\" Copyright (c) 1990, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -29,7 +29,7 @@
 .\"
 .\"	from: @(#)make.1	8.4 (Berkeley) 3/19/94
 .\"
-.Dd May 10, 2016
+.Dd June 2, 2016
 .Dt MAKE 1
 .Os
 .Sh NAME
@@ -857,7 +857,7 @@ Can affect the mode that
 .Nm
 runs in.
 It can contain a number of keywords:
-.Bl -hang -width ignore-cmd
+.Bl -hang -width missing-filemon=bf.
 .It Pa compat
 Like
 .Fl B ,
@@ -881,6 +881,17 @@ will not create .meta files in
 This can be overridden by setting
 .Va bf
 to a value which represents True.
+.It Pa missing-meta= Ar bf
+If
+.Va bf
+is True, then a missing .meta file makes the target out-of-date.
+.It Pa missing-filemon= Ar bf
+If
+.Va bf
+is True, then missing filemon data makes the target out-of-date.
+.It Pa nofilemon
+Do not use
+.Xr filemon 4 .
 .It Pa env
 For debugging, it can be useful to include the environment
 in the .meta file.

Modified: projects/vnet/contrib/bmake/make.h
==============================================================================
--- projects/vnet/contrib/bmake/make.h	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/make.h	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-/*	$NetBSD: make.h,v 1.98 2016/02/18 18:29:14 christos Exp $	*/
+/*	$NetBSD: make.h,v 1.99 2016/06/03 01:21:59 sjg Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -199,6 +199,7 @@ typedef struct GNode {
 #define DONE_ALLSRC	0x40	/* We do it once only */
 #define CYCLE		0x1000  /* Used by MakePrintStatus */
 #define DONECYCLE	0x2000  /* Used by MakePrintStatus */
+#define INTERNAL	0x4000	/* Internal use only */
     enum enum_made {
 	UNMADE, DEFERRED, REQUESTED, BEINGMADE,
 	MADE, UPTODATE, ERROR, ABORTED

Modified: projects/vnet/contrib/bmake/meta.c
==============================================================================
--- projects/vnet/contrib/bmake/meta.c	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/meta.c	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.57 2016/05/12 20:28:34 sjg Exp $ */
+/*      $NetBSD: meta.c,v 1.60 2016/06/04 22:17:14 sjg Exp $ */
 
 /*
  * Implement 'meta' mode.
@@ -73,6 +73,8 @@ static char *metaIgnorePathsStr;	/* stri
 Boolean useMeta = FALSE;
 static Boolean useFilemon = FALSE;
 static Boolean writeMeta = FALSE;
+static Boolean metaMissing = FALSE;	/* oodate if missing */
+static Boolean filemonMissing = FALSE;	/* oodate if missing */
 static Boolean metaEnv = FALSE;		/* don't save env unless asked */
 static Boolean metaVerbose = FALSE;
 static Boolean metaIgnoreCMDs = FALSE;	/* ignore CMDs in .meta files */
@@ -237,24 +239,13 @@ eat_dots(char *buf, size_t bufsz, int do
 static char *
 meta_name(struct GNode *gn, char *mname, size_t mnamelen,
 	  const char *dname,
-	  const char *tname)
+	  const char *tname,
+	  const char *cwd)
 {
     char buf[MAXPATHLEN];
-    char cwd[MAXPATHLEN];
     char *rp;
     char *cp;
     char *tp;
-    char *p[4];				/* >= number of possible uses */
-    int i;
-
-    i = 0;
-    if (!dname)
-	dname = Var_Value(".OBJDIR", gn, &p[i++]);
-    if (!tname)
-	tname = Var_Value(TARGET, gn, &p[i++]);
-
-    if (realpath(dname, cwd))
-	dname = cwd;
 
     /*
      * Weed out relative paths from the target file name.
@@ -264,7 +255,7 @@ meta_name(struct GNode *gn, char *mname,
      * basename as given to us.
      */
     if ((cp = strrchr(tname, '/'))) {
-	if (realpath(tname, buf)) {
+	if (cached_realpath(tname, buf)) {
 	    if ((rp = strrchr(buf, '/'))) {
 		rp++;
 		cp++;
@@ -309,9 +300,6 @@ meta_name(struct GNode *gn, char *mname,
 	}
     }
     free(tp);
-    for (i--; i >= 0; i--) {
-	free(p[i]);
-    }
     return (mname);
 }
 
@@ -391,29 +379,26 @@ printCMD(void *cmdp, void *mfpp)
  */
 #define SKIP_META_TYPE(_type) do { \
     if ((gn->type & __CONCAT(OP_, _type))) {	\
-	if (DEBUG(META)) { \
+	if (verbose) { \
 	    fprintf(debug_file, "Skipping meta for %s: .%s\n", \
 		    gn->name, __STRING(_type));		       \
 	} \
-	return (NULL); \
+	return FALSE; \
     } \
 } while (0)
 
-static FILE *
-meta_create(BuildMon *pbm, GNode *gn)
+
+/*
+ * Do we need/want a .meta file ?
+ */
+static Boolean
+meta_needed(GNode *gn, const char *dname, const char *tname,
+	     char *objdir, int verbose)
 {
-    meta_file_t mf;
-    char buf[MAXPATHLEN];
-    char objdir[MAXPATHLEN];
-    char **ptr;
-    const char *dname;
-    const char *tname;
-    char *fname;
-    const char *cp;
-    char *p[4];				/* >= possible uses */
-    int i;
     struct stat fs;
 
+    if (verbose)
+	verbose = DEBUG(META);
     
     /* This may be a phony node which we don't want meta data for... */
     /* Skip .meta for .BEGIN, .END, .ERROR etc as well. */
@@ -426,48 +411,70 @@ meta_create(BuildMon *pbm, GNode *gn)
 	SKIP_META_TYPE(MAKE);
     }
 
-    mf.fp = NULL;
-    
-    i = 0;
-    
-    dname = Var_Value(".OBJDIR", gn, &p[i++]);
-    tname = Var_Value(TARGET, gn, &p[i++]);
-    
-    /* The object directory may not exist. Check it.. */
-    if (stat(dname, &fs) != 0) {
-	if (DEBUG(META))
-	    fprintf(debug_file, "Skipping meta for %s: no .OBJDIR\n",
-		    gn->name);
-	goto out;
-    }
     /* Check if there are no commands to execute. */
     if (Lst_IsEmpty(gn->commands)) {
-	if (DEBUG(META))
+	if (verbose)
 	    fprintf(debug_file, "Skipping meta for %s: no commands\n",
 		    gn->name);
-	goto out;
+	return FALSE;
+    }
+    if ((gn->type & (OP_META|OP_SUBMAKE)) == OP_SUBMAKE) {
+	/* OP_SUBMAKE is a bit too aggressive */
+	if (Lst_ForEach(gn->commands, is_submake, gn)) {
+	    if (DEBUG(META))
+		fprintf(debug_file, "Skipping meta for %s: .SUBMAKE\n",
+			gn->name);
+	    return FALSE;
+	}
+    }
+
+    /* The object directory may not exist. Check it.. */
+    if (stat(dname, &fs) != 0) {
+	if (verbose)
+	    fprintf(debug_file, "Skipping meta for %s: no .OBJDIR\n",
+		    gn->name);
+	return FALSE;
     }
 
     /* make sure these are canonical */
-    if (realpath(dname, objdir))
+    if (cached_realpath(dname, objdir))
 	dname = objdir;
 
     /* If we aren't in the object directory, don't create a meta file. */
     if (!metaCurdirOk && strcmp(curdir, dname) == 0) {
-	if (DEBUG(META))
+	if (verbose)
 	    fprintf(debug_file, "Skipping meta for %s: .OBJDIR == .CURDIR\n",
 		    gn->name);
-	goto out;
-    }
-    if (!(gn->type & OP_META)) {
-	/* We do not generate .meta files for sub-makes */
-	if (Lst_ForEach(gn->commands, is_submake, gn)) {
-	    if (DEBUG(META))
-		fprintf(debug_file, "Skipping meta for %s: .MAKE\n",
-			gn->name);
-	    goto out;
-	}
+	return FALSE;
     }
+    return TRUE;
+}
+
+    
+static FILE *
+meta_create(BuildMon *pbm, GNode *gn)
+{
+    meta_file_t mf;
+    char buf[MAXPATHLEN];
+    char objdir[MAXPATHLEN];
+    char **ptr;
+    const char *dname;
+    const char *tname;
+    char *fname;
+    const char *cp;
+    char *p[4];				/* >= possible uses */
+    int i;
+
+    mf.fp = NULL;
+    i = 0;
+
+    dname = Var_Value(".OBJDIR", gn, &p[i++]);
+    tname = Var_Value(TARGET, gn, &p[i++]);
+
+    /* if this succeeds objdir is realpath of dname */
+    if (!meta_needed(gn, dname, tname, objdir, TRUE))
+	goto out;
+    dname = objdir;
 
     if (metaVerbose) {
 	char *mp;
@@ -492,7 +499,7 @@ meta_create(BuildMon *pbm, GNode *gn)
 	goto out;
 
     fname = meta_name(gn, pbm->meta_fname, sizeof(pbm->meta_fname),
-		      dname, tname);
+		      dname, tname, objdir);
 
 #ifdef DEBUG_META_MODE
     if (DEBUG(META))
@@ -561,6 +568,10 @@ meta_init(void)
 }
 
 
+#define get_mode_bf(bf, token) \
+    if ((cp = strstr(make_mode, token))) \
+	bf = boolValue(&cp[sizeof(token) - 1])
+
 /*
  * Initialization we need after reading makefiles.
  */
@@ -583,17 +594,13 @@ meta_mode_init(const char *make_mode)
 	    writeMeta = FALSE;
 	if (strstr(make_mode, "nofilemon"))
 	    useFilemon = FALSE;
-	if ((cp = strstr(make_mode, "curdirok="))) {
-	    metaCurdirOk = boolValue(&cp[9]);
-	}
-	if ((cp = strstr(make_mode, "silent="))) {
-	    metaSilent = boolValue(&cp[7]);
-	}
 	if (strstr(make_mode, "ignore-cmd"))
 	    metaIgnoreCMDs = TRUE;
-	/* for backwards compatability */
-	Var_Set(".MAKE.META_CREATED", "${.MAKE.META.CREATED}", VAR_GLOBAL, 0);
-	Var_Set(".MAKE.META_FILES", "${.MAKE.META.FILES}", VAR_GLOBAL, 0);
+	if (useFilemon)
+	    get_mode_bf(filemonMissing, "missing-filemon=");
+	get_mode_bf(metaCurdirOk, "curdirok=");
+	get_mode_bf(metaMissing, "missing-meta=");
+	get_mode_bf(metaSilent, "silent=");
     }
     if (metaVerbose && !Var_Exists(MAKE_META_PREFIX, VAR_GLOBAL)) {
 	/*
@@ -921,6 +928,8 @@ meta_oodate(GNode *gn, Boolean oodate)
     char fname1[MAXPATHLEN];
     char fname2[MAXPATHLEN];
     char fname3[MAXPATHLEN];
+    const char *dname;
+    const char *tname;
     char *p;
     char *cp;
     char *link_src;
@@ -930,10 +939,23 @@ meta_oodate(GNode *gn, Boolean oodate)
     FILE *fp;
     Boolean needOODATE = FALSE;
     Lst missingFiles;
-    
+    char *pa[4];			/* >= possible uses */
+    int i;
+    int have_filemon = FALSE;
+
     if (oodate)
 	return oodate;		/* we're done */
 
+    i = 0;
+
+    dname = Var_Value(".OBJDIR", gn, &pa[i++]);
+    tname = Var_Value(TARGET, gn, &pa[i++]);
+
+    /* if this succeeds fname3 is realpath of dname */
+    if (!meta_needed(gn, dname, tname, fname3, FALSE))
+	goto oodate_out;
+    dname = fname3;
+
     missingFiles = Lst_Init(FALSE);
 
     /*
@@ -944,7 +966,7 @@ meta_oodate(GNode *gn, Boolean oodate)
      */
     Make_DoAllVar(gn);
 
-    meta_name(gn, fname, sizeof(fname), NULL, NULL);
+    meta_name(gn, fname, sizeof(fname), dname, tname, dname);
 
 #ifdef DEBUG_META_MODE
     if (DEBUG(META))
@@ -957,7 +979,6 @@ meta_oodate(GNode *gn, Boolean oodate)
 	int lineno = 0;
 	int lastpid = 0;
 	int pid;
-	int f = 0;
 	int x;
 	LstNode ln;
 	struct stat fs;
@@ -996,13 +1017,13 @@ meta_oodate(GNode *gn, Boolean oodate)
 	    link_src = NULL;
 	    move_target = NULL;
 	    /* Find the start of the build monitor section. */
-	    if (!f) {
+	    if (!have_filemon) {
 		if (strncmp(buf, "-- filemon", 10) == 0) {
-		    f = 1;
+		    have_filemon = TRUE;
 		    continue;
 		}
 		if (strncmp(buf, "# buildmon", 10) == 0) {
-		    f = 1;
+		    have_filemon = TRUE;
 		    continue;
 		}
 	    }		    
@@ -1014,7 +1035,7 @@ meta_oodate(GNode *gn, Boolean oodate)
 		fprintf(debug_file, "%s: %d: %s\n", fname, lineno, buf);
 #endif
 	    strsep(&p, " ");
-	    if (f) {
+	    if (have_filemon) {
 		/*
 		 * We are in the 'filemon' output section.
 		 * Each record from filemon follows the general form:
@@ -1239,7 +1260,7 @@ meta_oodate(GNode *gn, Boolean oodate)
 		     * they are _expected_ to change.
 		     */
 		    if (*p == '/') {
-			realpath(p, fname1); /* clean it up */
+			cached_realpath(p, fname1); /* clean it up */
 			if (Lst_ForEach(metaIgnorePaths, prefix_match, fname1)) {
 #ifdef DEBUG_META_MODE
 			    if (DEBUG(META))
@@ -1324,7 +1345,7 @@ meta_oodate(GNode *gn, Boolean oodate)
 				oodate = TRUE;
 			    } else if (S_ISDIR(fs.st_mode)) {
 				/* Update the latest directory. */
-				realpath(p, latestdir);
+				cached_realpath(p, latestdir);
 			    }
 			} else if (errno == ENOENT && *p == '/' &&
 				   strncmp(p, cwd, cwdlen) != 0) {
@@ -1434,12 +1455,27 @@ meta_oodate(GNode *gn, Boolean oodate)
 			fname, (char *)Lst_Datum(Lst_First(missingFiles)));
 	    oodate = TRUE;
 	}
-    } else {
-	if ((gn->type & OP_META)) {
+	if (!oodate && !have_filemon && filemonMissing) {
 	    if (DEBUG(META))
-		fprintf(debug_file, "%s: required but missing\n", fname);
+		fprintf(debug_file, "%s: missing filemon data\n", fname);
 	    oodate = TRUE;
 	}
+    } else {
+	if (writeMeta && metaMissing) {
+	    cp = NULL;
+
+	    /* if target is in .CURDIR we do not need a meta file */
+	    if (gn->path && (cp = strrchr(gn->path, '/')) && cp > gn->path) {
+		if (strncmp(curdir, gn->path, (cp - gn->path)) != 0) {
+		    cp = NULL;		/* not in .CURDIR */
+		}
+	    }
+	    if (!cp) {
+		if (DEBUG(META))
+		    fprintf(debug_file, "%s: required but missing\n", fname);
+		oodate = TRUE;
+	    }
+	}
     }
 
     Lst_Destroy(missingFiles, (FreeProc *)free);
@@ -1454,6 +1490,11 @@ meta_oodate(GNode *gn, Boolean oodate)
 	Var_Set(OODATE, Var_Value(ALLSRC, gn, &cp), gn, 0);
 	free(cp);
     }
+
+ oodate_out:
+    for (i--; i >= 0; i--) {
+	free(pa[i]);
+    }
     return oodate;
 }
 

Modified: projects/vnet/contrib/bmake/mk/ChangeLog
==============================================================================
--- projects/vnet/contrib/bmake/mk/ChangeLog	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/mk/ChangeLog	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,3 +1,16 @@
+2016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* install-mk (MK_VERSION): 20160602
+	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
+	  do not apply :T to META_XTRAS
+	  patch from Bryan Drewery at FreeBSD.org.
+
+2016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* install-mk (MK_VERSION): 20160530
+	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
+	  make it so.
+	
 2016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
 
 	* install-mk (MK_VERSION): 20160512

Modified: projects/vnet/contrib/bmake/mk/dpadd.mk
==============================================================================
--- projects/vnet/contrib/bmake/mk/dpadd.mk	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/mk/dpadd.mk	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-# $Id: dpadd.mk,v 1.21 2016/05/18 20:54:55 sjg Exp $
+# $Id: dpadd.mk,v 1.22 2016/05/31 23:30:59 sjg Exp $
 #
 #	@(#) Copyright (c) 2004, Simon J. Gerraty
 #
@@ -100,7 +100,7 @@ __dpadd_libs := ${DPADD:M*/lib*}
 
 # Order -L's to search ours first.
 # Avoids picking up old versions already installed.
-__dpadd_libdirs := ${__dpadd_libs}:R:H:S/^/-L/g:O:u:N-L}
+__dpadd_libdirs := ${__dpadd_libs:R:H:S/^/-L/g:O:u:N-L}
 LDADD += ${__dpadd_libdirs:M-L${OBJTOP}/*}
 LDADD += ${__dpadd_libdirs:N-L${OBJTOP}/*:N-L${HOST_LIBDIR:U/usr/lib}}
 .if defined(HOST_LIBDIR) && ${HOST_LIBDIR} != "/usr/lib"

Modified: projects/vnet/contrib/bmake/mk/install-mk
==============================================================================
--- projects/vnet/contrib/bmake/mk/install-mk	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/mk/install-mk	Mon Jun  6 10:21:53 2016	(r301499)
@@ -55,7 +55,7 @@
 #       Simon J. Gerraty <sjg@crufty.net>
 
 # RCSid:
-#	$Id: install-mk,v 1.126 2016/05/18 20:54:55 sjg Exp $
+#	$Id: install-mk,v 1.128 2016/06/03 17:22:32 sjg Exp $
 #
 #	@(#) Copyright (c) 1994 Simon J. Gerraty
 #
@@ -70,7 +70,7 @@
 #	sjg@crufty.net
 #
 
-MK_VERSION=20160512
+MK_VERSION=20160602
 OWNER=
 GROUP=
 MODE=444

Modified: projects/vnet/contrib/bmake/mk/meta.autodep.mk
==============================================================================
--- projects/vnet/contrib/bmake/mk/meta.autodep.mk	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/mk/meta.autodep.mk	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-# $Id: meta.autodep.mk,v 1.44 2016/04/07 17:00:38 sjg Exp $
+# $Id: meta.autodep.mk,v 1.45 2016/06/03 17:22:32 sjg Exp $
 
 #
 #	@(#) Copyright (c) 2010, Simon J. Gerraty
@@ -266,7 +266,7 @@ ${_DEPENDFILE}: ${_depend} ${.PARSEDIR}/
 	DPADD='${FORCE_DPADD:O:u}' ${_gendirdeps_mutex} \
 	MAKESYSPATH=${_makesyspath} \
 	${.MAKE} -f gendirdeps.mk RELDIR=${RELDIR} _DEPENDFILE=${_DEPENDFILE} \
-	META_FILES='${META_XTRAS:T:O:u} ${META_FILES:T:O:u:${META_FILE_FILTER:ts:}}')
+	META_FILES='${META_XTRAS:O:u} ${META_FILES:T:O:u:${META_FILE_FILTER:ts:}}')
 	@test -s $@ && touch $@; :
 .endif
 

Modified: projects/vnet/contrib/bmake/mk/meta.stage.mk
==============================================================================
--- projects/vnet/contrib/bmake/mk/meta.stage.mk	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/mk/meta.stage.mk	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-# $Id: meta.stage.mk,v 1.44 2016/03/16 18:21:23 sjg Exp $
+# $Id: meta.stage.mk,v 1.45 2016/05/26 03:59:09 sjg Exp $
 #
 #	@(#) Copyright (c) 2011, Simon J. Gerraty
 #
@@ -270,6 +270,8 @@ beforeinstall: .dirdep
 .NOPATH: ${STAGE_FILES}
 
 .if !empty(STAGE_TARGETS)
+.NOPATH: ${CLEANFILES}
+
 MK_STALE_STAGED?= no
 .if ${MK_STALE_STAGED} == "yes"
 all: stale_staged

Modified: projects/vnet/contrib/bmake/nonints.h
==============================================================================
--- projects/vnet/contrib/bmake/nonints.h	Mon Jun  6 10:13:48 2016	(r301498)
+++ projects/vnet/contrib/bmake/nonints.h	Mon Jun  6 10:21:53 2016	(r301499)
@@ -1,4 +1,4 @@
-/*	$NetBSD: nonints.h,v 1.72 2016/02/18 20:25:08 sjg Exp $	*/
+/*	$NetBSD: nonints.h,v 1.73 2016/06/03 01:21:59 sjg Exp $	*/
 
 /*-
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -122,6 +122,7 @@ void execError(const char *, const char 
 char *getTmpdir(void);
 Boolean s2Boolean(const char *, Boolean);
 Boolean getBoolean(const char *, Boolean);
+char *cached_realpath(const char *, char *);
 
 /* parse.c */
 void Parse_Error(int, const char *, ...) MAKE_ATTR_PRINTFLIKE(2, 3);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@freebsd.org  Mon Jun  6 14:05:55 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id C4685B6BF3E
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 14:05:55 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9632A1251;
 Mon,  6 Jun 2016 14:05:55 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56E5sDJ059328;
 Mon, 6 Jun 2016 14:05:54 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56E5sXf059326;
 Mon, 6 Jun 2016 14:05:54 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606061405.u56E5sXf059326@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 14:05:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301509 - projects/vnet/sys/net
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 14:05:55 -0000

Author: bz
Date: Mon Jun  6 14:05:54 2016
New Revision: 301509
URL: https://svnweb.freebsd.org/changeset/base/301509

Log:
  MfH @r301508
  
  Get some more "noise" out of the diff.   There should be more though.
  Not sure why the merge did not pick this up.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/if.c
  projects/vnet/sys/net/pfil.c
Directory Properties:
  projects/vnet/   (props changed)

Modified: projects/vnet/sys/net/if.c
==============================================================================
--- projects/vnet/sys/net/if.c	Mon Jun  6 14:01:09 2016	(r301508)
+++ projects/vnet/sys/net/if.c	Mon Jun  6 14:05:54 2016	(r301509)
@@ -848,7 +848,7 @@ if_purgeaddrs(struct ifnet *ifp)
 {
 	struct ifaddr *ifa, *next;
 
-	/* XXX IF_ADDR_R/WLOCK */
+	/* XXX cannot hold IF_ADDR_WLOCK over called functions. */
 	TAILQ_FOREACH_SAFE(ifa, &ifp->if_addrhead, ifa_link, next) {
 		if (ifa->ifa_addr->sa_family == AF_LINK)
 			continue;

Modified: projects/vnet/sys/net/pfil.c
==============================================================================
--- projects/vnet/sys/net/pfil.c	Mon Jun  6 14:01:09 2016	(r301508)
+++ projects/vnet/sys/net/pfil.c	Mon Jun  6 14:05:54 2016	(r301509)
@@ -364,7 +364,7 @@ pfil_chain_remove(pfil_chain_t *chain, p
  * course).
  */
 static void
-vnet_pfil_init(const void *unused)
+vnet_pfil_init(const void *unused __unused)
 {
 
 	LIST_INIT(&V_pfil_head_list);
@@ -375,7 +375,7 @@ vnet_pfil_init(const void *unused)
  * Called for the removal of each instance.
  */
 static void
-vnet_pfil_uninit(const void *unused)
+vnet_pfil_uninit(const void *unused __unused)
 {
 
 	VNET_ASSERT(LIST_EMPTY(&V_pfil_head_list),

From owner-svn-src-projects@freebsd.org  Mon Jun  6 14:24:03 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04B72B6D4D1
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 14:24:03 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id C8BBB1086;
 Mon,  6 Jun 2016 14:24:02 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56EO128067055;
 Mon, 6 Jun 2016 14:24:01 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56EO1Ol067054;
 Mon, 6 Jun 2016 14:24:01 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606061424.u56EO1Ol067054@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 14:24:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301510 - projects/vnet/sys/net
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 14:24:03 -0000

Author: bz
Date: Mon Jun  6 14:24:01 2016
New Revision: 301510
URL: https://svnweb.freebsd.org/changeset/base/301510

Log:
  Revert some local debugging which was not merged to HEAD.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/netisr.c

Modified: projects/vnet/sys/net/netisr.c
==============================================================================
--- projects/vnet/sys/net/netisr.c	Mon Jun  6 14:05:54 2016	(r301509)
+++ projects/vnet/sys/net/netisr.c	Mon Jun  6 14:24:01 2016	(r301510)
@@ -861,9 +861,6 @@ netisr_process_workstream_proto(struct n
 	struct netisr_work local_npw, *npwp;
 	u_int handled;
 	struct mbuf *m;
-#ifdef INVARIANTS
-	u_int b, f;
-#endif
 
 	NETISR_LOCK_ASSERT();
 	NWS_LOCK_ASSERT(nwsp);
@@ -877,10 +874,6 @@ netisr_process_workstream_proto(struct n
 	if (npwp->nw_len == 0)
 		return (0);
 
-#ifdef INVARIANTS
-	b = npwp->nw_len;
-	f = 0;
-#endif
 	/*
 	 * Move the global work queue to a thread-local work queue.
 	 *
@@ -901,7 +894,6 @@ netisr_process_workstream_proto(struct n
 		if (local_npw.nw_head == NULL)
 			local_npw.nw_tail = NULL;
 		local_npw.nw_len--;
-		f++;
 		VNET_ASSERT(m->m_pkthdr.rcvif != NULL,
 		    ("%s:%d rcvif == NULL: m=%p", __func__, __LINE__, m));
 		CURVNET_SET(m->m_pkthdr.rcvif->if_vnet);
@@ -909,8 +901,7 @@ netisr_process_workstream_proto(struct n
 		CURVNET_RESTORE();
 	}
 	KASSERT(local_npw.nw_len == 0,
-	    ("%s(%u): len %u b %u f %u", __func__, proto, local_npw.nw_len,
-	    b, f));
+	    ("%s(%u): len %u", __func__, proto, local_npw.nw_len));
 	if (netisr_proto[proto].np_drainedcpu)
 		netisr_proto[proto].np_drainedcpu(nwsp->nws_cpu);
 	NWS_LOCK(nwsp);

From owner-svn-src-projects@freebsd.org  Mon Jun  6 20:38:36 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2210FB6D78F
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 20:38:36 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id E70FF16A7;
 Mon,  6 Jun 2016 20:38:35 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56KcZU7007760;
 Mon, 6 Jun 2016 20:38:35 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56KcZrw007759;
 Mon, 6 Jun 2016 20:38:35 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606062038.u56KcZrw007759@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 20:38:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301519 - projects/vnet/sys/net
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 20:38:36 -0000

Author: bz
Date: Mon Jun  6 20:38:34 2016
New Revision: 301519
URL: https://svnweb.freebsd.org/changeset/base/301519

Log:
  Revert the VNET_ASSERT to a KASSERT to remove noise from the diff
  and we do want the assertion also in case VIMAGE is not compiled in.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/pfil.c

Modified: projects/vnet/sys/net/pfil.c
==============================================================================
--- projects/vnet/sys/net/pfil.c	Mon Jun  6 20:28:53 2016	(r301518)
+++ projects/vnet/sys/net/pfil.c	Mon Jun  6 20:38:34 2016	(r301519)
@@ -378,7 +378,7 @@ static void
 vnet_pfil_uninit(const void *unused __unused)
 {
 
-	VNET_ASSERT(LIST_EMPTY(&V_pfil_head_list),
+	KASSERT(LIST_EMPTY(&V_pfil_head_list),
 	    ("%s: pfil_head_list %p not empty", __func__, &V_pfil_head_list));
 	PFIL_LOCK_DESTROY_REAL(&V_pfil_lock);
 }

From owner-svn-src-projects@freebsd.org  Mon Jun  6 20:42:55 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 868C1B6D91C
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 20:42:55 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 4F3EA1BBF;
 Mon,  6 Jun 2016 20:42:55 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56KgsPv011192;
 Mon, 6 Jun 2016 20:42:54 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56KgsaS011191;
 Mon, 6 Jun 2016 20:42:54 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606062042.u56KgsaS011191@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 20:42:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301521 - projects/vnet/sys/net
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 20:42:55 -0000

Author: bz
Date: Mon Jun  6 20:42:54 2016
New Revision: 301521
URL: https://svnweb.freebsd.org/changeset/base/301521

Log:
  Re-add two whitespace lines to get the diff clean to head.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/if_ethersubr.c

Modified: projects/vnet/sys/net/if_ethersubr.c
==============================================================================
--- projects/vnet/sys/net/if_ethersubr.c	Mon Jun  6 20:42:46 2016	(r301520)
+++ projects/vnet/sys/net/if_ethersubr.c	Mon Jun  6 20:42:54 2016	(r301521)
@@ -732,6 +732,8 @@ VNET_SYSUNINIT(vnet_ether_uninit, SI_SUB
     vnet_ether_destroy, NULL);
 #endif
 
+
+
 static void
 ether_input(struct ifnet *ifp, struct mbuf *m)
 {

From owner-svn-src-projects@freebsd.org  Mon Jun  6 21:04:32 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45F3DB6DC98
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 21:04:32 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0A3041481;
 Mon,  6 Jun 2016 21:04:31 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56L4VKN018818;
 Mon, 6 Jun 2016 21:04:31 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56L4UUf018806;
 Mon, 6 Jun 2016 21:04:30 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606062104.u56L4UUf018806@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 21:04:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301523 - in projects/vnet: etc/defaults libexec/ftpd
 share/man/man4 sys/dev/acpica sys/dev/cxgbe sys/dev/xen/netfront sys/kern
 sys/xen tools/tools/cxgbetool usr.bin/indent
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 21:04:32 -0000

Author: bz
Date: Mon Jun  6 21:04:29 2016
New Revision: 301523
URL: https://svnweb.freebsd.org/changeset/base/301523

Log:
  MfH
  
  After upstreaming more ddb bits and removing some whitespace noise
  from the diff.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/etc/defaults/rc.conf
  projects/vnet/libexec/ftpd/blacklist.c
  projects/vnet/libexec/ftpd/ftpd.c
  projects/vnet/share/man/man4/ddb.4
  projects/vnet/sys/dev/acpica/acpi_thermal.c
  projects/vnet/sys/dev/cxgbe/t4_ioctl.h
  projects/vnet/sys/dev/xen/netfront/netfront.c
  projects/vnet/sys/kern/kern_shutdown.c
  projects/vnet/sys/kern/kern_timeout.c
  projects/vnet/sys/xen/xen-os.h
  projects/vnet/tools/tools/cxgbetool/cxgbetool.c
  projects/vnet/usr.bin/indent/lexi.c
Directory Properties:
  projects/vnet/   (props changed)

Modified: projects/vnet/etc/defaults/rc.conf
==============================================================================
--- projects/vnet/etc/defaults/rc.conf	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/etc/defaults/rc.conf	Mon Jun  6 21:04:29 2016	(r301523)
@@ -270,7 +270,7 @@ hastd_program="/sbin/hastd"	# path to ha
 hastd_flags=""			# Optional flags to hastd.
 ctld_enable="NO"		# CAM Target Layer / iSCSI target daemon.
 local_unbound_enable="NO"	# local caching resolver
-blacklistd_enable="YES" 	# Run blacklistd daemon (YES/NO).
+blacklistd_enable="NO" 	# Run blacklistd daemon (YES/NO).
 blacklistd_flags=""		# Optional flags for blacklistd(8).
 
 #

Modified: projects/vnet/libexec/ftpd/blacklist.c
==============================================================================
--- projects/vnet/libexec/ftpd/blacklist.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/libexec/ftpd/blacklist.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -48,8 +48,6 @@ void
 blacklist_notify(int action, int fd, char *msg)
 {
 	if (blstate == NULL)
-		blacklist_init();
-	if (blstate == NULL)
 		return;
 	(void)blacklist_r(blstate, action, fd, msg);
 }

Modified: projects/vnet/libexec/ftpd/ftpd.c
==============================================================================
--- projects/vnet/libexec/ftpd/ftpd.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/libexec/ftpd/ftpd.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -268,7 +268,7 @@ int
 main(int argc, char *argv[], char **envp)
 {
 	socklen_t addrlen;
-	int ch, on = 1, tos;
+	int ch, on = 1, tos, s = STDIN_FILENO;
 	char *cp, line[LINE_MAX];
 	FILE *fd;
 	char	*bindname = NULL;
@@ -504,8 +504,8 @@ main(int argc, char *argv[], char **envp
 					switch (pid = fork()) {
 					case 0:
 						/* child */
-						(void) dup2(fd, 0);
-						(void) dup2(fd, 1);
+						(void) dup2(fd, s);
+						(void) dup2(fd, STDOUT_FILENO);
 						(void) close(fd);
 						for (i = 1; i <= *ctl_sock; i++)
 							close(ctl_sock[i]);
@@ -522,7 +522,7 @@ main(int argc, char *argv[], char **envp
 		}
 	} else {
 		addrlen = sizeof(his_addr);
-		if (getpeername(0, (struct sockaddr *)&his_addr, &addrlen) < 0) {
+		if (getpeername(s, (struct sockaddr *)&his_addr, &addrlen) < 0) {
 			syslog(LOG_ERR, "getpeername (%s): %m",argv[0]);
 			exit(1);
 		}
@@ -557,7 +557,7 @@ gotchild:
 	(void)sigaction(SIGPIPE, &sa, NULL);
 
 	addrlen = sizeof(ctrl_addr);
-	if (getsockname(0, (struct sockaddr *)&ctrl_addr, &addrlen) < 0) {
+	if (getsockname(s, (struct sockaddr *)&ctrl_addr, &addrlen) < 0) {
 		syslog(LOG_ERR, "getsockname (%s): %m",argv[0]);
 		exit(1);
 	}
@@ -570,7 +570,7 @@ gotchild:
 	if (ctrl_addr.su_family == AF_INET)
       {
 	tos = IPTOS_LOWDELAY;
-	if (setsockopt(0, IPPROTO_IP, IP_TOS, &tos, sizeof(int)) < 0)
+	if (setsockopt(s, IPPROTO_IP, IP_TOS, &tos, sizeof(int)) < 0)
 		syslog(LOG_WARNING, "control setsockopt (IP_TOS): %m");
       }
 #endif
@@ -578,7 +578,7 @@ gotchild:
 	 * Disable Nagle on the control channel so that we don't have to wait
 	 * for peer's ACK before issuing our next reply.
 	 */
-	if (setsockopt(0, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) < 0)
+	if (setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) < 0)
 		syslog(LOG_WARNING, "control setsockopt (TCP_NODELAY): %m");
 
 	data_source.su_port = htons(ntohs(ctrl_addr.su_port) - 1);
@@ -587,12 +587,12 @@ gotchild:
 
 	/* Try to handle urgent data inline */
 #ifdef SO_OOBINLINE
-	if (setsockopt(0, SOL_SOCKET, SO_OOBINLINE, &on, sizeof(on)) < 0)
+	if (setsockopt(s, SOL_SOCKET, SO_OOBINLINE, &on, sizeof(on)) < 0)
 		syslog(LOG_WARNING, "control setsockopt (SO_OOBINLINE): %m");
 #endif
 
 #ifdef	F_SETOWN
-	if (fcntl(fileno(stdin), F_SETOWN, getpid()) == -1)
+	if (fcntl(s, F_SETOWN, getpid()) == -1)
 		syslog(LOG_ERR, "fcntl F_SETOWN: %m");
 #endif
 	dolog((struct sockaddr *)&his_addr);
@@ -1423,7 +1423,7 @@ skip:
 		if (rval) {
 			reply(530, "Login incorrect.");
 #ifdef USE_BLACKLIST
-			blacklist_notify(1, 0, "Login incorrect");
+			blacklist_notify(1, STDIN_FILENO, "Login incorrect");
 #endif
 			if (logging) {
 				syslog(LOG_NOTICE,
@@ -1444,7 +1444,7 @@ skip:
 		}
 #ifdef USE_BLACKLIST
 		 else {
-			blacklist_notify(0, 0, "Login successful");
+			blacklist_notify(0, STDIN_FILENO, "Login successful");
 		}
 #endif
 	}

Modified: projects/vnet/share/man/man4/ddb.4
==============================================================================
--- projects/vnet/share/man/man4/ddb.4	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/share/man/man4/ddb.4	Mon Jun  6 21:04:29 2016	(r301523)
@@ -60,7 +60,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 18, 2016
+.Dd June 6, 2016
 .Dt DDB 4
 .Os
 .Sh NAME
@@ -599,6 +599,13 @@ See the
 header file for more details on the exact meaning of the structure fields.
 .\"
 .Pp
+.It Ic show Cm callout Ar addr
+Show information about the callout structure
+.Vt struct callout
+present at
+.Ar addr .
+.\"
+.Pp
 .It Ic show Cm cbstat
 Show brief information about the TTY subsystem.
 .\"
@@ -834,6 +841,10 @@ option is specified the
 complete object is printed.
 .\"
 .Pp
+.It Ic show Cm panic
+Print the panic message if set.
+.\"
+.Pp
 .It Ic show Cm page
 Show statistics on VM pages.
 .\"

Modified: projects/vnet/sys/dev/acpica/acpi_thermal.c
==============================================================================
--- projects/vnet/sys/dev/acpica/acpi_thermal.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/sys/dev/acpica/acpi_thermal.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -311,19 +311,40 @@ acpi_tz_attach(device_t dev)
 		    "thermal sampling period for passive cooling");
 
     /*
-     * Create thread to service all of the thermal zones.  Register
-     * our power profile event handler.
+     * Register our power profile event handler.
      */
     sc->tz_event = EVENTHANDLER_REGISTER(power_profile_change,
 	acpi_tz_power_profile, sc, 0);
-    if (acpi_tz_proc == NULL) {
-	error = kproc_create(acpi_tz_thread, NULL, &acpi_tz_proc,
-	    RFHIGHPID, 0, "acpi_thermal");
-	if (error != 0) {
-	    device_printf(sc->tz_dev, "could not create thread - %d", error);
-	    goto out;
-	}
-    }
+
+    /*
+     * Flag the event handler for a manual invocation by our timeout.
+     * We defer it like this so that the rest of the subsystem has time
+     * to come up.  Don't bother evaluating/printing the temperature at
+     * this point; on many systems it'll be bogus until the EC is running.
+     */
+    sc->tz_flags |= TZ_FLAG_GETPROFILE;
+
+    return_VALUE (0);
+}
+
+static void
+acpi_tz_startup(void *arg __unused)
+{
+    struct acpi_tz_softc *sc;
+    device_t *devs;
+    int devcount, error, i;
+
+    devclass_get_devices(acpi_tz_devclass, &devs, &devcount);
+    if (devcount == 0)
+	return;
+
+    /*
+     * Create thread to service all of the thermal zones.
+     */
+    error = kproc_create(acpi_tz_thread, NULL, &acpi_tz_proc, RFHIGHPID, 0,
+	"acpi_thermal");
+    if (error != 0)
+	printf("acpi_tz: could not create thread - %d", error);
 
     /*
      * Create a thread to handle passive cooling for 1st zone which
@@ -335,34 +356,22 @@ acpi_tz_attach(device_t dev)
      * given frequency whereas it's possible for different thermal
      * zones to specify independent settings for multiple CPUs.
      */
-    if (acpi_tz_cooling_unit < 0 && acpi_tz_cooling_is_available(sc))
-	sc->tz_cooling_enabled = TRUE;
-    if (sc->tz_cooling_enabled) {
-	error = acpi_tz_cooling_thread_start(sc);
-	if (error != 0) {
-	    sc->tz_cooling_enabled = FALSE;
-	    goto out;
+    for (i = 0; i < devcount; i++) {
+	sc = device_get_softc(devs[i]);
+	if (acpi_tz_cooling_is_available(sc)) {
+	    sc->tz_cooling_enabled = TRUE;
+	    error = acpi_tz_cooling_thread_start(sc);
+	    if (error != 0) {
+		sc->tz_cooling_enabled = FALSE;
+		break;
+	    }
+	    acpi_tz_cooling_unit = device_get_unit(devs[i]);
+	    break;
 	}
-	acpi_tz_cooling_unit = device_get_unit(dev);
-    }
-
-    /*
-     * Flag the event handler for a manual invocation by our timeout.
-     * We defer it like this so that the rest of the subsystem has time
-     * to come up.  Don't bother evaluating/printing the temperature at
-     * this point; on many systems it'll be bogus until the EC is running.
-     */
-    sc->tz_flags |= TZ_FLAG_GETPROFILE;
-
-out:
-    if (error != 0) {
-	EVENTHANDLER_DEREGISTER(power_profile_change, sc->tz_event);
-	AcpiRemoveNotifyHandler(sc->tz_handle, ACPI_DEVICE_NOTIFY,
-	    acpi_tz_notify_handler);
-	sysctl_ctx_free(&sc->tz_sysctl_ctx);
     }
-    return_VALUE (error);
+    free(devs, M_TEMP);
 }
+SYSINIT(acpi_tz, SI_SUB_KICK_SCHEDULER, SI_ORDER_ANY, acpi_tz_startup, NULL);
 
 /*
  * Parse the current state of this thermal zone and set up to use it.

Modified: projects/vnet/sys/dev/cxgbe/t4_ioctl.h
==============================================================================
--- projects/vnet/sys/dev/cxgbe/t4_ioctl.h	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/sys/dev/cxgbe/t4_ioctl.h	Mon Jun  6 21:04:29 2016	(r301523)
@@ -215,6 +215,20 @@ struct t4_filter {
 	struct t4_filter_specification fs;
 };
 
+/* Tx Scheduling Class parameters */
+struct t4_sched_class_params {
+	int8_t   level;		/* scheduler hierarchy level */
+	int8_t   mode;		/* per-class or per-flow */
+	int8_t   rateunit;	/* bit or packet rate */
+	int8_t   ratemode;	/* %port relative or kbps absolute */
+	int8_t   channel;	/* scheduler channel [0..N] */
+	int8_t   cl;		/* scheduler class [0..N] */
+	int32_t  minrate;	/* minimum rate */
+	int32_t  maxrate;	/* maximum rate */
+	int16_t  weight;	/* percent weight */
+	int16_t  pktsize;	/* average packet size */
+};
+
 /*
  * Support for "sched-class" command to allow a TX Scheduling Class to be
  * programmed with various parameters.
@@ -226,19 +240,7 @@ struct t4_sched_params {
 		struct {		/* sub-command SCHED_CLASS_CONFIG */
 			int8_t   minmax;	/* minmax enable */
 		} config;
-		struct {		/* sub-command SCHED_CLASS_PARAMS */
-			int8_t   level;		/* scheduler hierarchy level */
-			int8_t   mode;		/* per-class or per-flow */
-			int8_t   rateunit;	/* bit or packet rate */
-			int8_t   ratemode;	/* %port relative or kbps
-						   absolute */
-			int8_t   channel;	/* scheduler channel [0..N] */
-			int8_t   cl;		/* scheduler class [0..N] */
-			int32_t  minrate;	/* minimum rate */
-			int32_t  maxrate;	/* maximum rate */
-			int16_t  weight;	/* percent weight */
-			int16_t  pktsize;	/* average packet size */
-		} params;
+		struct t4_sched_class_params params;
 		uint8_t     reserved[6 + 8 * 8];
 	} u;
 };

Modified: projects/vnet/sys/dev/xen/netfront/netfront.c
==============================================================================
--- projects/vnet/sys/dev/xen/netfront/netfront.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/sys/dev/xen/netfront/netfront.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -146,7 +146,8 @@ static int setup_device(device_t dev, st
 static int xn_ifmedia_upd(struct ifnet *ifp);
 static void xn_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr);
 
-int xn_connect(struct netfront_info *);
+static int xn_connect(struct netfront_info *);
+static void xn_kick_rings(struct netfront_info *);
 
 static int xn_get_responses(struct netfront_rxq *,
     struct netfront_rx_info *, RING_IDX, RING_IDX *,
@@ -976,7 +977,9 @@ netfront_backend_changed(device_t dev, X
 			break;
 		if (xn_connect(sc) != 0)
 			break;
-		xenbus_set_state(dev, XenbusStateConnected);
+		/* Switch to connected state before kicking the rings. */
+		xenbus_set_state(sc->xbdev, XenbusStateConnected);
+		xn_kick_rings(sc);
 		break;
 	case XenbusStateClosing:
 		xenbus_set_state(dev, XenbusStateClosed);
@@ -1924,7 +1927,7 @@ xn_rebuild_rx_bufs(struct netfront_rxq *
 }
 
 /* START of Xenolinux helper functions adapted to FreeBSD */
-int
+static int
 xn_connect(struct netfront_info *np)
 {
 	int i, error;
@@ -1968,8 +1971,20 @@ xn_connect(struct netfront_info *np)
 	 * packets.
 	 */
 	netfront_carrier_on(np);
+
+	return (0);
+}
+
+static void
+xn_kick_rings(struct netfront_info *np)
+{
+	struct netfront_rxq *rxq;
+	struct netfront_txq *txq;
+	int i;
+
 	for (i = 0; i < np->num_queues; i++) {
 		txq = &np->txq[i];
+		rxq = &np->rxq[i];
 		xen_intr_signal(txq->xen_intr_handle);
 		XN_TX_LOCK(txq);
 		xn_txeof(txq);
@@ -1978,8 +1993,6 @@ xn_connect(struct netfront_info *np)
 		xn_alloc_rx_buffers(rxq);
 		XN_RX_UNLOCK(rxq);
 	}
-
-	return (0);
 }
 
 static void

Modified: projects/vnet/sys/kern/kern_shutdown.c
==============================================================================
--- projects/vnet/sys/kern/kern_shutdown.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/sys/kern/kern_shutdown.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -935,7 +935,7 @@ DB_SHOW_COMMAND(panic, db_show_panic)
 {
 
 	if (panicstr == NULL)
-		db_printf("Not paniced\n");
+		db_printf("panicstr not set\n");
 	else
 		db_printf("panic: %s\n", panicstr);
 }

Modified: projects/vnet/sys/kern/kern_timeout.c
==============================================================================
--- projects/vnet/sys/kern/kern_timeout.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/sys/kern/kern_timeout.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -1623,7 +1623,6 @@ SYSCTL_PROC(_kern, OID_AUTO, callout_sta
     "Dump immediate statistic snapshot of the scheduled callouts");
 
 #ifdef DDB
-
 static void
 _show_callout(struct callout *c)
 {

Modified: projects/vnet/sys/xen/xen-os.h
==============================================================================
--- projects/vnet/sys/xen/xen-os.h	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/sys/xen/xen-os.h	Mon Jun  6 21:04:29 2016	(r301523)
@@ -118,7 +118,7 @@ xen_clear_bit(int bit, volatile long *ad
 	atomic_clear_long(&addr[bit / NBPL], 1UL << (bit % NBPL));
 }
 
-#undef NPBL
+#undef NBPL
 
 /*
  * Functions to allocate/free unused memory in order

Modified: projects/vnet/tools/tools/cxgbetool/cxgbetool.c
==============================================================================
--- projects/vnet/tools/tools/cxgbetool/cxgbetool.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/tools/tools/cxgbetool/cxgbetool.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -2526,9 +2526,9 @@ sched_class(int argc, const char *argv[]
                         errs++;
                 }
                 if (op.u.params.ratemode == SCHED_CLASS_RATEMODE_ABS &&
-		    !in_range(op.u.params.maxrate, 1, 10000000)) {
+		    !in_range(op.u.params.maxrate, 1, 100000000)) {
                         warnx("sched params \"max-rate\" takes "
-			    "value(1-10000000) for rate-mode absolute");
+			    "value(1-100000000) for rate-mode absolute");
                         errs++;
                 }
                 if (op.u.params.maxrate > 0 &&

Modified: projects/vnet/usr.bin/indent/lexi.c
==============================================================================
--- projects/vnet/usr.bin/indent/lexi.c	Mon Jun  6 20:57:24 2016	(r301522)
+++ projects/vnet/usr.bin/indent/lexi.c	Mon Jun  6 21:04:29 2016	(r301523)
@@ -79,7 +79,7 @@ struct templ specials[1000] =
     {"double", 4},
     {"long", 4},
     {"short", 4},
-    {"typdef", 4},
+    {"typedef", 4},
     {"unsigned", 4},
     {"register", 4},
     {"static", 4},

From owner-svn-src-projects@freebsd.org  Mon Jun  6 22:37:05 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9CDAFB6D137
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 22:37:05 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 51F061279;
 Mon,  6 Jun 2016 22:37:05 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56Mb4gB051847;
 Mon, 6 Jun 2016 22:37:04 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56Mb4ki051845;
 Mon, 6 Jun 2016 22:37:04 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606062237.u56Mb4ki051845@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 22:37:04 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301529 - in projects/vnet: share/man/man4 sys/netinet
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 22:37:05 -0000

Author: bz
Date: Mon Jun  6 22:37:04 2016
New Revision: 301529
URL: https://svnweb.freebsd.org/changeset/base/301529

Log:
  MfH
  
  Adter getting some multicast debugging aid upstreamed.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/share/man/man4/ddb.4
  projects/vnet/sys/netinet/igmp.c
Directory Properties:
  projects/vnet/   (props changed)

Modified: projects/vnet/share/man/man4/ddb.4
==============================================================================
--- projects/vnet/share/man/man4/ddb.4	Mon Jun  6 22:34:12 2016	(r301528)
+++ projects/vnet/share/man/man4/ddb.4	Mon Jun  6 22:37:04 2016	(r301529)
@@ -688,6 +688,13 @@ The second one is the name of the interr
 Those functions are machine dependent.
 .\"
 .Pp
+.It Ic show Cm igi_list Ar addr
+Show information about the IGMP structure
+.Vt struct igmp_ifsoftc
+present at
+.Ar addr .
+.\"
+.Pp
 .It Ic show Cm inodedeps Op Ar addr
 Show brief information about each inodedep structure.
 If

Modified: projects/vnet/sys/netinet/igmp.c
==============================================================================
--- projects/vnet/sys/netinet/igmp.c	Mon Jun  6 22:34:12 2016	(r301528)
+++ projects/vnet/sys/netinet/igmp.c	Mon Jun  6 22:37:04 2016	(r301529)
@@ -3646,6 +3646,37 @@ DB_SHOW_COMMAND(igi_list, db_show_igi_li
 }
 #endif
 
+#ifdef DDB
+DB_SHOW_COMMAND(igi_list, db_show_igi_list)
+{
+	struct igmp_ifsoftc *igi, *tigi;
+	LIST_HEAD(_igi_list, igmp_ifsoftc) *igi_head;
+
+	if (!have_addr) {
+		db_printf("usage: show igi_list <addr>\n");
+		return;
+	}
+	igi_head = (struct _igi_list *)addr;
+
+	LIST_FOREACH_SAFE(igi, igi_head, igi_link, tigi) {
+		db_printf("igmp_ifsoftc %p:\n", igi);
+		db_printf("    ifp %p\n", igi->igi_ifp);
+		db_printf("    version %u\n", igi->igi_version);
+		db_printf("    v1_timer %u\n", igi->igi_v1_timer);
+		db_printf("    v2_timer %u\n", igi->igi_v2_timer);
+		db_printf("    v3_timer %u\n", igi->igi_v3_timer);
+		db_printf("    flags %#x\n", igi->igi_flags);
+		db_printf("    rv %u\n", igi->igi_rv);
+		db_printf("    qi %u\n", igi->igi_qi);
+		db_printf("    qri %u\n", igi->igi_qri);
+		db_printf("    uri %u\n", igi->igi_uri);
+		/* SLIST_HEAD(,in_multi)   igi_relinmhead */
+		/* struct mbufq    igi_gq; */
+		db_printf("\n");
+	}
+}
+#endif
+
 static int
 igmp_modevent(module_t mod, int type, void *unused __unused)
 {

From owner-svn-src-projects@freebsd.org  Mon Jun  6 22:39:33 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55FADB6D169
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 22:39:33 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 28A361399;
 Mon,  6 Jun 2016 22:39:33 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56MdWiY051963;
 Mon, 6 Jun 2016 22:39:32 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56MdWwu051962;
 Mon, 6 Jun 2016 22:39:32 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606062239.u56MdWwu051962@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 22:39:32 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301530 - projects/vnet/sys/netinet
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 22:39:33 -0000

Author: bz
Date: Mon Jun  6 22:39:32 2016
New Revision: 301530
URL: https://svnweb.freebsd.org/changeset/base/301530

Log:
  Fix another SVN mismerge.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/netinet/igmp.c

Modified: projects/vnet/sys/netinet/igmp.c
==============================================================================
--- projects/vnet/sys/netinet/igmp.c	Mon Jun  6 22:37:04 2016	(r301529)
+++ projects/vnet/sys/netinet/igmp.c	Mon Jun  6 22:39:32 2016	(r301530)
@@ -3621,37 +3621,6 @@ DB_SHOW_COMMAND(igi_list, db_show_igi_li
 	struct igmp_ifsoftc *igi, *tigi;
 	LIST_HEAD(_igi_list, igmp_ifsoftc) *igi_head;
 
-        if (!have_addr) {
-                db_printf("usage: show igi_list <addr>\n");
-                return;
-        }
-        igi_head = (struct _igi_list *)addr;
-
-	LIST_FOREACH_SAFE(igi, igi_head, igi_link, tigi) {
-		db_printf("igmp_ifsoftc %p:\n", igi);
-		db_printf("    ifp %p\n", igi->igi_ifp);
-		db_printf("    version %u\n", igi->igi_version);
-		db_printf("    v1_timer %u\n", igi->igi_v1_timer);
-		db_printf("    v2_timer %u\n", igi->igi_v2_timer);
-		db_printf("    v3_timer %u\n", igi->igi_v3_timer);
-		db_printf("    flags %#x\n", igi->igi_flags);
-		db_printf("    rv %u\n", igi->igi_rv);
-		db_printf("    qi %u\n", igi->igi_qi);
-		db_printf("    qri %u\n", igi->igi_qri);
-		db_printf("    uri %u\n", igi->igi_uri);
-		/* SLIST_HEAD(,in_multi)   igi_relinmhead */
-		/* struct mbufq    igi_gq; */
-		db_printf("\n");
-	}
-}
-#endif
-
-#ifdef DDB
-DB_SHOW_COMMAND(igi_list, db_show_igi_list)
-{
-	struct igmp_ifsoftc *igi, *tigi;
-	LIST_HEAD(_igi_list, igmp_ifsoftc) *igi_head;
-
 	if (!have_addr) {
 		db_printf("usage: show igi_list <addr>\n");
 		return;

From owner-svn-src-projects@freebsd.org  Mon Jun  6 23:00:44 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1FDF1B6D659
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon,  6 Jun 2016 23:00:44 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id B142C1255;
 Mon,  6 Jun 2016 23:00:43 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u56N0gYh059410;
 Mon, 6 Jun 2016 23:00:42 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u56N0gHu059409;
 Mon, 6 Jun 2016 23:00:42 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606062300.u56N0gHu059409@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Mon, 6 Jun 2016 23:00:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301534 - projects/vnet/sys/net
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Jun 2016 23:00:44 -0000

Author: bz
Date: Mon Jun  6 23:00:42 2016
New Revision: 301534
URL: https://svnweb.freebsd.org/changeset/base/301534

Log:
  Re-sort to match HEAD.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/net/if.c

Modified: projects/vnet/sys/net/if.c
==============================================================================
--- projects/vnet/sys/net/if.c	Mon Jun  6 22:59:58 2016	(r301533)
+++ projects/vnet/sys/net/if.c	Mon Jun  6 23:00:42 2016	(r301534)
@@ -1099,8 +1099,8 @@ static void
 if_vmove(struct ifnet *ifp, struct vnet *new_vnet)
 {
 	struct if_clone *ifc;
-	int rc;
 	u_int bif_dlt, bif_hdrlen;
+	int rc;
 
  	/*
 	 * if_detach_internal() will call the eventhandler to notify

From owner-svn-src-projects@freebsd.org  Tue Jun  7 14:16:12 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3713B6D1C0
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Tue,  7 Jun 2016 14:16:12 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 7215A16F8;
 Tue,  7 Jun 2016 14:16:12 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u57EGBEM096289;
 Tue, 7 Jun 2016 14:16:11 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u57EGAgR096272;
 Tue, 7 Jun 2016 14:16:10 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606071416.u57EGAgR096272@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Tue, 7 Jun 2016 14:16:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301547 - in projects/vnet:
 release/doc/en_US.ISO8859-1/relnotes share/man/man5
 sys/compat/linuxkpi/common/include/linux sys/dev/cxgb sys/dev/cxgbe
 sys/dev/e1000 sys/dev/gpio sys/dev/hy...
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jun 2016 14:16:12 -0000

Author: bz
Date: Tue Jun  7 14:16:10 2016
New Revision: 301547
URL: https://svnweb.freebsd.org/changeset/base/301547

Log:
  MfH @r301546
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3k_dbg.h
     - copied unchanged from r301546, head/usr.sbin/bluetooth/ath3kfw/ath3k_dbg.h
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3k_fw.c
     - copied unchanged from r301546, head/usr.sbin/bluetooth/ath3kfw/ath3k_fw.c
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3k_fw.h
     - copied unchanged from r301546, head/usr.sbin/bluetooth/ath3kfw/ath3k_fw.h
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3k_hw.c
     - copied unchanged from r301546, head/usr.sbin/bluetooth/ath3kfw/ath3k_hw.c
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3k_hw.h
     - copied unchanged from r301546, head/usr.sbin/bluetooth/ath3kfw/ath3k_hw.h
  projects/vnet/usr.sbin/bluetooth/ath3kfw/main.c
     - copied unchanged from r301546, head/usr.sbin/bluetooth/ath3kfw/main.c
Deleted:
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3kfw.c
Modified:
  projects/vnet/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/vnet/share/man/man5/rc.conf.5
  projects/vnet/sys/compat/linuxkpi/common/include/linux/etherdevice.h
  projects/vnet/sys/compat/linuxkpi/common/include/linux/random.h
  projects/vnet/sys/dev/cxgb/cxgb_sge.c
  projects/vnet/sys/dev/cxgbe/adapter.h
  projects/vnet/sys/dev/cxgbe/t4_main.c
  projects/vnet/sys/dev/e1000/if_igb.c
  projects/vnet/sys/dev/gpio/gpiobus.c
  projects/vnet/sys/dev/gpio/gpiobusvar.h
  projects/vnet/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  projects/vnet/sys/dev/ixgbe/ix_txrx.c
  projects/vnet/sys/dev/ixl/ixl_txrx.c
  projects/vnet/sys/dev/mlx5/driver.h
  projects/vnet/sys/dev/mlx5/mlx5_core/mlx5_vport.c
  projects/vnet/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
  projects/vnet/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
  projects/vnet/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c
  projects/vnet/sys/dev/mlx5/vport.h
  projects/vnet/sys/dev/qlxgbe/ql_isr.c
  projects/vnet/sys/dev/qlxge/qls_isr.c
  projects/vnet/sys/kern/subr_intr.c
  projects/vnet/sys/net/flowtable.c
  projects/vnet/sys/net/if_vxlan.c
  projects/vnet/sys/netinet/sctp_input.c
  projects/vnet/sys/netinet/sctp_pcb.c
  projects/vnet/sys/ofed/drivers/net/mlx4/en_rx.c
  projects/vnet/sys/sys/intr.h
  projects/vnet/usr.sbin/bluetooth/ath3kfw/Makefile
  projects/vnet/usr.sbin/bluetooth/ath3kfw/ath3kfw.8
  projects/vnet/usr.sbin/newsyslog/newsyslog.c
  projects/vnet/usr.sbin/ypldap/ypldap.8
Directory Properties:
  projects/vnet/   (props changed)

Modified: projects/vnet/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- projects/vnet/release/doc/en_US.ISO8859-1/relnotes/article.xml	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/release/doc/en_US.ISO8859-1/relnotes/article.xml	Tue Jun  7 14:16:10 2016	(r301547)
@@ -1771,6 +1771,10 @@
 	</tgroup>
       </informaltable>
 
+      <para revision="300779">Dummynet AQM, an independent implementation of
+      CoDel and FQ-CoDel for ipfw/dummynet has been imported to the base
+      system.</para>
+
     </sect2>
   </sect1>
 

Modified: projects/vnet/share/man/man5/rc.conf.5
==============================================================================
--- projects/vnet/share/man/man5/rc.conf.5	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/share/man/man5/rc.conf.5	Tue Jun  7 14:16:10 2016	(r301547)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 30, 2016
+.Dd June 8, 2016
 .Dt RC.CONF 5
 .Os
 .Sh NAME
@@ -2559,6 +2559,22 @@ is set to
 these are the flags to pass to the
 .Xr ypbind 8
 service.
+.It Va nis_ypldap_enable
+.Pq Vt bool
+If set to
+.Dq Li YES ,
+run the
+.Xr ypldap 8
+daemon at system boot time.
+.It Va nis_ypldap_flags
+.Pq Vt str
+If
+.Va nis.ypldap_enable
+is set to
+.Dq Li YES ,
+these are the flags to pass to the
+.Xr ypldap 8
+daemon.
 .It Va nis_ypset_enable
 .Pq Vt bool
 If set to

Modified: projects/vnet/sys/compat/linuxkpi/common/include/linux/etherdevice.h
==============================================================================
--- projects/vnet/sys/compat/linuxkpi/common/include/linux/etherdevice.h	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/compat/linuxkpi/common/include/linux/etherdevice.h	Tue Jun  7 14:16:10 2016	(r301547)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2015 Mellanox Technologies, Ltd. All rights reserved.
+ * Copyright (c) 2015-2016 Mellanox Technologies, Ltd. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -102,7 +102,8 @@ eth_broadcast_addr(u8 *pa)
 static inline void
 random_ether_addr(u8 * dst)
 {
-	read_random(dst, 6);
+	if (read_random(dst, 6) == 0)
+		arc4rand(dst, 6, 0);
 
 	dst[0] &= 0xfe;
 	dst[0] |= 0x02;

Modified: projects/vnet/sys/compat/linuxkpi/common/include/linux/random.h
==============================================================================
--- projects/vnet/sys/compat/linuxkpi/common/include/linux/random.h	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/compat/linuxkpi/common/include/linux/random.h	Tue Jun  7 14:16:10 2016	(r301547)
@@ -2,7 +2,7 @@
  * Copyright (c) 2010 Isilon Systems, Inc.
  * Copyright (c) 2010 iX Systems, Inc.
  * Copyright (c) 2010 Panasas, Inc.
- * Copyright (c) 2013, 2014 Mellanox Technologies, Ltd.
+ * Copyright (c) 2013-2016 Mellanox Technologies, Ltd.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,11 +32,13 @@
 #define	_LINUX_RANDOM_H_
 
 #include <sys/random.h>
+#include <sys/libkern.h>
 
 static inline void
 get_random_bytes(void *buf, int nbytes)
 {
-	read_random(buf, nbytes);
+	if (read_random(buf, nbytes) == 0)
+		arc4rand(buf, nbytes, 0);
 }
 
 #endif	/* _LINUX_RANDOM_H_ */

Modified: projects/vnet/sys/dev/cxgb/cxgb_sge.c
==============================================================================
--- projects/vnet/sys/dev/cxgb/cxgb_sge.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/cxgb/cxgb_sge.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -2900,7 +2900,8 @@ process_responses(adapter_t *adap, struc
 			eop = get_packet(adap, drop_thresh, qs, mh, r);
 			if (eop) {
 				if (r->rss_hdr.hash_type && !adap->timestamp) {
-					M_HASHTYPE_SET(mh->mh_head, M_HASHTYPE_OPAQUE);
+					M_HASHTYPE_SET(mh->mh_head,
+					    M_HASHTYPE_OPAQUE_HASH);
 					mh->mh_head->m_pkthdr.flowid = rss_hash;
 				}
 			}

Modified: projects/vnet/sys/dev/cxgbe/adapter.h
==============================================================================
--- projects/vnet/sys/dev/cxgbe/adapter.h	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/cxgbe/adapter.h	Tue Jun  7 14:16:10 2016	(r301547)
@@ -54,6 +54,7 @@
 #include <netinet/tcp_lro.h>
 
 #include "offload.h"
+#include "t4_ioctl.h"
 #include "common/t4_msg.h"
 #include "firmware/t4fw_interface.h"
 
@@ -264,6 +265,17 @@ struct vi_info {
 	uint8_t hw_addr[ETHER_ADDR_LEN]; /* factory MAC address, won't change */
 };
 
+enum {
+	/* tx_sched_class flags */
+	TX_SC_OK	= (1 << 0),	/* Set up in hardware, active. */
+};
+
+struct tx_sched_class {
+	int refcount;
+	int flags;
+	struct t4_sched_class_params params;
+};
+
 struct port_info {
 	device_t dev;
 	struct adapter *adapter;
@@ -273,6 +285,8 @@ struct port_info {
 	int up_vis;
 	int uld_vis;
 
+	struct tx_sched_class *tc;	/* traffic classes for this channel */
+
 	struct mtx pi_lock;
 	char lockname[16];
 	unsigned long flags;

Modified: projects/vnet/sys/dev/cxgbe/t4_main.c
==============================================================================
--- projects/vnet/sys/dev/cxgbe/t4_main.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/cxgbe/t4_main.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -496,6 +496,7 @@ static int sysctl_tp_la(SYSCTL_HANDLER_A
 static int sysctl_tx_rate(SYSCTL_HANDLER_ARGS);
 static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS);
 static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS);
+static int sysctl_tc_params(SYSCTL_HANDLER_ARGS);
 #endif
 #ifdef TCP_OFFLOAD
 static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS);
@@ -875,6 +876,9 @@ t4_attach(device_t dev)
 		mtx_init(&pi->pi_lock, pi->lockname, 0, MTX_DEF);
 		sc->chan_map[pi->tx_chan] = i;
 
+		pi->tc = malloc(sizeof(struct tx_sched_class) *
+		    sc->chip_params->nsched_cls, M_CXGBE, M_ZERO | M_WAITOK);
+
 		if (is_10G_port(pi) || is_40G_port(pi)) {
 			n10g++;
 			for_each_vi(pi, j, vi) {
@@ -1131,6 +1135,7 @@ t4_detach(device_t dev)
 
 			mtx_destroy(&pi->pi_lock);
 			free(pi->vi, M_CXGBE);
+			free(pi->tc, M_CXGBE);
 			free(pi, M_CXGBE);
 		}
 	}
@@ -5030,8 +5035,10 @@ cxgbe_sysctls(struct port_info *pi)
 {
 	struct sysctl_ctx_list *ctx;
 	struct sysctl_oid *oid;
-	struct sysctl_oid_list *children;
+	struct sysctl_oid_list *children, *children2;
 	struct adapter *sc = pi->adapter;
+	int i;
+	char name[16];
 
 	ctx = device_get_sysctl_ctx(pi->dev);
 
@@ -5060,6 +5067,29 @@ cxgbe_sysctls(struct port_info *pi)
 	    port_top_speed(pi), "max speed (in Gbps)");
 
 	/*
+	 * dev.(cxgbe|cxl).X.tc.
+	 */
+	oid = SYSCTL_ADD_NODE(ctx, children, OID_AUTO, "tc", CTLFLAG_RD, NULL,
+	    "Tx scheduler traffic classes");
+	for (i = 0; i < sc->chip_params->nsched_cls; i++) {
+		struct tx_sched_class *tc = &pi->tc[i];
+
+		snprintf(name, sizeof(name), "%d", i);
+		children2 = SYSCTL_CHILDREN(SYSCTL_ADD_NODE(ctx,
+		    SYSCTL_CHILDREN(oid), OID_AUTO, name, CTLFLAG_RD, NULL,
+		    "traffic class"));
+		SYSCTL_ADD_UINT(ctx, children2, OID_AUTO, "flags", CTLFLAG_RD,
+		    &tc->flags, 0, "flags");
+		SYSCTL_ADD_UINT(ctx, children2, OID_AUTO, "refcount",
+		    CTLFLAG_RD, &tc->refcount, 0, "references to this class");
+#ifdef SBUF_DRAIN
+		SYSCTL_ADD_PROC(ctx, children2, OID_AUTO, "params",
+		    CTLTYPE_STRING | CTLFLAG_RD, sc, (pi->port_id << 16) | i,
+		    sysctl_tc_params, "A", "traffic class parameters");
+#endif
+	}
+
+	/*
 	 * dev.cxgbe.X.stats.
 	 */
 	oid = SYSCTL_ADD_NODE(ctx, children, OID_AUTO, "stats", CTLFLAG_RD,
@@ -7452,6 +7482,101 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS)
 
 	return (rc);
 }
+
+static int
+sysctl_tc_params(SYSCTL_HANDLER_ARGS)
+{
+	struct adapter *sc = arg1;
+	struct tx_sched_class *tc;
+	struct t4_sched_class_params p;
+	struct sbuf *sb;
+	int i, rc, port_id, flags, mbps, gbps;
+
+	rc = sysctl_wire_old_buffer(req, 0);
+	if (rc != 0)
+		return (rc);
+
+	sb = sbuf_new_for_sysctl(NULL, NULL, 4096, req);
+	if (sb == NULL)
+		return (ENOMEM);
+
+	port_id = arg2 >> 16;
+	MPASS(port_id < sc->params.nports);
+	MPASS(sc->port[port_id] != NULL);
+	i = arg2 & 0xffff;
+	MPASS(i < sc->chip_params->nsched_cls);
+	tc = &sc->port[port_id]->tc[i];
+
+	rc = begin_synchronized_op(sc, NULL, HOLD_LOCK | SLEEP_OK | INTR_OK,
+	    "t4tc_p");
+	if (rc)
+		goto done;
+	flags = tc->flags;
+	p = tc->params;
+	end_synchronized_op(sc, LOCK_HELD);
+
+	if ((flags & TX_SC_OK) == 0) {
+		sbuf_printf(sb, "none");
+		goto done;
+	}
+
+	if (p.level == SCHED_CLASS_LEVEL_CL_WRR) {
+		sbuf_printf(sb, "cl-wrr weight %u", p.weight);
+		goto done;
+	} else if (p.level == SCHED_CLASS_LEVEL_CL_RL)
+		sbuf_printf(sb, "cl-rl");
+	else if (p.level == SCHED_CLASS_LEVEL_CH_RL)
+		sbuf_printf(sb, "ch-rl");
+	else {
+		rc = ENXIO;
+		goto done;
+	}
+
+	if (p.ratemode == SCHED_CLASS_RATEMODE_REL) {
+		/* XXX: top speed or actual link speed? */
+		gbps = port_top_speed(sc->port[port_id]);
+		sbuf_printf(sb, " %u%% of %uGbps", p.maxrate, gbps);
+	}
+	else if (p.ratemode == SCHED_CLASS_RATEMODE_ABS) {
+		switch (p.rateunit) {
+		case SCHED_CLASS_RATEUNIT_BITS:
+			mbps = p.maxrate / 1000;
+			gbps = p.maxrate / 1000000;
+			if (p.maxrate == gbps * 1000000)
+				sbuf_printf(sb, " %uGbps", gbps);
+			else if (p.maxrate == mbps * 1000)
+				sbuf_printf(sb, " %uMbps", mbps);
+			else
+				sbuf_printf(sb, " %uKbps", p.maxrate);
+			break;
+		case SCHED_CLASS_RATEUNIT_PKTS:
+			sbuf_printf(sb, " %upps", p.maxrate);
+			break;
+		default:
+			rc = ENXIO;
+			goto done;
+		}
+	}
+
+	switch (p.mode) {
+	case SCHED_CLASS_MODE_CLASS:
+		sbuf_printf(sb, " aggregate");
+		break;
+	case SCHED_CLASS_MODE_FLOW:
+		sbuf_printf(sb, " per-flow");
+		break;
+	default:
+		rc = ENXIO;
+		goto done;
+	}
+
+done:
+	if (rc == 0)
+		rc = sbuf_finish(sb);
+	sbuf_delete(sb);
+
+	return (rc);
+}
 #endif
 
 #ifdef TCP_OFFLOAD
@@ -8297,155 +8422,147 @@ in_range(int val, int lo, int hi)
 }
 
 static int
-set_sched_class(struct adapter *sc, struct t4_sched_params *p)
+set_sched_class_config(struct adapter *sc, int minmax)
 {
-	int fw_subcmd, fw_type, rc;
+	int rc;
+
+	if (minmax < 0)
+		return (EINVAL);
 
-	rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4setsc");
+	rc = begin_synchronized_op(sc, NULL, SLEEP_OK | INTR_OK, "t4sscc");
 	if (rc)
 		return (rc);
+	rc = -t4_sched_config(sc, FW_SCHED_TYPE_PKTSCHED, minmax, 1);
+	end_synchronized_op(sc, 0);
 
-	if (!(sc->flags & FULL_INIT_DONE)) {
-		rc = EAGAIN;
-		goto done;
-	}
+	return (rc);
+}
 
-	/*
-	 * Translate the cxgbetool parameters into T4 firmware parameters.  (The
-	 * sub-command and type are in common locations.)
-	 */
-	if (p->subcmd == SCHED_CLASS_SUBCMD_CONFIG)
-		fw_subcmd = FW_SCHED_SC_CONFIG;
-	else if (p->subcmd == SCHED_CLASS_SUBCMD_PARAMS)
-		fw_subcmd = FW_SCHED_SC_PARAMS;
-	else {
-		rc = EINVAL;
-		goto done;
-	}
-	if (p->type == SCHED_CLASS_TYPE_PACKET)
-		fw_type = FW_SCHED_TYPE_PKTSCHED;
-	else {
-		rc = EINVAL;
-		goto done;
-	}
+static int
+set_sched_class_params(struct adapter *sc, struct t4_sched_class_params *p,
+    int sleep_ok)
+{
+	int rc, top_speed, fw_level, fw_mode, fw_rateunit, fw_ratemode;
+	struct port_info *pi;
+	struct tx_sched_class *tc;
 
-	if (fw_subcmd == FW_SCHED_SC_CONFIG) {
-		/* Vet our parameters ..*/
-		if (p->u.config.minmax < 0) {
-			rc = EINVAL;
-			goto done;
-		}
+	if (p->level == SCHED_CLASS_LEVEL_CL_RL)
+		fw_level = FW_SCHED_PARAMS_LEVEL_CL_RL;
+	else if (p->level == SCHED_CLASS_LEVEL_CL_WRR)
+		fw_level = FW_SCHED_PARAMS_LEVEL_CL_WRR;
+	else if (p->level == SCHED_CLASS_LEVEL_CH_RL)
+		fw_level = FW_SCHED_PARAMS_LEVEL_CH_RL;
+	else
+		return (EINVAL);
 
-		/* And pass the request to the firmware ...*/
-		rc = -t4_sched_config(sc, fw_type, p->u.config.minmax, 1);
-		goto done;
-	}
+	if (p->mode == SCHED_CLASS_MODE_CLASS)
+		fw_mode = FW_SCHED_PARAMS_MODE_CLASS;
+	else if (p->mode == SCHED_CLASS_MODE_FLOW)
+		fw_mode = FW_SCHED_PARAMS_MODE_FLOW;
+	else
+		return (EINVAL);
 
-	if (fw_subcmd == FW_SCHED_SC_PARAMS) {
-		int fw_level;
-		int fw_mode;
-		int fw_rateunit;
-		int fw_ratemode;
-
-		if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL)
-			fw_level = FW_SCHED_PARAMS_LEVEL_CL_RL;
-		else if (p->u.params.level == SCHED_CLASS_LEVEL_CL_WRR)
-			fw_level = FW_SCHED_PARAMS_LEVEL_CL_WRR;
-		else if (p->u.params.level == SCHED_CLASS_LEVEL_CH_RL)
-			fw_level = FW_SCHED_PARAMS_LEVEL_CH_RL;
-		else {
-			rc = EINVAL;
-			goto done;
-		}
+	if (p->rateunit == SCHED_CLASS_RATEUNIT_BITS)
+		fw_rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
+	else if (p->rateunit == SCHED_CLASS_RATEUNIT_PKTS)
+		fw_rateunit = FW_SCHED_PARAMS_UNIT_PKTRATE;
+	else
+		return (EINVAL);
 
-		if (p->u.params.mode == SCHED_CLASS_MODE_CLASS)
-			fw_mode = FW_SCHED_PARAMS_MODE_CLASS;
-		else if (p->u.params.mode == SCHED_CLASS_MODE_FLOW)
-			fw_mode = FW_SCHED_PARAMS_MODE_FLOW;
-		else {
-			rc = EINVAL;
-			goto done;
-		}
+	if (p->ratemode == SCHED_CLASS_RATEMODE_REL)
+		fw_ratemode = FW_SCHED_PARAMS_RATE_REL;
+	else if (p->ratemode == SCHED_CLASS_RATEMODE_ABS)
+		fw_ratemode = FW_SCHED_PARAMS_RATE_ABS;
+	else
+		return (EINVAL);
 
-		if (p->u.params.rateunit == SCHED_CLASS_RATEUNIT_BITS)
-			fw_rateunit = FW_SCHED_PARAMS_UNIT_BITRATE;
-		else if (p->u.params.rateunit == SCHED_CLASS_RATEUNIT_PKTS)
-			fw_rateunit = FW_SCHED_PARAMS_UNIT_PKTRATE;
-		else {
-			rc = EINVAL;
-			goto done;
-		}
+	/* Vet our parameters ... */
+	if (!in_range(p->channel, 0, sc->chip_params->nchan - 1))
+		return (ERANGE);
 
-		if (p->u.params.ratemode == SCHED_CLASS_RATEMODE_REL)
-			fw_ratemode = FW_SCHED_PARAMS_RATE_REL;
-		else if (p->u.params.ratemode == SCHED_CLASS_RATEMODE_ABS)
-			fw_ratemode = FW_SCHED_PARAMS_RATE_ABS;
-		else {
-			rc = EINVAL;
-			goto done;
-		}
+	pi = sc->port[sc->chan_map[p->channel]];
+	if (pi == NULL)
+		return (ENXIO);
+	MPASS(pi->tx_chan == p->channel);
+	top_speed = port_top_speed(pi) * 1000000; /* Gbps -> Kbps */
 
-		/* Vet our parameters ... */
-		if (!in_range(p->u.params.channel, 0, 3) ||
-		    !in_range(p->u.params.cl, 0, sc->chip_params->nsched_cls) ||
-		    !in_range(p->u.params.minrate, 0, 10000000) ||
-		    !in_range(p->u.params.maxrate, 0, 10000000) ||
-		    !in_range(p->u.params.weight, 0, 100)) {
-			rc = ERANGE;
-			goto done;
-		}
+	if (!in_range(p->cl, 0, sc->chip_params->nsched_cls) ||
+	    !in_range(p->minrate, 0, top_speed) ||
+	    !in_range(p->maxrate, 0, top_speed) ||
+	    !in_range(p->weight, 0, 100))
+		return (ERANGE);
+
+	/*
+	 * Translate any unset parameters into the firmware's
+	 * nomenclature and/or fail the call if the parameters
+	 * are required ...
+	 */
+	if (p->rateunit < 0 || p->ratemode < 0 || p->channel < 0 || p->cl < 0)
+		return (EINVAL);
+
+	if (p->minrate < 0)
+		p->minrate = 0;
+	if (p->maxrate < 0) {
+		if (p->level == SCHED_CLASS_LEVEL_CL_RL ||
+		    p->level == SCHED_CLASS_LEVEL_CH_RL)
+			return (EINVAL);
+		else
+			p->maxrate = 0;
+	}
+	if (p->weight < 0) {
+		if (p->level == SCHED_CLASS_LEVEL_CL_WRR)
+			return (EINVAL);
+		else
+			p->weight = 0;
+	}
+	if (p->pktsize < 0) {
+		if (p->level == SCHED_CLASS_LEVEL_CL_RL ||
+		    p->level == SCHED_CLASS_LEVEL_CH_RL)
+			return (EINVAL);
+		else
+			p->pktsize = 0;
+	}
 
+	rc = begin_synchronized_op(sc, NULL,
+	    sleep_ok ? (SLEEP_OK | INTR_OK) : HOLD_LOCK, "t4sscp");
+	if (rc)
+		return (rc);
+	tc = &pi->tc[p->cl];
+	tc->params = *p;
+	rc = -t4_sched_params(sc, FW_SCHED_TYPE_PKTSCHED, fw_level, fw_mode,
+	    fw_rateunit, fw_ratemode, p->channel, p->cl, p->minrate, p->maxrate,
+	    p->weight, p->pktsize, sleep_ok);
+	if (rc == 0)
+		tc->flags |= TX_SC_OK;
+	else {
 		/*
-		 * Translate any unset parameters into the firmware's
-		 * nomenclature and/or fail the call if the parameters
-		 * are required ...
+		 * Unknown state at this point, see tc->params for what was
+		 * attempted.
 		 */
-		if (p->u.params.rateunit < 0 || p->u.params.ratemode < 0 ||
-		    p->u.params.channel < 0 || p->u.params.cl < 0) {
-			rc = EINVAL;
-			goto done;
-		}
-		if (p->u.params.minrate < 0)
-			p->u.params.minrate = 0;
-		if (p->u.params.maxrate < 0) {
-			if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL ||
-			    p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) {
-				rc = EINVAL;
-				goto done;
-			} else
-				p->u.params.maxrate = 0;
-		}
-		if (p->u.params.weight < 0) {
-			if (p->u.params.level == SCHED_CLASS_LEVEL_CL_WRR) {
-				rc = EINVAL;
-				goto done;
-			} else
-				p->u.params.weight = 0;
-		}
-		if (p->u.params.pktsize < 0) {
-			if (p->u.params.level == SCHED_CLASS_LEVEL_CL_RL ||
-			    p->u.params.level == SCHED_CLASS_LEVEL_CH_RL) {
-				rc = EINVAL;
-				goto done;
-			} else
-				p->u.params.pktsize = 0;
-		}
-
-		/* See what the firmware thinks of the request ... */
-		rc = -t4_sched_params(sc, fw_type, fw_level, fw_mode,
-		    fw_rateunit, fw_ratemode, p->u.params.channel,
-		    p->u.params.cl, p->u.params.minrate, p->u.params.maxrate,
-		    p->u.params.weight, p->u.params.pktsize, 1);
-		goto done;
+		tc->flags &= ~TX_SC_OK;
 	}
+	end_synchronized_op(sc, sleep_ok ? 0 : LOCK_HELD);
 
-	rc = EINVAL;
-done:
-	end_synchronized_op(sc, 0);
 	return (rc);
 }
 
 static int
+set_sched_class(struct adapter *sc, struct t4_sched_params *p)
+{
+
+	if (p->type != SCHED_CLASS_TYPE_PACKET)
+		return (EINVAL);
+
+	if (p->subcmd == SCHED_CLASS_SUBCMD_CONFIG)
+		return (set_sched_class_config(sc, p->u.config.minmax));
+
+	if (p->subcmd == SCHED_CLASS_SUBCMD_PARAMS)
+		return (set_sched_class_params(sc, &p->u.params, 1));
+
+	return (EINVAL);
+}
+
+static int
 set_sched_queue(struct adapter *sc, struct t4_sched_queue *p)
 {
 	struct port_info *pi = NULL;
@@ -8458,11 +8575,6 @@ set_sched_queue(struct adapter *sc, stru
 	if (rc)
 		return (rc);
 
-	if (!(sc->flags & FULL_INIT_DONE)) {
-		rc = EAGAIN;
-		goto done;
-	}
-
 	if (p->port >= sc->params.nports) {
 		rc = EINVAL;
 		goto done;
@@ -8471,7 +8583,14 @@ set_sched_queue(struct adapter *sc, stru
 	/* XXX: Only supported for the main VI. */
 	pi = sc->port[p->port];
 	vi = &pi->vi[0];
-	if (!in_range(p->queue, 0, vi->ntxq - 1) || !in_range(p->cl, 0, 7)) {
+	if (!(vi->flags & VI_INIT_DONE)) {
+		/* tx queues not set up yet */
+		rc = EAGAIN;
+		goto done;
+	}
+
+	if (!in_range(p->queue, 0, vi->ntxq - 1) ||
+	    !in_range(p->cl, 0, sc->chip_params->nsched_cls - 1)) {
 		rc = EINVAL;
 		goto done;
 	}

Modified: projects/vnet/sys/dev/e1000/if_igb.c
==============================================================================
--- projects/vnet/sys/dev/e1000/if_igb.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/e1000/if_igb.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -5154,7 +5154,7 @@ igb_rxeof(struct igb_queue *que, int cou
 					default:
 						/* XXX fallthrough */
 						M_HASHTYPE_SET(rxr->fmp,
-						    M_HASHTYPE_OPAQUE);
+						    M_HASHTYPE_OPAQUE_HASH);
 				}
 			} else {
 #ifndef IGB_LEGACY_TX

Modified: projects/vnet/sys/dev/gpio/gpiobus.c
==============================================================================
--- projects/vnet/sys/dev/gpio/gpiobus.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/gpio/gpiobus.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -79,22 +79,47 @@ static int gpiobus_pin_toggle(device_t, 
  * data will be moved into struct resource.
  */
 #ifdef INTRNG
+static void
+gpio_destruct_map_data(struct intr_map_data *map_data)
+{
+
+	KASSERT(map_data->type == INTR_MAP_DATA_GPIO,
+	    ("%s: bad map_data type %d", __func__, map_data->type));
+
+	free(map_data, M_DEVBUF);
+}
+
 struct resource *
 gpio_alloc_intr_resource(device_t consumer_dev, int *rid, u_int alloc_flags,
     gpio_pin_t pin, uint32_t intr_mode)
 {
-	u_int irqnum;
-
-	/*
-	 * Allocate new fictitious interrupt number and store configuration
-	 * into it.
-	 */
-	irqnum = intr_gpio_map_irq(pin->dev, pin->pin, pin->flags, intr_mode);
-	if (irqnum == INTR_IRQ_INVALID)
+	int rv;
+	u_int irq;
+	struct intr_map_data_gpio *gpio_data;
+	struct resource *res;
+
+	gpio_data = malloc(sizeof(*gpio_data), M_DEVBUF, M_WAITOK | M_ZERO);
+	gpio_data->hdr.type = INTR_MAP_DATA_GPIO;
+	gpio_data->hdr.destruct = gpio_destruct_map_data;
+	gpio_data->gpio_pin_num = pin->pin;
+	gpio_data->gpio_pin_flags = pin->flags;
+	gpio_data->gpio_intr_mode = intr_mode;
+
+	rv = intr_map_irq(pin->dev, 0, (struct intr_map_data *)gpio_data,
+	    &irq);
+	if (rv != 0) {
+		gpio_destruct_map_data((struct intr_map_data *)gpio_data);
 		return (NULL);
+	}
 
-	return (bus_alloc_resource(consumer_dev, SYS_RES_IRQ, rid,
-	    irqnum, irqnum, 1, alloc_flags));
+	res = bus_alloc_resource(consumer_dev, SYS_RES_IRQ, rid, irq, irq, 1,
+	    alloc_flags);
+	if (res == NULL) {
+		gpio_destruct_map_data((struct intr_map_data *)gpio_data);
+		return (NULL);
+	}
+	rman_set_virtual(res, gpio_data);
+	return (res);
 }
 #else
 struct resource *

Modified: projects/vnet/sys/dev/gpio/gpiobusvar.h
==============================================================================
--- projects/vnet/sys/dev/gpio/gpiobusvar.h	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/gpio/gpiobusvar.h	Tue Jun  7 14:16:10 2016	(r301547)
@@ -70,6 +70,13 @@ struct gpiobus_pin_data
 	char		*name;		/* pin name. */
 };
 
+struct intr_map_data_gpio {
+	struct intr_map_data	hdr;
+	u_int			gpio_pin_num;
+	u_int			gpio_pin_flags;
+	u_int		 	gpio_intr_mode;
+};
+
 struct gpiobus_softc
 {
 	struct mtx	sc_mtx;		/* bus mutex */

Modified: projects/vnet/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
==============================================================================
--- projects/vnet/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -1300,6 +1300,7 @@ netvsc_recv(struct hv_vmbus_channel *cha
 	struct ifnet *ifp = rxr->hn_ifp;
 	struct mbuf *m_new;
 	int size, do_lro = 0, do_csum = 1;
+	int hash_type = M_HASHTYPE_OPAQUE_HASH;
 
 	if (!(ifp->if_drv_flags & IFF_DRV_RUNNING))
 		return (0);
@@ -1430,8 +1431,6 @@ skip:
 	}
 
 	if (hash_info != NULL && hash_value != NULL) {
-		int hash_type = M_HASHTYPE_OPAQUE;
-
 		rxr->hn_rss_pkts++;
 		m_new->m_pkthdr.flowid = hash_value->hash_value;
 		if ((hash_info->hash_info & NDIS_HASH_FUNCTION_MASK) ==
@@ -1465,14 +1464,15 @@ skip:
 				break;
 			}
 		}
-		M_HASHTYPE_SET(m_new, hash_type);
 	} else {
-		if (hash_value != NULL)
+		if (hash_value != NULL) {
 			m_new->m_pkthdr.flowid = hash_value->hash_value;
-		else
+		} else {
 			m_new->m_pkthdr.flowid = rxr->hn_rx_idx;
-		M_HASHTYPE_SET(m_new, M_HASHTYPE_OPAQUE);
+			hash_type = M_HASHTYPE_OPAQUE;
+		}
 	}
+	M_HASHTYPE_SET(m_new, hash_type);
 
 	/*
 	 * Note:  Moved RX completion back to hv_nv_on_receive() so all

Modified: projects/vnet/sys/dev/ixgbe/ix_txrx.c
==============================================================================
--- projects/vnet/sys/dev/ixgbe/ix_txrx.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/ixgbe/ix_txrx.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -1964,7 +1964,7 @@ ixgbe_rxeof(struct ix_queue *que)
 #endif
                                     default:
                                         M_HASHTYPE_SET(sendmp,
-                                            M_HASHTYPE_OPAQUE);
+                                            M_HASHTYPE_OPAQUE_HASH);
                                 }
                         } else {
                                 sendmp->m_pkthdr.flowid = que->msix;

Modified: projects/vnet/sys/dev/ixl/ixl_txrx.c
==============================================================================
--- projects/vnet/sys/dev/ixl/ixl_txrx.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/ixl/ixl_txrx.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -1453,10 +1453,10 @@ ixl_ptype_to_hash(u8 ptype)
 	ex = decoded.outer_frag;
 
 	if (!decoded.known)
-		return M_HASHTYPE_OPAQUE;
+		return M_HASHTYPE_OPAQUE_HASH;
 
 	if (decoded.outer_ip == I40E_RX_PTYPE_OUTER_L2) 
-		return M_HASHTYPE_OPAQUE;
+		return M_HASHTYPE_OPAQUE_HASH;
 
 	/* Note: anything that gets to this point is IP */
         if (decoded.outer_ip_ver == I40E_RX_PTYPE_OUTER_IPV6) { 
@@ -1492,7 +1492,7 @@ ixl_ptype_to_hash(u8 ptype)
 		}
 	}
 	/* We should never get here!! */
-	return M_HASHTYPE_OPAQUE;
+	return M_HASHTYPE_OPAQUE_HASH;
 }
 #endif /* RSS */
 

Modified: projects/vnet/sys/dev/mlx5/driver.h
==============================================================================
--- projects/vnet/sys/dev/mlx5/driver.h	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/mlx5/driver.h	Tue Jun  7 14:16:10 2016	(r301547)
@@ -33,6 +33,7 @@
 #include <linux/pci.h>
 #include <linux/cache.h>
 #include <linux/rbtree.h>
+#include <linux/if_ether.h>
 #include <linux/semaphore.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>

Modified: projects/vnet/sys/dev/mlx5/mlx5_core/mlx5_vport.c
==============================================================================
--- projects/vnet/sys/dev/mlx5/mlx5_core/mlx5_vport.c	Tue Jun  7 14:11:15 2016	(r301546)
+++ projects/vnet/sys/dev/mlx5/mlx5_core/mlx5_vport.c	Tue Jun  7 14:16:10 2016	(r301547)
@@ -471,6 +471,241 @@ int mlx5_set_nic_vport_promisc(struct ml
 	return mlx5_modify_nic_vport_context(mdev, in, sizeof(in));
 }
 EXPORT_SYMBOL_GPL(mlx5_set_nic_vport_promisc);
+
+int mlx5_query_nic_vport_mac_list(struct mlx5_core_dev *dev,
+				  u32 vport,
+				  enum mlx5_list_type list_type,
+				  u8 addr_list[][ETH_ALEN],
+				  int *list_size)
+{
+	u32 in[MLX5_ST_SZ_DW(query_nic_vport_context_in)];
+	void *nic_vport_ctx;
+	int max_list_size;
+	int req_list_size;
+	u8 *mac_addr;
+	int out_sz;
+	void *out;
+	int err;
+	int i;
+
+	req_list_size = *list_size;
+
+	max_list_size = (list_type == MLX5_NIC_VPORT_LIST_TYPE_UC) ?
+			1 << MLX5_CAP_GEN_MAX(dev, log_max_current_uc_list) :
+			1 << MLX5_CAP_GEN_MAX(dev, log_max_current_mc_list);
+
+	if (req_list_size > max_list_size) {
+		mlx5_core_warn(dev, "Requested list size (%d) > (%d) max_list_size\n",
+			       req_list_size, max_list_size);
+		req_list_size = max_list_size;
+	}
+
+	out_sz = MLX5_ST_SZ_BYTES(modify_nic_vport_context_in) +
+		 req_list_size * MLX5_ST_SZ_BYTES(mac_address_layout);
+
+	memset(in, 0, sizeof(in));
+	out = kzalloc(out_sz, GFP_KERNEL);
+	if (!out)
+		return -ENOMEM;
+
+	MLX5_SET(query_nic_vport_context_in, in, opcode,
+		 MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT);
+	MLX5_SET(query_nic_vport_context_in, in, allowed_list_type, list_type);
+	MLX5_SET(query_nic_vport_context_in, in, vport_number, vport);
+
+	if (vport)
+		MLX5_SET(query_nic_vport_context_in, in, other_vport, 1);
+
+	err = mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, out_sz);
+	if (err)
+		goto out;
+
+	nic_vport_ctx = MLX5_ADDR_OF(query_nic_vport_context_out, out,
+				     nic_vport_context);
+	req_list_size = MLX5_GET(nic_vport_context, nic_vport_ctx,
+				 allowed_list_size);
+
+	*list_size = req_list_size;
+	for (i = 0; i < req_list_size; i++) {
+		mac_addr = MLX5_ADDR_OF(nic_vport_context,
+					nic_vport_ctx,
+					current_uc_mac_address[i]) + 2;
+		ether_addr_copy(addr_list[i], mac_addr);
+	}
+out:
+	kfree(out);
+	return err;
+}
+EXPORT_SYMBOL_GPL(mlx5_query_nic_vport_mac_list);
+
+int mlx5_modify_nic_vport_mac_list(struct mlx5_core_dev *dev,
+				   enum mlx5_list_type list_type,
+				   u8 addr_list[][ETH_ALEN],
+				   int list_size)
+{
+	u32 out[MLX5_ST_SZ_DW(modify_nic_vport_context_out)];
+	void *nic_vport_ctx;
+	int max_list_size;
+	int in_sz;
+	void *in;
+	int err;
+	int i;
+
+	max_list_size = list_type == MLX5_NIC_VPORT_LIST_TYPE_UC ?
+		 1 << MLX5_CAP_GEN(dev, log_max_current_uc_list) :
+		 1 << MLX5_CAP_GEN(dev, log_max_current_mc_list);
+
+	if (list_size > max_list_size)
+		return -ENOSPC;
+
+	in_sz = MLX5_ST_SZ_BYTES(modify_nic_vport_context_in) +
+		list_size * MLX5_ST_SZ_BYTES(mac_address_layout);
+
+	memset(out, 0, sizeof(out));
+	in = kzalloc(in_sz, GFP_KERNEL);
+	if (!in)
+		return -ENOMEM;
+
+	MLX5_SET(modify_nic_vport_context_in, in, opcode,
+		 MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT);
+	MLX5_SET(modify_nic_vport_context_in, in,
+		 field_select.addresses_list, 1);
+
+	nic_vport_ctx = MLX5_ADDR_OF(modify_nic_vport_context_in, in,
+				     nic_vport_context);
+
+	MLX5_SET(nic_vport_context, nic_vport_ctx,
+		 allowed_list_type, list_type);
+	MLX5_SET(nic_vport_context, nic_vport_ctx,
+		 allowed_list_size, list_size);
+
+	for (i = 0; i < list_size; i++) {
+		u8 *curr_mac = MLX5_ADDR_OF(nic_vport_context,
+					    nic_vport_ctx,
+					    current_uc_mac_address[i]) + 2;
+		ether_addr_copy(curr_mac, addr_list[i]);
+	}
+
+	err = mlx5_cmd_exec_check_status(dev, in, in_sz, out, sizeof(out));
+	kfree(in);
+	return err;
+}
+EXPORT_SYMBOL_GPL(mlx5_modify_nic_vport_mac_list);
+
+int mlx5_query_nic_vport_vlan_list(struct mlx5_core_dev *dev,
+				   u32 vport,
+				   u16 *vlan_list,
+				   int *list_size)
+{
+	u32 in[MLX5_ST_SZ_DW(query_nic_vport_context_in)];
+	void *nic_vport_ctx;
+	int max_list_size;
+	int req_list_size;
+	int out_sz;
+	void *out;
+	void *vlan_addr;
+	int err;
+	int i;
+
+	req_list_size = *list_size;
+
+	max_list_size = 1 << MLX5_CAP_GEN_MAX(dev, log_max_vlan_list);
+
+	if (req_list_size > max_list_size) {
+		mlx5_core_warn(dev, "Requested list size (%d) > (%d) max_list_size\n",
+			       req_list_size, max_list_size);
+		req_list_size = max_list_size;
+	}
+
+	out_sz = MLX5_ST_SZ_BYTES(modify_nic_vport_context_in) +
+		 req_list_size * MLX5_ST_SZ_BYTES(vlan_layout);
+
+	memset(in, 0, sizeof(in));
+	out = kzalloc(out_sz, GFP_KERNEL);
+	if (!out)
+		return -ENOMEM;
+
+	MLX5_SET(query_nic_vport_context_in, in, opcode,
+		 MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT);
+	MLX5_SET(query_nic_vport_context_in, in, allowed_list_type,
+		 MLX5_NIC_VPORT_CONTEXT_ALLOWED_LIST_TYPE_VLAN_LIST);
+	MLX5_SET(query_nic_vport_context_in, in, vport_number, vport);
+
+	if (vport)
+		MLX5_SET(query_nic_vport_context_in, in, other_vport, 1);
+
+	err = mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, out_sz);
+	if (err)
+		goto out;
+
+	nic_vport_ctx = MLX5_ADDR_OF(query_nic_vport_context_out, out,
+				     nic_vport_context);
+	req_list_size = MLX5_GET(nic_vport_context, nic_vport_ctx,
+				 allowed_list_size);
+
+	*list_size = req_list_size;
+	for (i = 0; i < req_list_size; i++) {
+		vlan_addr = MLX5_ADDR_OF(nic_vport_context, nic_vport_ctx,
+					 current_uc_mac_address[i]);
+		vlan_list[i] = MLX5_GET(vlan_layout, vlan_addr, vlan);
+	}
+out:
+	kfree(out);
+	return err;
+}
+EXPORT_SYMBOL_GPL(mlx5_query_nic_vport_vlan_list);
+
+int mlx5_modify_nic_vport_vlans(struct mlx5_core_dev *dev,
+				u16 vlans[],
+				int list_size)
+{
+	u32 out[MLX5_ST_SZ_DW(modify_nic_vport_context_out)];
+	void *nic_vport_ctx;
+	int max_list_size;
+	int in_sz;
+	void *in;
+	int err;
+	int i;
+
+	max_list_size = 1 << MLX5_CAP_GEN(dev, log_max_vlan_list);
+
+	if (list_size > max_list_size)
+		return -ENOSPC;
+
+	in_sz = MLX5_ST_SZ_BYTES(modify_nic_vport_context_in) +
+		list_size * MLX5_ST_SZ_BYTES(vlan_layout);
+
+	memset(out, 0, sizeof(out));
+	in = kzalloc(in_sz, GFP_KERNEL);
+	if (!in)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@freebsd.org  Wed Jun  8 11:24:02 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2766B6F7AF
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Wed,  8 Jun 2016 11:24:02 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 852351217;
 Wed,  8 Jun 2016 11:24:02 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u58BO13L092141;
 Wed, 8 Jun 2016 11:24:01 GMT (envelope-from bz@FreeBSD.org)
Received: (from bz@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u58BO1IH092140;
 Wed, 8 Jun 2016 11:24:01 GMT (envelope-from bz@FreeBSD.org)
Message-Id: <201606081124.u58BO1IH092140@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org
 using -f
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Wed, 8 Jun 2016 11:24:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301601 - projects/vnet/sys/netinet
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Jun 2016 11:24:02 -0000

Author: bz
Date: Wed Jun  8 11:24:01 2016
New Revision: 301601
URL: https://svnweb.freebsd.org/changeset/base/301601

Log:
  Replace the DELAY with a more sophisticated check to make sure
  the inps are all gone before doing the cleanup.  We might decide
  to do a partial cleanup before polling, but for now bail on the
  safe side.
  
  Also use pause instead of DELAY [1].
  
  Suggested by:	rwatson [1]
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/vnet/sys/netinet/tcp_subr.c

Modified: projects/vnet/sys/netinet/tcp_subr.c
==============================================================================
--- projects/vnet/sys/netinet/tcp_subr.c	Wed Jun  8 11:18:49 2016	(r301600)
+++ projects/vnet/sys/netinet/tcp_subr.c	Wed Jun  8 11:24:01 2016	(r301601)
@@ -731,18 +731,19 @@ tcp_init(void)
 static void
 tcp_destroy(void *unused __unused)
 {
-	int error;
+	int error, n;
 
 	/*
 	 * All our processes are gone, all our sockets should be cleaned
 	 * up, which means, we should be past the tcp_discardcb() calls.
-	 * Sleep to let all tcpcb timers really disappear and then cleanup.
-	 * Timewait will cleanup its queue and will be ready to go.
-	 * XXX-BZ In theory a few ticks should be good enough to make sure
-	 * the timers are all really gone.  We should see if we could use a
-	 * better metric here and, e.g., check a tcbcb count as an optimization?
+	 * Sleep to let all tcpcb timers really disappear and cleanup.
 	 */
-	DELAY(1000000 / hz);
+	do {
+		pause("tcpdes", hz/10);
+		INP_LIST_RLOCK(&V_tcbinfo);
+		n = V_tcbinfo.ipi_count;
+		INP_LIST_RUNLOCK(&V_tcbinfo);
+	} while (n != 0);
 	tcp_hc_destroy();
 	syncache_destroy();
 	tcp_tw_destroy();

From owner-svn-src-projects@freebsd.org  Wed Jun  8 11:57:15 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65C4EB6FDAE
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Wed,  8 Jun 2016 11:57:15 +0000 (UTC) (envelope-from zec@fer.hr)
Received: from mail.fer.hr (mail.fer.hr [161.53.72.233])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (Client CN "mail.fer.hr", Issuer "TERENA SSL CA 3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id F097D13D9;
 Wed,  8 Jun 2016 11:57:13 +0000 (UTC) (envelope-from zec@fer.hr)
Received: from x23 (161.53.63.210) by MAIL.fer.hr (161.53.72.233) with
 Microsoft SMTP Server (TLS) id 14.3.279.2; Wed, 8 Jun 2016 13:56:00 +0200
Date: Wed, 8 Jun 2016 13:56:47 +0200
From: Marko Zec <zec@fer.hr>
To: "Bjoern A. Zeeb" <bz@freebsd.org>
CC: <src-committers@freebsd.org>, <svn-src-projects@freebsd.org>
Subject: Re: svn commit: r301601 - projects/vnet/sys/netinet
Message-ID: <20160608135647.52b3bdec@x23>
In-Reply-To: <201606081124.u58BO1IH092140@repo.freebsd.org>
References: <201606081124.u58BO1IH092140@repo.freebsd.org>
X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.29; amd64-portbld-freebsd10.1)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Originating-IP: [161.53.63.210]
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Jun 2016 11:57:15 -0000

On Wed, 8 Jun 2016 11:24:01 +0000
"Bjoern A. Zeeb" <bz@freebsd.org> wrote:

> Author: bz
> Date: Wed Jun  8 11:24:01 2016
> New Revision: 301601
> URL: https://svnweb.freebsd.org/changeset/base/301601
> 
> Log:
>   Replace the DELAY with a more sophisticated check to make sure
>   the inps are all gone before doing the cleanup.  We might decide
>   to do a partial cleanup before polling, but for now bail on the
>   safe side.
>   
>   Also use pause instead of DELAY [1].

This is a welcome improvement!  However, unconditionally pausing for
100 ms migt be an overpessimization here.  Perhaps the pause could
be moved after reading V_tcbinfo.ipi_count, in order to pause
conditionally only on non-zero reads, which should almost never happen
in practice, as the DELAY() hack was already deemed a safety belt in
the first place.  And even if / when the pause would be triggered, it
would be probably enough to sleep for 10 ms or so - the removed DELAY()
actually lasted for only a single clock tick.

Marko


>   Suggested by:	rwatson [1]
>   Sponsored by:	The FreeBSD Foundation
> 
> Modified:
>   projects/vnet/sys/netinet/tcp_subr.c
> 
> Modified: projects/vnet/sys/netinet/tcp_subr.c
> ==============================================================================
> --- projects/vnet/sys/netinet/tcp_subr.c	Wed Jun  8 11:18:49
> 2016	(r301600) +++ projects/vnet/sys/netinet/tcp_subr.c
> Wed Jun  8 11:24:01 2016	(r301601) @@ -731,18 +731,19 @@
> tcp_init(void) static void
>  tcp_destroy(void *unused __unused)
>  {
> -	int error;
> +	int error, n;
>  
>  	/*
>  	 * All our processes are gone, all our sockets should be
> cleaned
>  	 * up, which means, we should be past the tcp_discardcb()
> calls.
> -	 * Sleep to let all tcpcb timers really disappear and then
> cleanup.
> -	 * Timewait will cleanup its queue and will be ready to go.
> -	 * XXX-BZ In theory a few ticks should be good enough to
> make sure
> -	 * the timers are all really gone.  We should see if we
> could use a
> -	 * better metric here and, e.g., check a tcbcb count as an
> optimization?
> +	 * Sleep to let all tcpcb timers really disappear and
> cleanup. */
> -	DELAY(1000000 / hz);
> +	do {
> +		pause("tcpdes", hz/10);
> +		INP_LIST_RLOCK(&V_tcbinfo);
> +		n = V_tcbinfo.ipi_count;
> +		INP_LIST_RUNLOCK(&V_tcbinfo);
> +	} while (n != 0);
>  	tcp_hc_destroy();
>  	syncache_destroy();
>  	tcp_tw_destroy();
> 


From owner-svn-src-projects@freebsd.org  Wed Jun  8 15:09:08 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id ABDC3B6F1E9
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Wed,  8 Jun 2016 15:09:08 +0000 (UTC)
 (envelope-from gavin@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 64DB212D0;
 Wed,  8 Jun 2016 15:09:08 +0000 (UTC)
 (envelope-from gavin@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u58F97RX074473;
 Wed, 8 Jun 2016 15:09:07 GMT (envelope-from gavin@FreeBSD.org)
Received: (from gavin@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u58F97Mt074472;
 Wed, 8 Jun 2016 15:09:07 GMT (envelope-from gavin@FreeBSD.org)
Message-Id: <201606081509.u58F97Mt074472@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: gavin set sender to
 gavin@FreeBSD.org using -f
From: Gavin Atkinson <gavin@FreeBSD.org>
Date: Wed, 8 Jun 2016 15:09:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301633 - projects/pciehp
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Jun 2016 15:09:08 -0000

Author: gavin
Date: Wed Jun  8 15:09:07 2016
New Revision: 301633
URL: https://svnweb.freebsd.org/changeset/base/301633

Log:
  Remove projects/pciehp branch - a better, more complete solution has been
  committed to head in r299142  by jhb.

Deleted:
  projects/pciehp/

From owner-svn-src-projects@freebsd.org  Sat Jun 11 14:46:50 2016
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0D87AF02D2
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Sat, 11 Jun 2016 14:46:50 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 723802790;
 Sat, 11 Jun 2016 14:46:50 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u5BEknOO078668;
 Sat, 11 Jun 2016 14:46:49 GMT (envelope-from ngie@FreeBSD.org)
Received: (from ngie@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u5BEknSD078667;
 Sat, 11 Jun 2016 14:46:49 GMT (envelope-from ngie@FreeBSD.org)
Message-Id: <201606111446.u5BEknSD078667@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: ngie set sender to
 ngie@FreeBSD.org using -f
From: Garrett Cooper <ngie@FreeBSD.org>
Date: Sat, 11 Jun 2016 14:46:49 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r301834 - projects/bsnmp-improved-ipv6-support
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 11 Jun 2016 14:46:50 -0000

Author: ngie
Date: Sat Jun 11 14:46:49 2016
New Revision: 301834
URL: https://svnweb.freebsd.org/changeset/base/301834

Log:
  Copy ^/head to work on importing the improvements made by shonali@
  in GSoC 2014 for improving IPv6 with bsnmpd
  
  More information about the project content being imported can be
  found here:
  https://wiki.freebsd.org/SummerOfCode2014/BSNMPEnhancements
  
  Sponsored by: EMC / Isilon Storage Division

Added:
     - copied from r301833, head/
Directory Properties:
  projects/bsnmp-improved-ipv6-support/   (props changed)