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