> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/man/man4/nvmf_che.4.md).

# nvmf\_che.4

`nvmf_che` — Chelsio NIC 上 NVM Express over Fabrics 的 TCP 传输

## 名称

`nvmf_che`

## 概要

`在 loader.conf(5) 中：`

```sh
nvmf_che_load="YES"
```

## 描述

`nvmf_che` 模块使用 Chelsio T7 适配器上的 PDU 卸载实现 NVM Express over Fabrics 的 TCP/IP 传输。它可由内核内 NVMeoF 主机驱动或控制器使用。要使用 PDU 卸载，初始套接字连接必须在受支持的网络接口上使用 TCP 卸载引擎（TOE）。此外，控制器连接必须协商合适的 `MAXH2CDATA` 限制，以确保接收到的 PDU 不超过适配器支持的最大大小。

## SYSCTL 变量

以下变量既可作为 [sysctl(8)](/man/man8/sysctl.8.md) 变量，也可作为 [loader(8)](/man/man8/loader.8.md) 可调参数使用：

**`kern.nvmf.che.max_transmit_pdu`** 传输的 PDU 的最大大小，包括所有头部、负载和校验和。这是创建队列时强制执行的上限。各个适配器可能会施加更小的限制。默认大小为 32 千字节。

**`kern.nvmf.che.max_receive_pdu`** 同上，但用于接收的 PDU。

**`kern.nvmf.che.use_dsgl`** 在为 DDP 写入控制结构时启用 S/G 列表将大型写入写入适配器内存（不用于 PDU 负载数据）。S/G 列表默认启用。

**`kern.nvmf.che.inline_threshold`** 将控制结构写入适配器内存时使用 S/G 列表而非工作请求中放置的立即数据。默认阈值为 256 字节。

**`kern.nvmf.che.ddp_tags_per_qp`** 为每个队列对的 DDP 缓冲区保留的 STAG 数量。在队列上发送的每个请求远程对端数据的命令都可使用 DDP 将接收到的数据直接放入关联的数据缓冲区。每个缓冲区都需要一个 STAG 才能启用 DDP。如果发送请求远程数据的命令时没有可用的 STAG，数据将接收到空闲列表缓冲区中并由驱动复制到数据缓冲区。默认大小为 256 千字节。

## 参见

[cxgbe(4)](/man/man4/cxgbe.4.md), [nvmf(4)](/man/man4/nvmf.4.md), [nvmf\_tcp(4)](/man/man4/nvmf_tcp.4.md), [nvmft(4)](/man/man4/nvmft.4.md)

## 历史

`nvmf_che` 模块首次出现于 FreeBSD 16.0。

## 作者

`nvmf_che` 模块由 John Baldwin <jhb@FreeBSD.org> 在 Chelsio Communications, Inc. 的赞助下开发。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://book.bsdcn.org/man/man4/nvmf_che.4.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
