blob: 01ff64f1d969900acd865dd4a92b98aa8d5485cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
<table class="head">
<tr>
<td class="head-ltitle">NVMF_CHE(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">NVMF_CHE(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">nvmf_che</code> — <span class="Nd">TCP
transport for NVM Express over Fabrics on Chelsio NICs</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">In <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>nvmf_che_load="YES"</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">nvmf_che</code> 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
<code class="Dv">MAXH2CDATA</code> limit to ensure that received PDUs do not
exceeed the maximum size supported by the adapter.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
VARIABLES</a></h1>
<p class="Pp">The following variables are available as both
<a class="Xr">sysctl(8)</a> variables and <a class="Xr">loader(8)</a>
tunables:</p>
<dl class="Bl-tag">
<dt id="kern.nvmf.che.max_transmit_pdu"><var class="Va">kern.nvmf.che.max_transmit_pdu</var></dt>
<dd>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.</dd>
<dt id="kern.nvmf.che.max_receive_pdu"><var class="Va">kern.nvmf.che.max_receive_pdu</var></dt>
<dd>As above, but for received PDUs.</dd>
<dt id="kern.nvmf.che.use_dsgl"><var class="Va">kern.nvmf.che.use_dsgl</var></dt>
<dd>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.</dd>
<dt id="kern.nvmf.che.inline_threshold"><var class="Va">kern.nvmf.che.inline_threshold</var></dt>
<dd>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.</dd>
<dt id="kern.nvmf.che.ddp_tags_per_qp"><var class="Va">kern.nvmf.che.ddp_tags_per_qp</var></dt>
<dd>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.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">cxgbe(4)</a>, <a class="Xr">nvmf(4)</a>,
<a class="Xr">nvmf_tcp(4)</a>, <a class="Xr">nvmft(4)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">nvmf_che</code> module first appeared in
<span class="Ux">FreeBSD 16.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">nvmf_che</code> module was developed by
<span class="An">John Baldwin</span>
<<a class="Mt" href="mailto:jhb@FreeBSD.org">jhb@FreeBSD.org</a>>
under sponsorship from Chelsio Communications, Inc.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">November 14, 2025</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|