1*a1eda741SJohn Baldwin.\" 2*a1eda741SJohn Baldwin.\" SPDX-License-Identifier: BSD-2-Clause 3*a1eda741SJohn Baldwin.\" 4*a1eda741SJohn Baldwin.\" Copyright (c) 2024 Chelsio Communications, Inc. 5*a1eda741SJohn Baldwin.\" 6*a1eda741SJohn Baldwin.Dd May 2, 2024 7*a1eda741SJohn Baldwin.Dt NVMF 4 8*a1eda741SJohn Baldwin.Os 9*a1eda741SJohn Baldwin.Sh NAME 10*a1eda741SJohn Baldwin.Nm nvmf 11*a1eda741SJohn Baldwin.Nd "NVM Express over Fabrics host driver" 12*a1eda741SJohn Baldwin.Sh SYNOPSIS 13*a1eda741SJohn BaldwinTo compile the driver into the kernel, 14*a1eda741SJohn Baldwinplace the following line in the 15*a1eda741SJohn Baldwinkernel configuration file: 16*a1eda741SJohn Baldwin.Bd -ragged -offset indent 17*a1eda741SJohn Baldwin.Cd "device nvmf" 18*a1eda741SJohn Baldwin.Ed 19*a1eda741SJohn Baldwin.Pp 20*a1eda741SJohn BaldwinAlternatively, to load the driver as a 21*a1eda741SJohn Baldwinmodule at boot time, place the following line in 22*a1eda741SJohn Baldwin.Xr loader.conf 5 : 23*a1eda741SJohn Baldwin.Bd -literal -offset indent 24*a1eda741SJohn Baldwinnvmf_load="YES" 25*a1eda741SJohn Baldwin.Ed 26*a1eda741SJohn Baldwin.Sh DESCRIPTION 27*a1eda741SJohn BaldwinThe 28*a1eda741SJohn Baldwin.Nm 29*a1eda741SJohn Baldwindriver provides the kernel component of an NVM Express over Fabrics 30*a1eda741SJohn Baldwinhost. 31*a1eda741SJohn BaldwinThe NVMeoF host is the client which provides local access to 32*a1eda741SJohn Baldwinnamespaces exported by a remote controller. 33*a1eda741SJohn Baldwin.Pp 34*a1eda741SJohn BaldwinAssociations between the local host and remote controllers are managed 35*a1eda741SJohn Baldwinusing 36*a1eda741SJohn Baldwin.Xr nvmecontrol 8 . 37*a1eda741SJohn BaldwinNew associations are created via the 38*a1eda741SJohn Baldwin.Cm connect 39*a1eda741SJohn Baldwincommand and destroyed via the 40*a1eda741SJohn Baldwin.Cm disconnect 41*a1eda741SJohn Baldwincommand. 42*a1eda741SJohn BaldwinIf an association's connection is interrupted, 43*a1eda741SJohn Baldwinthe 44*a1eda741SJohn Baldwin.Cm reconnect 45*a1eda741SJohn Baldwincommand creates a new association to replace the interrupted association. 46*a1eda741SJohn Baldwin.Pp 47*a1eda741SJohn BaldwinSimilar to 48*a1eda741SJohn Baldwin.Xr nvme 4 , 49*a1eda741SJohn Baldwin.Nm 50*a1eda741SJohn Baldwincreates controller device nodes using the format 51*a1eda741SJohn Baldwin.Pa /dev/nvmeX 52*a1eda741SJohn Baldwinand namespace device nodes using the format 53*a1eda741SJohn Baldwin.Pa /dev/nvmeXnsY . 54*a1eda741SJohn Baldwin.Nm 55*a1eda741SJohn Baldwinalso exports remote namespaces via the CAM 56*a1eda741SJohn Baldwin.Xr nda 4 57*a1eda741SJohn Baldwinperipheral driver. 58*a1eda741SJohn BaldwinUnlike 59*a1eda741SJohn Baldwin.Xr nvme 4 , 60*a1eda741SJohn Baldwin.Nm 61*a1eda741SJohn Baldwindoes not support the 62*a1eda741SJohn Baldwin.Xr nvd 4 63*a1eda741SJohn Baldwindisk driver. 64*a1eda741SJohn Baldwin.Pp 65*a1eda741SJohn BaldwinAssociations require a supported transport such as 66*a1eda741SJohn Baldwin.Xr nvmf_tcp 4 67*a1eda741SJohn Baldwinfor associations using TCP/IP. 68*a1eda741SJohn Baldwin.Sh SEE ALSO 69*a1eda741SJohn Baldwin.Xr nda 4 , 70*a1eda741SJohn Baldwin.Xr nvme 4 , 71*a1eda741SJohn Baldwin.Xr nvmf_tcp 4 , 72*a1eda741SJohn Baldwin.Xr nvmft 4 , 73*a1eda741SJohn Baldwin.Xr nvmecontrol 8 74*a1eda741SJohn Baldwin.Sh HISTORY 75*a1eda741SJohn BaldwinThe 76*a1eda741SJohn Baldwin.Nm 77*a1eda741SJohn Baldwinmodule first appeared in 78*a1eda741SJohn Baldwin.Fx 15.0 . 79*a1eda741SJohn Baldwin.Sh AUTHORS 80*a1eda741SJohn BaldwinThe 81*a1eda741SJohn Baldwin.Nm 82*a1eda741SJohn Baldwindriver was developed by 83*a1eda741SJohn Baldwin.An John Baldwin Aq Mt jhb@FreeBSD.org 84*a1eda741SJohn Baldwinunder sponsorship from Chelsio Communications, Inc. 85*a1eda741SJohn Baldwin.Sh BUGS 86*a1eda741SJohn Baldwin.Nm 87*a1eda741SJohn Baldwinonly supports a single I/O queue pair per association. 88