summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/hifn.4 4.html
blob: d3efc1ed02e7aa33e16692d00c0857e10d0e0747 (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">HIFN(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">HIFN(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">hifn</code> &#x2014; <span class="Nd">Hifn
    7751/7951/7811/7955/7956 crypto accelerator</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">hifn* at pci? dev ? function ?</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">hifn</code> driver supports various cards
    containing the Hifn 7751, 7951, 7811, 7955, and 7956 chipsets, such as</p>
<div class="Bd-indent">
<dl class="Bl-tag">
  <dt>Invertex AEON</dt>
  <dd>No longer being made. Came as 128KB SRAM model, or 2MB DRAM model.</dd>
  <dt>Hifn 7751</dt>
  <dd>Reference board with 512KB SRAM.</dd>
  <dt>PowerCrypt</dt>
  <dd>Comes with 512KB SRAM.</dd>
  <dt>XL-Crypt</dt>
  <dd>Only board based on 7811 (which is faster than 7751 and has a random
      number generator).</dd>
  <dt>NetSec 7751</dt>
  <dd>Supports the most IPsec sessions, with 1MB SRAM.</dd>
  <dt>Soekris Engineering vpn1201 and vpn1211</dt>
  <dd>Contains a 7951 and supports symmetric and random number operations.</dd>
  <dt>Soekris Engineering vpn1401 and vpn1411</dt>
  <dd>Contains a 7955 and supports symmetric and random number operations.</dd>
</dl>
</div>
<p class="Pp">The <code class="Nm">hifn</code> driver registers itself to
    accelerate DES, Triple-DES, AES (7955 and 7956 only), ARC4, MD5, MD5-HMAC,
    SHA1, and SHA1-HMAC operations for <a class="Xr">opencrypto(9)</a>, and thus
    for <a class="Xr">ipsec(4)</a> and <a class="Xr">crypto(4)</a>.</p>
<p class="Pp">The Hifn 7951, 7811, 7955, and 7956 may also supply data to the
    kernel <a class="Xr">rnd(4)</a> subsystem.</p>
</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">crypto(4)</a>, <a class="Xr">intro(4)</a>,
    <a class="Xr">ipsec(4)</a>, <a class="Xr">rnd(4)</a>,
    <a class="Xr">opencrypto(9)</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">hifn</code> device driver appeared in
    <span class="Ux">OpenBSD 2.7</span>. The <code class="Nm">hifn</code> device
    driver was imported to <span class="Ux">FreeBSD 5.0</span>, back-ported to
    <span class="Ux">FreeBSD 4.8</span>, and subsequently imported into
    <span class="Ux">NetBSD 2.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
<p class="Pp">The Hifn 9751 shares the same PCI ID. This chip is basically a
    7751, but with the cryptographic functions missing. Instead, the 9751 is
    only capable of doing compression. Since we do not currently attempt to use
    any of these chips to do compression, the 9751-based cards are not
  useful.</p>
<p class="Pp">Support for the 7955 and 7956 is incomplete; the asymmetric crypto
    facilities are to be added and the performance is suboptimal.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">The 7751 chip starts out at initialization by only supporting
    compression. A proprietary algorithm, which has been reverse engineered, is
    required to unlock the cryptographic functionality of the chip. It is
    possible for vendors to make boards which have a lock ID not known to the
    driver, but all vendors currently just use the obvious ID which is 13 bytes
    of 0.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">June 13, 2018</td>
    <td class="foot-os">NetBSD 10.1</td>
  </tr>
</table>