NVMF(4)

NAME
nvmf - NVM Express over Fabrics host driver

SYNOPSIS
To compile the driver into the kernel, place the following line in the kernel configuration file:

device nvmf

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    nvmf_load="YES"

DESCRIPTION
The nvmf driver provides the kernel component of an NVM Express over Fabrics host. The NVMeoF host is the client which provides local access to namespaces exported by a remote controller.

Associations between the local host and remote controllers are managed using nvmecontrol(8). New associations are created via the connect command and destroyed via the disconnect command. If an association's connection is interrupted, the reconnect command creates a new association to replace the interrupted association.

Similar to nvme(4), nvmf creates controller device nodes using the format /dev/nvmeX and namespace device nodes using the format /dev/nvmeXnsY. nvmf also exports remote namespaces via the CAM nda(4) peripheral driver. Unlike nvme(4), nvmf does not support the nvd(4) disk driver.

Associations require a supported transport such as nvmf_tcp(4) for associations using TCP/IP.

SYSCTL VARIABLES
The following variables are available as both sysctl(8) variables and loader(8) tunables:

kern.nvmf.fail_on_disconnection
    Determines the behavior when an association's connection is interrupted. By default, input/output operations are suspended while a host is disconnected. This includes operations pending at the time the association's connection was interrupted as well as new requests submitted while the host is disconnected. Once a new association is established, suspended I/O requests are retried. When set to 1, input/output operations fail with EIO while a host is disconnected and nda(4) peripherals are destroyed after the first failed I/O request. Note that any destroyed nda(4) peripherals will be recreated after a new association is established.

SEE ALSO
nda(4), nvme(4), nvmf_tcp(4), nvmft(4), nvmecontrol(8)

HISTORY
The nvmf module first appeared in FreeBSD 15.0.

AUTHORS
The nvmf driver was developed by John Baldwin <jhb@FreeBSD.org> under sponsorship from Chelsio Communications, Inc.