nvmf_che: Add a manual page for the Chelsio NVMe/TCP PDU offload driver
Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D53764
This commit is contained in:
@@ -442,6 +442,7 @@ MAN= aac.4 \
|
|||||||
${_nvdimm.4} \
|
${_nvdimm.4} \
|
||||||
nvme.4 \
|
nvme.4 \
|
||||||
nvmf.4 \
|
nvmf.4 \
|
||||||
|
nvmf_che.4 \
|
||||||
nvmf_tcp.4 \
|
nvmf_tcp.4 \
|
||||||
nvmft.4 \
|
nvmft.4 \
|
||||||
${_nvram.4} \
|
${_nvram.4} \
|
||||||
|
|||||||
@@ -0,0 +1,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.
|
||||||
Reference in New Issue
Block a user