xref: /dragonfly/share/man/man4/hifn.4 (revision 9f3fc534)
1.\"	$OpenBSD: hifn.4,v 1.32 2002/09/26 07:55:40 miod Exp $
2.\"	$FreeBSD: src/share/man/man4/hifn.4,v 1.1.2.1 2002/11/21 23:57:24 sam Exp $
3.\"	$DragonFly: src/share/man/man4/hifn.4,v 1.6 2007/12/04 09:11:11 hasso Exp $
4.\"
5.\" Copyright (c) 2000 Theo de Raadt
6.\" All rights reserved.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. The name of the author may not be used to endorse or promote products
17.\"    derived from this software without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
23.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29.\" POSSIBILITY OF SUCH DAMAGE.
30.\"
31.Dd November 21, 2002
32.Dt HIFN 4
33.Os
34.Sh NAME
35.Nm hifn
36.Nd Hifn 7751/7951/7811/7955/7956 crypto accelerator
37.Sh SYNOPSIS
38.Cd device hifn
39.Sh DESCRIPTION
40The
41.Nm
42driver supports various cards containing the Hifn 7751, 7951,
437811, 7955, and 7956
44chipsets, such as
45.Bl -tag -width namenamenamena -offset indent
46.It Invertex AEON
47No longer being made.
48Came as 128KB SRAM model, or 2MB DRAM model.
49.It Hifn 7751
50Reference board with 512KB SRAM.
51.It PowerCrypt
52See
53.Pa http://www.powercrypt.com/ .
54Comes with 512KB SRAM.
55.It XL-Crypt
56See
57.Pa http://www.powercrypt.com/ .
58Only board based on 7811 (which is faster than 7751 and has
59a random number generator).
60.It NetSec 7751
61See
62.Pa http://www.netsec.net/ .
63Supports the most IPsec sessions, with 1MB SRAM.
64.It Soekris Engineering vpn1201 and vpn1211
65See
66.Pa http://www.soekris.com/ .
67Contains a 7951 and supports symmetric and random number operations.
68.It Soekris Engineering vpn1401 and vpn1411
69See
70.Pa http://www.soekris.com/ .
71Contains a 7955 and supports symmetric and random number operations.
72.El
73.Pp
74The
75.Nm
76driver registers itself to accelerate DES, Triple-DES,
77AES (7955 and 7956 only), ARC4, MD5,
78MD5-HMAC, SHA1, and SHA1-HMAC operations for
79.Xr ipsec 4
80and
81.Xr crypto 4 .
82.Pp
83The Hifn
84.Tn 7951 ,
85.Tn 7811 ,
86.Tn 7955 ,
87and
88.Tn 7956
89will also supply data to the kernel
90.Xr random 4
91subsystem.
92.Sh SEE ALSO
93.Xr crypt 3 ,
94.Xr crypto 4 ,
95.Xr intro 4 ,
96.Xr ipsec 4 ,
97.Xr random 4 ,
98.Xr crypto 9
99.Sh CAVEATS
100The Hifn 9751 shares the same PCI id.
101This chip is basically a 7751, but with the cryptographic functions missing.
102Instead, the 9751 is only capable of doing compression.
103Since we do not currently attempt to use any of these chips to do
104compression, the 9751-based cards are not useful.
105.Pp
106Support for the 7955 and 7956 is incomplete; the asymetric crypto
107facilities are to be added and the performance is suboptimal.
108.Sh HISTORY
109The
110.Nm
111device driver appeared in
112.Ox 2.7 .
113The
114.Nm
115device driver was imported to
116.Fx
117in 5.0.
118.Sh BUGS
119The 7751 chip starts out at initialization by only supporting compression.
120A proprietary algorithm, which has been reverse engineered, is required to
121unlock the cryptographic functionality of the chip.
122It is possible for vendors to make boards which have a lock ID not known
123to the driver, but all vendors currently just use the obvious ID which is
12413 bytes of 0.
125