summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/nvmf.4
blob: 9ace67783351be23143eac19188eef866a2442d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2024 Chelsio Communications, Inc.
.\"
.Dd May 7, 2025
.Dt NVMF 4
.Os
.Sh NAME
.Nm nvmf
.Nd "NVM Express over Fabrics host driver"
.Sh SYNOPSIS
To compile the driver into the kernel,
place the following line in the
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device nvmf"
.Ed
.Pp
Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
nvmf_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver provides the kernel component of an NVM Express over Fabrics
host.
The NVMeoF host is the client which provides local access to
namespaces exported by a remote controller.
.Pp
Associations between the local host and remote controllers are managed
using
.Xr nvmecontrol 8 .
New associations are created via the
.Cm connect
command and destroyed via the
.Cm disconnect
command.
If an association's connection is interrupted,
the
.Cm reconnect
command creates a new association to replace the interrupted association.
.Pp
Similar to
.Xr nvme 4 ,
.Nm
creates controller device nodes using the format
.Pa /dev/nvmeX
and namespace device nodes using the format
.Pa /dev/nvmeXnsY .
.Nm
also exports remote namespaces via the CAM
.Xr nda 4
peripheral driver.
Unlike
.Xr nvme 4 ,
.Nm
does not support the
.Xr nvd 4
disk driver.
.Pp
Associations require a supported transport such as
.Xr nvmf_tcp 4
for associations using TCP/IP.
.Sh SYSCTL VARIABLES
The following variables are available as both
.Xr sysctl 8
variables and
.Xr loader 8
tunables:
.Bl -tag -width indent
.It Va kern.nvmf.fail_on_disconnection
Determines the behavior when an association's connection is interrupted.
By default, input/output operations are suspended while a host is disconnected.
This includes operations pending at the time the association's connection was
interrupted as well as new requests submitted while the host is disconnected.
Once a new association is established, suspended I/O requests are retried.
When set to 1, input/output operations fail with
.Er EIO
while a host is disconnected and
.Xr nda 4
peripherals are destroyed after the first failed I/O request.
Note that any destroyed
.Xr nda 4
peripherals will be recreated after a new association is established.
.El
.Sh SEE ALSO
.Xr nda 4 ,
.Xr nvme 4 ,
.Xr nvmf_tcp 4 ,
.Xr nvmft 4 ,
.Xr nvmecontrol 8
.Sh HISTORY
The
.Nm
module first appeared in
.Fx 15.0 .
.Sh AUTHORS
The
.Nm
driver was developed by
.An John Baldwin Aq Mt jhb@FreeBSD.org
under sponsorship from Chelsio Communications, Inc.