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