Page MenuHomeFreeBSD

D53764.diff
No OneTemporary

D53764.diff

diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -442,6 +442,7 @@
${_nvdimm.4} \
nvme.4 \
nvmf.4 \
+ nvmf_che.4 \
nvmf_tcp.4 \
nvmft.4 \
${_nvram.4} \
diff --git a/share/man/man4/nvmf_che.4 b/share/man/man4/nvmf_che.4
new file mode 100644
--- /dev/null
+++ b/share/man/man4/nvmf_che.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_tcp
+.Nd "TCP transport for NVM Express over Fabrics on Chelsio NICs"
+.Sh SYNOPSIS
+In
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+nvmf_tcp_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.

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 15, 10:46 PM (18 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25338401
Default Alt Text
D53764.diff (2 KB)

Event Timeline