FreeBSD/src bf89881tests/sys/netpfil/pf nat66.py

pf tests: fix REQUIRED_MODULES typo

This ensures we don't try to run the nat66 tests if pf is not loaded.

Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+1-1tests/sys/netpfil/pf/nat66.py
+1-11 files

FreeBSD/src aa48259usr.sbin/periodic periodic.conf, usr.sbin/periodic/etc/security 200.chkmounts 800.loginfail

periodic.conf: remove long deprecated security_daily_compat_var()

This function is documented to be gone in after 11. Time to remove this
compat shim.

PR:             275296
Reviewed by:    jrm (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D44796
DeltaFile
+0-22usr.sbin/periodic/periodic.conf
+0-4usr.sbin/periodic/etc/security/200.chkmounts
+0-3usr.sbin/periodic/etc/security/800.loginfail
+0-3usr.sbin/periodic/etc/security/900.tcpwrap
+0-3usr.sbin/periodic/etc/security/security.functions
+0-2usr.sbin/periodic/etc/security/500.ipfwdenied
+0-3710 files not shown
+0-5716 files

FreeBSD/src 7b082bdsys/conf newvers.sh, sys/sys param.h

Post-14.1-branch updates

Rename stable/14 to -STABLE

Bump __FreeBSD_version

Approved by:    re (implicit)
Sponsored by:   https://www.patreon.com/cperciva
DeltaFile
+1-1sys/conf/newvers.sh
+1-1sys/sys/param.h
+2-22 files

FreeBSD/src 3f5f387release/pkg_repos release-dvd.conf, sys/conf newvers.sh

14.1: create releng/14.1 branch

Update from PRERELEASE to BETA1
Switch pkg(8) configuration to use the quarterly repository
Bump __FreeBSD_version

Approved by:    re (implicit)
Sponsored by:   https://www.patreon.com/cperciva
DeltaFile
+1-1release/pkg_repos/release-dvd.conf
+1-1sys/conf/newvers.sh
+1-1sys/sys/param.h
+3-33 files

FreeBSD/src c4d0e1fcontrib/libarchive/libarchive archive_string.c archive_match.c, contrib/libarchive/unzip/test test_I.c

libarchive: merge bugfixes from vendor branch

 #2147 archive_string: clean up strncat_from_utf8_to_utf8 (36047967a)
 #2153 archive_match: check archive_read_support_format_raw()
       return value (0ce1b4c38)
 #2154 archive_match: turn counter into flag (287e05d53)
 #2155 lha: Do not allow negative file sizes (93b11caed)
 #2156 tests: setenv LANG to en_US.UTF-8 in bsdunzip test_I.c (83e8b0ea8)

(cherry picked from commit c0b58e65deca1e5e2c434ede7e64f03af6044be8)
DeltaFile
+42-54contrib/libarchive/libarchive/archive_string.c
+9-9contrib/libarchive/libarchive/archive_match.c
+8-0contrib/libarchive/unzip/test/test_I.c
+2-0contrib/libarchive/libarchive/archive_read_support_format_lha.c
+61-634 files

FreeBSD/src cf2750bsys/kern sys_generic.c

kcmp_pget(): do not accept TIDs

(cherry picked from commit 5b3e5c6ce3e552dae3e84d6bc781bc9f53c22d71)
DeltaFile
+2-1sys/kern/sys_generic.c
+2-11 files

FreeBSD/src d9ec850libexec/rtld-elf rtld_printf.c

rtld snprintf: do not erronously skip a char at the buffer boundary

(cherry picked from commit 56ee5fc43c40479e2651b21862e299bcf73017ae)
DeltaFile
+3-4libexec/rtld-elf/rtld_printf.c
+3-41 files

FreeBSD/src 6b667b4sys/kern sys_generic.c

kcmp_pget(): add an assert that we did not hold the current process

(cherry picked from commit 1e01650a787028fd558e8cb709c232e335fc2cd9)
DeltaFile
+5-1sys/kern/sys_generic.c
+5-11 files

FreeBSD/src 44debeelibexec/rtld-elf rtld_printf.c

rtld snprintf: do not erronously skip a char at the buffer boundary

(cherry picked from commit 56ee5fc43c40479e2651b21862e299bcf73017ae)
DeltaFile
+3-4libexec/rtld-elf/rtld_printf.c
+3-41 files

FreeBSD/src 33cac29sys/kern sys_generic.c

kcmp_pget(): do not accept TIDs

(cherry picked from commit 5b3e5c6ce3e552dae3e84d6bc781bc9f53c22d71)
DeltaFile
+2-1sys/kern/sys_generic.c
+2-11 files

FreeBSD/src 66e0bf7sys/kern sys_generic.c

kcmp_pget(): add an assert that we did not hold the current process

(cherry picked from commit 1e01650a787028fd558e8cb709c232e335fc2cd9)
DeltaFile
+5-1sys/kern/sys_generic.c
+5-11 files

FreeBSD/src a8089eausr.sbin/nvmfd io.c devices.c

nvmfd: A simple userspace daemon for the NVMe over Fabrics controller

This daemon can operate as a purely userspace controller exporting one
or more simulated RAM disks or local block devices as NVMe namespaces
to a remote host.  In this case the daemon provides a discovery
controller with a single entry for an I/O controller.

nvmfd can also offload I/O controller queue pairs to the nvmft.ko
in-kernel Fabrics controller when -K is passed.  In this mode, nvmfd
still accepts connections and performs initial transport-specific
negotitation in userland.  The daemon still provides a userspace-only
discovery controller with a single entry for an I/O controller.
However, queue pairs for the I/O controller are handed off to the CTL
NVMF frontend.

Eventually ctld(8) should be refactored to to provide an abstraction
for the frontend protocol and the discovery and the kernel mode of
this daemon should be merged into ctld(8).  At that point this daemon
can be moved to tools/tools/nvmf as a debugging tool (mostly as sample

    [5 lines not shown]
DeltaFile
+677-0usr.sbin/nvmfd/io.c
+386-0usr.sbin/nvmfd/devices.c
+343-0usr.sbin/nvmfd/discovery.c
+260-0usr.sbin/nvmfd/nvmfd.c
+244-0usr.sbin/nvmfd/controller.c
+139-0usr.sbin/nvmfd/ctl.c
+2,049-04 files not shown
+2,255-010 files

FreeBSD/src 4f9fa31usr.sbin/ctladm ctladm.c ctladm.8

ctladm: Add nvlist command to list active NVMeoF associations

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44728
DeltaFile
+253-1usr.sbin/ctladm/ctladm.c
+16-1usr.sbin/ctladm/ctladm.8
+269-22 files

FreeBSD/src 09a9315tools/tools/nvmf/nvmfdd nvmfdd.c Makefile

nvmfdd: A simple userspace NVMe over Fabrics host

This program uses libnvmf to connect to a remote Fabrics controller
and perform a single read or write operation.  The write command reads
data from stdin to construct one or more NVM Write commands sent to
the remote namespace.  The read command uses one or more NVM Read
commands to read blocks from a remote namespace writing the data to
stdout.

Reviewed by:    chuck, imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44730
DeltaFile
+493-0tools/tools/nvmf/nvmfdd/nvmfdd.c
+9-0tools/tools/nvmf/nvmfdd/Makefile
+502-02 files

FreeBSD/src 17c907dusr.sbin/ctladm ctladm.c ctladm.8

ctladm: Add nvterminate command to drop active NVMeoF associations

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44729
DeltaFile
+72-2usr.sbin/ctladm/ctladm.c
+13-0usr.sbin/ctladm/ctladm.8
+85-22 files

FreeBSD/src 25bad5asys/cam/ctl ctl_ioctl.h ctl.c

ctl: Add NVMF port type and ioctls

- Add CTL_PORT_NVMF as a new port type.

- Define a new CTL_NVMF ioctl for NVMF-specific operations similar to
  CTL_ISCSI.  This ioctl supports a command to handoff a single
  queue pair, a command to enumerate active associations, and a
  command to disconnect one or more active associations.

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44724
DeltaFile
+62-0sys/cam/ctl/ctl_ioctl.h
+17-0sys/cam/ctl/ctl.c
+1-0sys/cam/ctl/ctl.h
+80-03 files

FreeBSD/src 5fd6897usr.sbin/ctladm ctladm.c

ctladm: Permit creating nvmf ports

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44727
DeltaFile
+1-0usr.sbin/ctladm/ctladm.c
+1-01 files

FreeBSD/src 51346bdsys/kern kern_mbuf.c, sys/sys mbuf.h

mbuf: Add EXT_CTL for mbufs backed by a CTL backend buffer

This is somewhat similar to EXT_NET_DRV, but CTL isn't a network
driver.

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44725
DeltaFile
+1-0sys/sys/mbuf.h
+1-0sys/kern/kern_mbuf.c
+2-02 files

FreeBSD/src 40a4359sys/cam/ctl ctl_backend_block.c

ctl_backend_block: Prepare for NVMe support

- Use wrapper routines for access to shared fields between SCSI and
  NVMe I/O requests.

- Use protocol-agnostic wrapper routines for I/O completion status.

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44851
DeltaFile
+73-56sys/cam/ctl/ctl_backend_block.c
+73-561 files

FreeBSD/src a15f7c9share/man/man4 nvmft.4, sys/dev/nvmf/controller nvmft_controller.c ctl_frontend_nvmf.c

nvmft: The in-kernel NVMe over Fabrics controller

This is the server (target in SCSI terms) for NVMe over Fabrics.
Userland is responsible for accepting a new queue pair and receiving
the initial Connect command before handing the queue pair off via an
ioctl to this CTL frontend.

This frontend exposes CTL LUNs as NVMe namespaces to remote hosts.
Users can ask LUNS to CTL that can be shared via either iSCSI or
NVMeoF.

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44726
DeltaFile
+1,130-0sys/dev/nvmf/controller/nvmft_controller.c
+1,123-0sys/dev/nvmf/controller/ctl_frontend_nvmf.c
+361-0sys/dev/nvmf/controller/nvmft_qpair.c
+174-0sys/dev/nvmf/controller/nvmft_var.h
+85-0share/man/man4/nvmft.4
+10-0sys/modules/nvmf/nvmft/Makefile
+2,883-04 files not shown
+2,893-210 files

FreeBSD/src d5c21c6sys/cam/ctl ctl_backend_ramdisk.c

ctl_backend_ramdisk: Add support for NVMe

One known caveat is that the support for WRITE_UNCORRECTABLE is not
quite correct as reads from LBAs after a WRITE_UNCORRECTABLE will
return zeroes rather than an error.  Fixing this would likely require
special handling for PG_ANCHOR for NVMe requests (or adding a new
PG_UNCORRECTABLE).

Reviewed by:    ken, imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44722
DeltaFile
+205-2sys/cam/ctl/ctl_backend_ramdisk.c
+205-21 files

FreeBSD/src 374f12csys/cam/ctl ctl_backend_block.c

ctl_backend_block: Add support for NVMe

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44723
DeltaFile
+444-28sys/cam/ctl/ctl_backend_block.c
+444-281 files

FreeBSD/src ccaaee4sys/cam/ctl ctl_backend_ramdisk.c

ctl_backend_ramdisk: Prepare for NVMe support

- Use wrapper routines for access to shared fields between SCSI and
  NVMe I/O requests.

- Use protocol-agnostic wrapper routines for I/O completion status.

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44849
DeltaFile
+23-30sys/cam/ctl/ctl_backend_ramdisk.c
+23-301 files

FreeBSD/src bef5da8sys/cam/ctl ctl.c ctl_backend.h

ctl: Add helper routines to populate NVMe namespace data IDs for a LUN

These will be used by the backends to populate the unique ID fields
like EUI64 in the NVMe namespace data (CNS == 0) and namespace
identification descriptor list (CNS == 3).

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44721
DeltaFile
+85-0sys/cam/ctl/ctl.c
+11-0sys/cam/ctl/ctl_backend.h
+96-02 files

FreeBSD/src 0c4ee61sys/cam/ctl ctl.c ctl_nvme_cmd_table.c, sys/conf files

ctl: Support for NVMe commands

- Add support for queueing and executing NVMe admin and NVM commands
  via ctl_run and ctl_queue.  This requires fixing a few places that
  were SCSI-specific to add NVME logic.

- NVMe has much simpler command ordering requirements than SCSI.  In
  particular, the HBA is not required to enforce any specific ordering
  for requests with overlapping LBAs.  The host is required to manage
  that ordering.  However, fused commands (currently only COMPARE and
  WRITE NVM commands can be fused) are required to be executed
  atomically.

  To support fused commands, make the second half of a fused command
  block on the first half, and have commands submitted after a fused
  command pair block on the second half.

- Add handlers and command tables for admin and NVM commands that
  operate on individual namespaces and will be passed down from an

    [5 lines not shown]
DeltaFile
+852-9sys/cam/ctl/ctl.c
+35-0sys/cam/ctl/ctl_nvme_cmd_table.c
+19-1sys/cam/ctl/ctl_private.h
+1-0sys/conf/files
+1-0sys/modules/ctl/Makefile
+908-105 files

FreeBSD/src 105333fsys/cam/ctl ctl.c

ctl: Add assertions in SCSI-only paths

Assert that only SCSI I/O requests are passed in various places
that assume a SCSI I/O request (that is, places that access fields
in io->scsiio directly).

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44847
DeltaFile
+45-0sys/cam/ctl/ctl.c
+45-01 files

FreeBSD/src ab4b838sys/cam/ctl ctl.c

ctl: Update some core data paths to be protocol agnostic

- Add wrapper routines for invoking the be_move_done and io_continue
  callbacks in SCSI and NVMe I/O requests.

- Use wrapper routines for access to shared fields between SCSI and
  NVMe I/O requests.

- ctl_config_write_done is not fully updated since it resubmits SCSI
  commands via ctl_scsiio.  This will be completed in a subsequent
  commit when ctl_nvmeio is added.

Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44846
DeltaFile
+169-56sys/cam/ctl/ctl.c
+169-561 files

FreeBSD/src 6f308bcsys/cam/ctl ctl_nvme_all.c ctl_util.c, sys/modules/ctl Makefile

ctl: Support NVMe requests in debug trace functions

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44719
DeltaFile
+244-0sys/cam/ctl/ctl_nvme_all.c
+43-12sys/cam/ctl/ctl_util.c
+17-0sys/cam/ctl/ctl_nvme_all.h
+1-1usr.sbin/ctladm/Makefile
+1-0sys/modules/ctl/Makefile
+1-0usr.sbin/bhyve/Makefile
+307-131 files not shown
+308-137 files

FreeBSD/src 7557794sys/cam/ctl ctl_error.c ctl_error.h

ctl: Add helper routines for setting NVMe completion status

Also includes a few protocol-agnostic wrappers for setting a generic
status (such as success) for a CTL I/O request whether it be SCSI or
NVMe.

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44718
DeltaFile
+219-0sys/cam/ctl/ctl_error.c
+27-0sys/cam/ctl/ctl_error.h
+246-02 files

FreeBSD/src 5965781sys/cam/ctl ctl_io.h

ctl: Add structure and related constants for NVMe commands

This includes static inline functions to serve as getters/setters for
fields shared between SCSI and NVMe I/O requests to manage data
buffers.

Reviewed by:    ken, imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D44717
DeltaFile
+335-2sys/cam/ctl/ctl_io.h
+335-21 files