NVMF_CHE(4)

NAME
nvmf_che - TCP transport for NVM Express over Fabrics on Chelsio NICs

SYNOPSIS
In loader.conf(5):

    nvmf_che_load="YES"

DESCRIPTION
The nvmf_che 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 MAXH2CDATA limit to ensure that received PDUs do not exceeed the maximum size supported by the adapter.

SYSCTL VARIABLES
The following variables are available as both sysctl(8) variables and loader(8) tunables:

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.

kern.nvmf.che.max_receive_pdu
    As above, but for received PDUs.

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.

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.

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.

SEE ALSO
cxgbe(4), nvmf(4), nvmf_tcp(4), nvmft(4)

HISTORY
The nvmf_che module first appeared in FreeBSD 16.0.

AUTHORS
The nvmf_che module was developed by John Baldwin <jhb@FreeBSD.org> under sponsorship from Chelsio Communications, Inc.