xref: /freebsd/share/man/man4/hifn.4 (revision 33fb013e16d81153e1e957b292ba465e6f5a6d6d)
1f4bf4335SSam Leffler.\"	$OpenBSD: hifn.4,v 1.32 2002/09/26 07:55:40 miod Exp $
2f4bf4335SSam Leffler.\"
3f4bf4335SSam Leffler.\" Copyright (c) 2000 Theo de Raadt
4f4bf4335SSam Leffler.\" All rights reserved.
5f4bf4335SSam Leffler.\"
6f4bf4335SSam Leffler.\" Redistribution and use in source and binary forms, with or without
7f4bf4335SSam Leffler.\" modification, are permitted provided that the following conditions
8f4bf4335SSam Leffler.\" are met:
9f4bf4335SSam Leffler.\" 1. Redistributions of source code must retain the above copyright
10f4bf4335SSam Leffler.\"    notice, this list of conditions and the following disclaimer.
11f4bf4335SSam Leffler.\" 2. Redistributions in binary form must reproduce the above copyright
12f4bf4335SSam Leffler.\"    notice, this list of conditions and the following disclaimer in the
13f4bf4335SSam Leffler.\"    documentation and/or other materials provided with the distribution.
14f4bf4335SSam Leffler.\"
15f4bf4335SSam Leffler.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16f4bf4335SSam Leffler.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17f4bf4335SSam Leffler.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18f4bf4335SSam Leffler.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19f4bf4335SSam Leffler.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20f4bf4335SSam Leffler.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21f4bf4335SSam Leffler.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22f4bf4335SSam Leffler.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23f4bf4335SSam Leffler.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
24f4bf4335SSam Leffler.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25f4bf4335SSam Leffler.\" POSSIBILITY OF SUCH DAMAGE.
26f4bf4335SSam Leffler.\"
27a2931c09SRuslan Ermilov.\" $FreeBSD$
28a2931c09SRuslan Ermilov.\"
299b563180SJohn Baldwin.Dd May 11, 2020
30f4bf4335SSam Leffler.Dt HIFN 4
31f4bf4335SSam Leffler.Os
32f4bf4335SSam Leffler.Sh NAME
33f4bf4335SSam Leffler.Nm hifn
34bbc8551cSSam Leffler.Nd Hifn 7751/7951/7811/7955/7956 crypto accelerator
35f4bf4335SSam Leffler.Sh SYNOPSIS
36449e2f5cSChristian BruefferTo compile this driver into the kernel,
37449e2f5cSChristian Bruefferplace the following lines in your
38449e2f5cSChristian Bruefferkernel configuration file:
39449e2f5cSChristian Brueffer.Bd -ragged -offset indent
40449e2f5cSChristian Brueffer.Cd "device crypto"
41449e2f5cSChristian Brueffer.Cd "device cryptodev"
42449e2f5cSChristian Brueffer.Cd "device hifn"
43449e2f5cSChristian Brueffer.Ed
44449e2f5cSChristian Brueffer.Pp
45449e2f5cSChristian BruefferAlternatively, to load the driver as a
46449e2f5cSChristian Brueffermodule at boot time, place the following line in
47449e2f5cSChristian Brueffer.Xr loader.conf 5 :
48449e2f5cSChristian Brueffer.Bd -literal -offset indent
49449e2f5cSChristian Bruefferhifn_load="YES"
50449e2f5cSChristian Brueffer.Ed
51f4bf4335SSam Leffler.Sh DESCRIPTION
52f4bf4335SSam LefflerThe
53f4bf4335SSam Leffler.Nm
54bbc8551cSSam Lefflerdriver supports various cards containing the Hifn 7751, 7951,
55da603228SSimon L. B. Nielsen7811, 7955, and 7956 chipsets.
56da603228SSimon L. B. Nielsen.Pp
57da603228SSimon L. B. NielsenThe
58da603228SSimon L. B. Nielsen.Nm
59da603228SSimon L. B. Nielsendriver registers itself to accelerate DES, Triple-DES,
60*33fb013eSJohn BaldwinAES (7955 and 7956 only),
61da603228SSimon L. B. NielsenMD5-HMAC, SHA1, and SHA1-HMAC operations for
62da603228SSimon L. B. Nielsen.Xr ipsec 4
63da603228SSimon L. B. Nielsenand
64da603228SSimon L. B. Nielsen.Xr crypto 4 .
65da603228SSimon L. B. Nielsen.Pp
66da603228SSimon L. B. NielsenThe Hifn
67da603228SSimon L. B. Nielsen.Tn 7951 ,
68da603228SSimon L. B. Nielsen.Tn 7811 ,
69da603228SSimon L. B. Nielsen.Tn 7955 ,
70da603228SSimon L. B. Nielsenand
71da603228SSimon L. B. Nielsen.Tn 7956
72da603228SSimon L. B. Nielsenwill also supply data to the kernel
73da603228SSimon L. B. Nielsen.Xr random 4
74da603228SSimon L. B. Nielsensubsystem.
75da603228SSimon L. B. Nielsen.Sh HARDWARE
76da603228SSimon L. B. NielsenThe
77da603228SSimon L. B. Nielsen.Nm
78da603228SSimon L. B. Nielsendriver supports various cards containing the Hifn 7751, 7951,
79bbc8551cSSam Leffler7811, 7955, and 7956
80da603228SSimon L. B. Nielsenchipsets, such as:
81f4bf4335SSam Leffler.Bl -tag -width namenamenamena -offset indent
82f4bf4335SSam Leffler.It Invertex AEON
83f4bf4335SSam LefflerNo longer being made.
84f4bf4335SSam LefflerCame as 128KB SRAM model, or 2MB DRAM model.
85f4bf4335SSam Leffler.It Hifn 7751
86f4bf4335SSam LefflerReference board with 512KB SRAM.
87f4bf4335SSam Leffler.It PowerCrypt
88f4bf4335SSam LefflerComes with 512KB SRAM.
89f4bf4335SSam Leffler.It XL-Crypt
90f4bf4335SSam LefflerOnly board based on 7811 (which is faster than 7751 and has
91f4bf4335SSam Lefflera random number generator).
92f4bf4335SSam Leffler.It NetSec 7751
93f4bf4335SSam LefflerSupports the most IPsec sessions, with 1MB SRAM.
94f4bf4335SSam Leffler.It Soekris Engineering vpn1201 and vpn1211
95f4bf4335SSam LefflerSee
96f4bf4335SSam Leffler.Pa http://www.soekris.com/ .
97f4bf4335SSam LefflerContains a 7951 and supports symmetric and random number operations.
98bbc8551cSSam Leffler.It Soekris Engineering vpn1401 and vpn1411
99bbc8551cSSam LefflerSee
100bbc8551cSSam Leffler.Pa http://www.soekris.com/ .
101bbc8551cSSam LefflerContains a 7955 and supports symmetric and random number operations.
102f4bf4335SSam Leffler.El
103f4bf4335SSam Leffler.Sh SEE ALSO
104f4bf4335SSam Leffler.Xr crypt 3 ,
105f4bf4335SSam Leffler.Xr crypto 4 ,
106f4bf4335SSam Leffler.Xr intro 4 ,
107f4bf4335SSam Leffler.Xr ipsec 4 ,
108f4bf4335SSam Leffler.Xr random 4 ,
109f4bf4335SSam Leffler.Xr crypto 9
110f4bf4335SSam Leffler.Sh HISTORY
111f4bf4335SSam LefflerThe
112f4bf4335SSam Leffler.Nm
113f4bf4335SSam Lefflerdevice driver appeared in
114a2931c09SRuslan Ermilov.Ox 2.7 .
115f4bf4335SSam LefflerThe
116f4bf4335SSam Leffler.Nm
117a2931c09SRuslan Ermilovdevice driver was imported to
118a2931c09SRuslan Ermilov.Fx 5.0 .
1190afc94c1SUlrich Spörlein.Sh CAVEATS
1200afc94c1SUlrich SpörleinThe Hifn 9751 shares the same PCI ID.
1210afc94c1SUlrich SpörleinThis chip is basically a 7751, but with the cryptographic functions missing.
1220afc94c1SUlrich SpörleinInstead, the 9751 is only capable of doing compression.
1230afc94c1SUlrich SpörleinSince we do not currently attempt to use any of these chips to do
1240afc94c1SUlrich Spörleincompression, the 9751-based cards are not useful.
1250afc94c1SUlrich Spörlein.Pp
1260afc94c1SUlrich SpörleinSupport for the 7955 and 7956 is incomplete; the asymmetric crypto
1270afc94c1SUlrich Spörleinfacilities are to be added and the performance is suboptimal.
1289cbda590SRuslan Ermilov.Sh BUGS
1299cbda590SRuslan ErmilovThe 7751 chip starts out at initialization by only supporting compression.
1309cbda590SRuslan ErmilovA proprietary algorithm, which has been reverse engineered, is required to
1319cbda590SRuslan Ermilovunlock the cryptographic functionality of the chip.
1329cbda590SRuslan ErmilovIt is possible for vendors to make boards which have a lock ID not known
1339cbda590SRuslan Ermilovto the driver, but all vendors currently just use the obvious ID which is
1349cbda590SRuslan Ermilov13 bytes of 0.
135