nvmft —
NVM Express over Fabrics CAM Target
Layer frontend
To compile the subsystem into the kernel, place the following
lines in the kernel configuration file:
device nvmft
device ctl
Alternatively, to load the subsystem as a module at boot time,
place the following line in
loader.conf(5):
The nvmft driver provides the kernel
component of an NVM Express over Fabrics controller. The NVMeoF controller
is the server exporting namespaces backed by local files and volumes to
remote hosts. nvmft follows the dynamic controller
model and creates a new dynamic controller for each association.
nvmft is implemented as a
ctl(4) frontend and exports CAM Target Layer LUNs as
namespaces to remote hosts. LUNs can be configured via
ctladm(8).
Associations between the local controller and remote hosts are
managed using both the
nvmfd(8) daemon and the
ctladm(8) utility. The
nvmfd(8) daemon listens for new associations and handles
transport-specific negotiation before handing off connected queue pairs to
nvmft which associates queue pairs with a suitable
controller instance. The nvlist
ctladm(8) command lists active controllers. The
nvterminate command terminates one or more
associations between a local controller and a remote host.
Associations require a supported transport such as
nvmf_tcp(4) for associations using TCP/IP.
The nvmft module first appeared in
FreeBSD 15.0.
The nvmft subsystem was developed by
John Baldwin
<jhb@FreeBSD.org>
under sponsorship from Chelsio Communications, Inc.