xref: /freebsd/share/man/man4/nvmf_che.4 (revision e2b8be511e9064de29a847e7c1cfc9200e69394b)
1*e2b8be51SJohn Baldwin.\"
2*e2b8be51SJohn Baldwin.\" SPDX-License-Identifier: BSD-2-Clause
3*e2b8be51SJohn Baldwin.\"
4*e2b8be51SJohn Baldwin.\" Copyright (c) 2025 Chelsio Communications, Inc.
5*e2b8be51SJohn Baldwin.\"
6*e2b8be51SJohn Baldwin.Dd November 14, 2025
7*e2b8be51SJohn Baldwin.Dt NVMF_CHE 4
8*e2b8be51SJohn Baldwin.Os
9*e2b8be51SJohn Baldwin.Sh NAME
10*e2b8be51SJohn Baldwin.Nm nvmf_che
11*e2b8be51SJohn Baldwin.Nd TCP transport for NVM Express over Fabrics on Chelsio NICs
12*e2b8be51SJohn Baldwin.Sh SYNOPSIS
13*e2b8be51SJohn BaldwinIn
14*e2b8be51SJohn Baldwin.Xr loader.conf 5 :
15*e2b8be51SJohn Baldwin.Bd -literal -offset indent
16*e2b8be51SJohn Baldwinnvmf_che_load="YES"
17*e2b8be51SJohn Baldwin.Ed
18*e2b8be51SJohn Baldwin.Sh DESCRIPTION
19*e2b8be51SJohn BaldwinThe
20*e2b8be51SJohn Baldwin.Nm
21*e2b8be51SJohn Baldwinmodule implements the a TCP/IP transport for NVM Express over Fabrics
22*e2b8be51SJohn Baldwinusing PDU offload on Chelsio T7 adapters.
23*e2b8be51SJohn BaldwinIt can be used by either the in-kernel NVMeoF host driver or controller.
24*e2b8be51SJohn BaldwinIn order to use PDU offload,
25*e2b8be51SJohn Baldwinthe initial socket connection must be using the TCP offload engine (TOE)
26*e2b8be51SJohn Baldwinon a supported network interface.
27*e2b8be51SJohn BaldwinIn addition,
28*e2b8be51SJohn Baldwincontroller connections must negotiate a suitable
29*e2b8be51SJohn Baldwin.Dv MAXH2CDATA
30*e2b8be51SJohn Baldwinlimit to ensure that received PDUs do not exceeed the maximum size
31*e2b8be51SJohn Baldwinsupported by the adapter.
32*e2b8be51SJohn Baldwin.Sh SYSCTL VARIABLES
33*e2b8be51SJohn BaldwinThe following variables are available as both
34*e2b8be51SJohn Baldwin.Xr sysctl 8
35*e2b8be51SJohn Baldwinvariables and
36*e2b8be51SJohn Baldwin.Xr loader 8
37*e2b8be51SJohn Baldwintunables:
38*e2b8be51SJohn Baldwin.Bl -tag -width indent
39*e2b8be51SJohn Baldwin.It Va kern.nvmf.che.max_transmit_pdu
40*e2b8be51SJohn BaldwinThe maximum size of a transmitted PDU including all headers, payload,
41*e2b8be51SJohn Baldwinand checksums.
42*e2b8be51SJohn BaldwinThis is an upper limit enforced when queues are created.
43*e2b8be51SJohn BaldwinIndividual adapters may empose a smaller limit.
44*e2b8be51SJohn BaldwinThe default size is 32 kilobytes.
45*e2b8be51SJohn Baldwin.It Va kern.nvmf.che.max_receive_pdu
46*e2b8be51SJohn BaldwinAs above, but for received PDUs.
47*e2b8be51SJohn Baldwin.It Va kern.nvmf.che.use_dsgl
48*e2b8be51SJohn BaldwinEnable the use of a S/G list for large writes into adapter memory when
49*e2b8be51SJohn Baldwinwriting control structures for DDP (not used for PDU payload data).
50*e2b8be51SJohn BaldwinS/G lists are enabled by default.
51*e2b8be51SJohn Baldwin.It Va kern.nvmf.che.inline_threshold
52*e2b8be51SJohn BaldwinWrites of control structures into adapter memory use a S/G list instead
53*e2b8be51SJohn Baldwinof immediate data placed in work requests.
54*e2b8be51SJohn BaldwinThe default threshold is 256 bytes.
55*e2b8be51SJohn Baldwin.It Va kern.nvmf.che.ddp_tags_per_qp
56*e2b8be51SJohn BaldwinThe number of STAGs reserved for use by DDP buffers for each queue pair.
57*e2b8be51SJohn BaldwinEach command sent on a queue that requests data from the remote peer can
58*e2b8be51SJohn Baldwinuse DDP to place received data directly into the associated data buffer.
59*e2b8be51SJohn BaldwinEach buffer requires a STAG to enable DDP.
60*e2b8be51SJohn BaldwinIf an STAG is not available when command requesting remote data is sent,
61*e2b8be51SJohn Baldwinthe data will be received in free list buffers and copied into the data
62*e2b8be51SJohn Baldwinbuffer by the driver instead.
63*e2b8be51SJohn BaldwinThe default size is 256 kilobytes.
64*e2b8be51SJohn Baldwin.El
65*e2b8be51SJohn Baldwin.Sh SEE ALSO
66*e2b8be51SJohn Baldwin.Xr cxgbe 4 ,
67*e2b8be51SJohn Baldwin.Xr nvmf 4 ,
68*e2b8be51SJohn Baldwin.Xr nvmf_tcp 4 ,
69*e2b8be51SJohn Baldwin.Xr nvmft 4
70*e2b8be51SJohn Baldwin.Sh HISTORY
71*e2b8be51SJohn BaldwinThe
72*e2b8be51SJohn Baldwin.Nm
73*e2b8be51SJohn Baldwinmodule first appeared in
74*e2b8be51SJohn Baldwin.Fx 16.0 .
75*e2b8be51SJohn Baldwin.Sh AUTHORS
76*e2b8be51SJohn BaldwinThe
77*e2b8be51SJohn Baldwin.Nm
78*e2b8be51SJohn Baldwinmodule was developed by
79*e2b8be51SJohn Baldwin.An John Baldwin Aq Mt jhb@FreeBSD.org
80*e2b8be51SJohn Baldwinunder sponsorship from Chelsio Communications, Inc.
81