summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/ntb_transport.4 3.html
blob: b16784a8ccd5cc1a2c092e1fc48e986d6497c50c (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
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> &#x2014;
    <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=&quot;YES&quot;</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:
      &quot;[&lt;name&gt;][:&lt;queues&gt;]&quot;, 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>
    &lt;<a class="Mt" href="mailto:carl@FreeBSD.org">carl@FreeBSD.org</a>&gt;.
    Later improvements were done by <span class="An">Conrad E. Meyer</span>
    &lt;<a class="Mt" href="mailto:cem@FreeBSD.org">cem@FreeBSD.org</a>&gt; and
    <span class="An">Alexander Motin</span>
    &lt;<a class="Mt" href="mailto:mav@FreeBSD.org">mav@FreeBSD.org</a>&gt;.</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>