xref: /freebsd/share/man/man4/nvmf.4 (revision aacaeeee8ecd7084a33b2d8e140aad37b3b0eddc)
1a1eda741SJohn Baldwin.\"
2a1eda741SJohn Baldwin.\" SPDX-License-Identifier: BSD-2-Clause
3a1eda741SJohn Baldwin.\"
4a1eda741SJohn Baldwin.\" Copyright (c) 2024 Chelsio Communications, Inc.
5a1eda741SJohn Baldwin.\"
6*aacaeeeeSJohn Baldwin.Dd June 5, 2024
7a1eda741SJohn Baldwin.Dt NVMF 4
8a1eda741SJohn Baldwin.Os
9a1eda741SJohn Baldwin.Sh NAME
10a1eda741SJohn Baldwin.Nm nvmf
11a1eda741SJohn Baldwin.Nd "NVM Express over Fabrics host driver"
12a1eda741SJohn Baldwin.Sh SYNOPSIS
13a1eda741SJohn BaldwinTo compile the driver into the kernel,
14a1eda741SJohn Baldwinplace the following line in the
15a1eda741SJohn Baldwinkernel configuration file:
16a1eda741SJohn Baldwin.Bd -ragged -offset indent
17a1eda741SJohn Baldwin.Cd "device nvmf"
18a1eda741SJohn Baldwin.Ed
19a1eda741SJohn Baldwin.Pp
20a1eda741SJohn BaldwinAlternatively, to load the driver as a
21a1eda741SJohn Baldwinmodule at boot time, place the following line in
22a1eda741SJohn Baldwin.Xr loader.conf 5 :
23a1eda741SJohn Baldwin.Bd -literal -offset indent
24a1eda741SJohn Baldwinnvmf_load="YES"
25a1eda741SJohn Baldwin.Ed
26a1eda741SJohn Baldwin.Sh DESCRIPTION
27a1eda741SJohn BaldwinThe
28a1eda741SJohn Baldwin.Nm
29a1eda741SJohn Baldwindriver provides the kernel component of an NVM Express over Fabrics
30a1eda741SJohn Baldwinhost.
31a1eda741SJohn BaldwinThe NVMeoF host is the client which provides local access to
32a1eda741SJohn Baldwinnamespaces exported by a remote controller.
33a1eda741SJohn Baldwin.Pp
34a1eda741SJohn BaldwinAssociations between the local host and remote controllers are managed
35a1eda741SJohn Baldwinusing
36a1eda741SJohn Baldwin.Xr nvmecontrol 8 .
37a1eda741SJohn BaldwinNew associations are created via the
38a1eda741SJohn Baldwin.Cm connect
39a1eda741SJohn Baldwincommand and destroyed via the
40a1eda741SJohn Baldwin.Cm disconnect
41a1eda741SJohn Baldwincommand.
42a1eda741SJohn BaldwinIf an association's connection is interrupted,
43a1eda741SJohn Baldwinthe
44a1eda741SJohn Baldwin.Cm reconnect
45a1eda741SJohn Baldwincommand creates a new association to replace the interrupted association.
46a1eda741SJohn Baldwin.Pp
47a1eda741SJohn BaldwinSimilar to
48a1eda741SJohn Baldwin.Xr nvme 4 ,
49a1eda741SJohn Baldwin.Nm
50a1eda741SJohn Baldwincreates controller device nodes using the format
51a1eda741SJohn Baldwin.Pa /dev/nvmeX
52a1eda741SJohn Baldwinand namespace device nodes using the format
53a1eda741SJohn Baldwin.Pa /dev/nvmeXnsY .
54a1eda741SJohn Baldwin.Nm
55a1eda741SJohn Baldwinalso exports remote namespaces via the CAM
56a1eda741SJohn Baldwin.Xr nda 4
57a1eda741SJohn Baldwinperipheral driver.
58a1eda741SJohn BaldwinUnlike
59a1eda741SJohn Baldwin.Xr nvme 4 ,
60a1eda741SJohn Baldwin.Nm
61a1eda741SJohn Baldwindoes not support the
62a1eda741SJohn Baldwin.Xr nvd 4
63a1eda741SJohn Baldwindisk driver.
64a1eda741SJohn Baldwin.Pp
65a1eda741SJohn BaldwinAssociations require a supported transport such as
66a1eda741SJohn Baldwin.Xr nvmf_tcp 4
67a1eda741SJohn Baldwinfor associations using TCP/IP.
68*aacaeeeeSJohn Baldwin.Sh SYSCTL VARIABLES
69*aacaeeeeSJohn BaldwinThe following variables are available as both
70*aacaeeeeSJohn Baldwin.Xr sysctl 8
71*aacaeeeeSJohn Baldwinvariables and
72*aacaeeeeSJohn Baldwin.Xr loader 8
73*aacaeeeeSJohn Baldwintunables:
74*aacaeeeeSJohn Baldwin.Bl -tag -width indent
75*aacaeeeeSJohn Baldwin.It Va kern.nvmf.fail_on_disconnection
76*aacaeeeeSJohn BaldwinDetermines the behavior when an association's connection is interrupted.
77*aacaeeeeSJohn BaldwinBy default, input/output operations are suspended while a host is disconnected.
78*aacaeeeeSJohn BaldwinThis includes operations pending at the time the association's connection was
79*aacaeeeeSJohn Baldwininterrupted as well as new requests submitted while the host is disconnected.
80*aacaeeeeSJohn BaldwinOnce a new association is established, suspended I/O requests are retried.
81*aacaeeeeSJohn BaldwinWhen set to 1, input/output operations fail with
82*aacaeeeeSJohn Baldwin.Er EIO
83*aacaeeeeSJohn Baldwinwhile a host is disconnected and
84*aacaeeeeSJohn Baldwin.Xr nda 4
85*aacaeeeeSJohn Baldwinperipherals are destroyed after the first failed I/O request.
86*aacaeeeeSJohn BaldwinNote that any destroyed
87*aacaeeeeSJohn Baldwin.Xr nda 4
88*aacaeeeeSJohn Baldwinperipherals will be recreated after a new association is established.
89*aacaeeeeSJohn Baldwin.El
90a1eda741SJohn Baldwin.Sh SEE ALSO
91a1eda741SJohn Baldwin.Xr nda 4 ,
92a1eda741SJohn Baldwin.Xr nvme 4 ,
93a1eda741SJohn Baldwin.Xr nvmf_tcp 4 ,
94a1eda741SJohn Baldwin.Xr nvmft 4 ,
95a1eda741SJohn Baldwin.Xr nvmecontrol 8
96a1eda741SJohn Baldwin.Sh HISTORY
97a1eda741SJohn BaldwinThe
98a1eda741SJohn Baldwin.Nm
99a1eda741SJohn Baldwinmodule first appeared in
100a1eda741SJohn Baldwin.Fx 15.0 .
101a1eda741SJohn Baldwin.Sh AUTHORS
102a1eda741SJohn BaldwinThe
103a1eda741SJohn Baldwin.Nm
104a1eda741SJohn Baldwindriver was developed by
105a1eda741SJohn Baldwin.An John Baldwin Aq Mt jhb@FreeBSD.org
106a1eda741SJohn Baldwinunder sponsorship from Chelsio Communications, Inc.
107a1eda741SJohn Baldwin.Sh BUGS
108a1eda741SJohn Baldwin.Nm
109a1eda741SJohn Baldwinonly supports a single I/O queue pair per association.
110