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} \
|
||||
nvme.4 \
|
||||
nvmf.4 \
|
||||
nvmf_che.4 \
|
||||
nvmf_tcp.4 \
|
||||
nvmft.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