.\" .\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2024 Chelsio Communications, Inc. .\" .Dd May 2, 2024 .Dt NVMFT 4 .Os .Sh NAME .Nm nvmft .Nd "NVM Express over Fabrics CAM Target Layer frontend" .Sh SYNOPSIS To compile the subsystem into the kernel, place the following lines in the kernel configuration file: .Bd -ragged -offset indent .Cd "device nvmft" .Cd "device ctl" .Ed .Pp Alternatively, to load the subsystem as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent nvmft_load="YES" .Ed .Sh DESCRIPTION The .Nm 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. .Nm follows the dynamic controller model and creates a new dynamic controller for each association. .Pp .Nm is implemented as a .Xr ctl 4 frontend and exports CAM Target Layer LUNs as namespaces to remote hosts. LUNs can be configured via .Xr ctladm 8 . .Pp Associations between the local controller and remote hosts are managed using both the .Xr nvmfd 8 daemon and the .Xr ctladm 8 utility. The .Xr nvmfd 8 daemon listens for new associations and handles transport-specific negotiation before handing off connected queue pairs to .Nm which associates queue pairs with a suitable controller instance. The .Cm nvlist .Xr ctladm 8 command lists active controllers. The .Cm nvterminate command terminates one or more associations between a local controller and a remote host. .Pp Associations require a supported transport such as .Xr nvmf_tcp 4 for associations using TCP/IP. .Sh SEE ALSO .Xr ctl 4 , .Xr nvmf 4 , .Xr nvmf_tcp 4 , .Xr ctladm 8 , .Xr nvmfd 8 .Sh HISTORY The .Nm module first appeared in .Fx 15.0 . .Sh AUTHORS The .Nm subsystem was developed by .An John Baldwin Aq Mt jhb@FreeBSD.org under sponsorship from Chelsio Communications, Inc.