summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/nvmf_che.4
blob: 8960cda9c50689c557128ae596ca7efc1f50a615 (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
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2025 Chelsio Communications, Inc.
.\"
.Dd November 14, 2025
.Dt NVMF_CHE 4
.Os
.Sh NAME
.Nm nvmf_che
.Nd TCP transport for NVM Express over Fabrics on Chelsio NICs
.Sh SYNOPSIS
In
.Xr loader.conf 5 :
.Bd -literal -offset indent
nvmf_che_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
module implements the a TCP/IP transport for NVM Express over Fabrics
using PDU offload on Chelsio T7 adapters.
It can be used by either the in-kernel NVMeoF host driver or controller.
In order to use PDU offload,
the initial socket connection must be using the TCP offload engine (TOE)
on a supported network interface.
In addition,
controller connections must negotiate a suitable
.Dv MAXH2CDATA
limit to ensure that received PDUs do not exceeed the maximum size
supported by the adapter.
.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.che.max_transmit_pdu
The maximum size of a transmitted PDU including all headers, payload,
and checksums.
This is an upper limit enforced when queues are created.
Individual adapters may empose a smaller limit.
The default size is 32 kilobytes.
.It Va kern.nvmf.che.max_receive_pdu
As above, but for received PDUs.
.It Va kern.nvmf.che.use_dsgl
Enable the use of a S/G list for large writes into adapter memory when
writing control structures for DDP (not used for PDU payload data).
S/G lists are enabled by default.
.It Va kern.nvmf.che.inline_threshold
Writes of control structures into adapter memory use a S/G list instead
of immediate data placed in work requests.
The default threshold is 256 bytes.
.It Va kern.nvmf.che.ddp_tags_per_qp
The number of STAGs reserved for use by DDP buffers for each queue pair.
Each command sent on a queue that requests data from the remote peer can
use DDP to place received data directly into the associated data buffer.
Each buffer requires a STAG to enable DDP.
If an STAG is not available when command requesting remote data is sent,
the data will be received in free list buffers and copied into the data
buffer by the driver instead.
The default size is 256 kilobytes.
.El
.Sh SEE ALSO
.Xr cxgbe 4 ,
.Xr nvmf 4 ,
.Xr nvmf_tcp 4 ,
.Xr nvmft 4
.Sh HISTORY
The
.Nm
module first appeared in
.Fx 16.0 .
.Sh AUTHORS
The
.Nm
module was developed by
.An John Baldwin Aq Mt jhb@FreeBSD.org
under sponsorship from Chelsio Communications, Inc.