NVMFD(8)

NAME
nvmfd - NVMeoF controller daemon

SYNOPSIS
nvmfd -K [-dFGg] [-H MAXH2CDATA] [-P port] [-p port] [-t transport] [-n subnqn]
nvmfd [-dFGg] [-H MAXH2CDATA] [-P port] [-p port] [-t transport] [-n subnqn] device [device ...]

DESCRIPTION
nvmfd accepts incoming NVMeoF connections for both I/O and discovery controllers. nvmfd can either implement a single dynamic I/O controller in user mode or hand off incoming I/O controller connections to nvmft(4). A dynamic discovery controller service is always provided in user mode.

The following options are available:

-F  Permit remote hosts to disable SQ flow control.

-G  Permit remote hosts to enable PDU data digests for the TCP transport.

-g  Permit remote hosts to enable PDU header digests for the TCP transport.

-H  Set the MAXH2CDATA value advertised to the remote host for the TCP transport. This value is in bytes and determines the maximum data payload size for data PDUs sent by the remote host. The value must be at least 4096 and defaults to 256KiB.

-K  Enable kernel mode which hands off incoming I/O controller connections to nvmft(4).

-P port
    Use port as the listen TCP port for the discovery controller service. The default value is 8009.

-d  Enable debug mode. The daemon sends any errors to standard output and does not place itself in the background.

-p port
    Use port as the listen TCP port for the I/O controller service. By default an unused ephemeral port will be chosen.

-n subnqn
    The Subsystem NVMe Qualified Name for the I/O controller. If an explicit NQN is not given, a default value is generated from the current host's UUID obtained from the kern.hostuuid sysctl.

-t transport
    The transport type to use. The default transport is “tcp”.

device
    When implementing a user mode I/O controller, one or more device arguments must be specified. Each device describes the backing store for a namespace exported to remote hosts. Devices can be specified using one of the following syntaxes:

    pathname
        File or disk device

    ramdisk:size
        Allocate a memory disk with the given size. size may use any of the suffixes supported by expand_number(3).

FILES
/var/run/nvmfd.pid
    The default location of the nvmfd PID file.

EXIT STATUS

SEE ALSO
ctl(4), nvmft(4), ctladm(8), ctld(8)

HISTORY
The nvmfd module first appeared in FreeBSD 15.0.

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

BUGS
The discovery controller and kernel mode functionality of nvmfd should be merged into ctld(8).

Additional parameters such as queue sizes should be configurable.