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
89
90
91
92
93
|
<table class="head">
<tr>
<td class="head-ltitle">NTB_TRANSPORT(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">NTB_TRANSPORT(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">ntb_transport</code> —
<span class="Nd">Packet-oriented transport for Non-Transparent
Bridges</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into your kernel, place the following lines
in your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device ntb</code>
<br/>
<code class="Cd">device ntb_transport</code></div>
<p class="Pp">Or, to load the driver as a module at boot, place the following
line in <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>ntb_transport_load="YES"</pre>
</div>
<p class="Pp">The following tunables are settable from the
<a class="Xr">loader(8)</a>:</p>
<dl class="Bl-ohang">
<dt id="hw.ntb_transport.debug_level"><var class="Va">hw.ntb_transport.debug_level</var></dt>
<dd>Driver debug level. The default value is 0, higher means more
verbose.</dd>
<dt id="hw.ntb_transport.max_mw_size"><var class="Va">hw.ntb_transport.max_mw_size</var></dt>
<dd>Limits maximum memory window usage. Allocation of big physically
contiguous memory buffer may be a problem, while too big buffers makes no
much sense for low latency network interface.</dd>
<dt id="hint.ntb_transport."><var class="Va">hint.ntb_transport.</var><var class="Ar">X</var><var class="Va">.config</var></dt>
<dd>Configures a set of the transport consumers, separated by commas. Each
consumer can be configured as:
"[<name>][:<queues>]", where:
<var class="Va">name</var> is a name of the driver to attach (empty means
any), <var class="Va">queues</var> is a number of queues to allocate
(empty means automatic). The default configuration is empty string, which
means single consumer with one queue per memory window, allowing any
driver to attach.</dd>
<dt id="hint.ntb_transport.~2"><var class="Va">hint.ntb_transport.</var><var class="Ar">X</var><var class="Va">.compact</var></dt>
<dd>Non-zero value enables compact version of scratchpad protocol, using half
as many registers. Enabled automatically if there is not enough registers
to negotiate all available memory windows. The compact version does not
support memory windows of 4GB and above.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">ntb_transport</code> driver attaches on top
of the <code class="Nm">ntb</code> driver to utilize its resources to create
a set of bidirectional queues, delivering packets between the systems. The
primary purpose of this driver is to be used by
<code class="Nm">if_ntb</code> network interface, but other consumers may
also be developed using KPI.</p>
<p class="Pp">Each <code class="Nm">ntb_transport</code> require from underlying
<code class="Nm">ntb</code> instance:</p>
<ul class="Bl-bullet Bl-compact">
<li>1 or more memory windows;</li>
<li>6 scratchpads, plus 2 more for each additional memory window, or 3 plus 1
in case of compact protocol;</li>
<li>1 doorbell for each memory window or configured queue.</li>
</ul>
</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">if_ntb(4)</a>, <a class="Xr">ntb(4)</a>,
<a class="Xr">ntb_hw_amd(4)</a>, <a class="Xr">ntb_hw_intel(4)</a>,
<a class="Xr">ntb_hw_plx(4)</a></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">ntb_transport</code> driver was developed by
Intel and originally written by <span class="An">Carl Delsey</span>
<<a class="Mt" href="mailto:carl@FreeBSD.org">carl@FreeBSD.org</a>>.
Later improvements were done by <span class="An">Conrad E. Meyer</span>
<<a class="Mt" href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>> and
<span class="An">Alexander Motin</span>
<<a class="Mt" href="mailto:mav@FreeBSD.org">mav@FreeBSD.org</a>>.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">November 9, 2019</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|