xref: /freebsd/share/man/man4/hifn.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
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.\"
27*40326c17SJohn-Mark Gurney.Dd July 29, 2020
28f4bf4335SSam Leffler.Dt HIFN 4
29f4bf4335SSam Leffler.Os
30f4bf4335SSam Leffler.Sh NAME
31f4bf4335SSam Leffler.Nm hifn
32bbc8551cSSam Leffler.Nd Hifn 7751/7951/7811/7955/7956 crypto accelerator
33f4bf4335SSam Leffler.Sh SYNOPSIS
34449e2f5cSChristian BruefferTo compile this driver into the kernel,
35449e2f5cSChristian Bruefferplace the following lines in your
36449e2f5cSChristian Bruefferkernel configuration file:
37449e2f5cSChristian Brueffer.Bd -ragged -offset indent
38449e2f5cSChristian Brueffer.Cd "device crypto"
39449e2f5cSChristian Brueffer.Cd "device cryptodev"
40449e2f5cSChristian Brueffer.Cd "device hifn"
41449e2f5cSChristian Brueffer.Ed
42449e2f5cSChristian Brueffer.Pp
43449e2f5cSChristian BruefferAlternatively, to load the driver as a
44449e2f5cSChristian Brueffermodule at boot time, place the following line in
45449e2f5cSChristian Brueffer.Xr loader.conf 5 :
46449e2f5cSChristian Brueffer.Bd -literal -offset indent
47449e2f5cSChristian Bruefferhifn_load="YES"
48449e2f5cSChristian Brueffer.Ed
49f4bf4335SSam Leffler.Sh DESCRIPTION
50f4bf4335SSam LefflerThe
51f4bf4335SSam Leffler.Nm
52bbc8551cSSam Lefflerdriver supports various cards containing the Hifn 7751, 7951,
53da603228SSimon L. B. Nielsen7811, 7955, and 7956 chipsets.
54da603228SSimon L. B. Nielsen.Pp
55da603228SSimon L. B. NielsenThe
56da603228SSimon L. B. Nielsen.Nm
570e00c709SJohn Baldwindriver registers itself to accelerate
5833fb013eSJohn BaldwinAES (7955 and 7956 only),
5963823cacSJohn BaldwinSHA1, and SHA1-HMAC operations for
60da603228SSimon L. B. Nielsen.Xr ipsec 4
61da603228SSimon L. B. Nielsenand
62da603228SSimon L. B. Nielsen.Xr crypto 4 .
63da603228SSimon L. B. Nielsen.Pp
64da603228SSimon L. B. NielsenThe Hifn
65da603228SSimon L. B. Nielsen.Tn 7951 ,
66da603228SSimon L. B. Nielsen.Tn 7811 ,
67da603228SSimon L. B. Nielsen.Tn 7955 ,
68da603228SSimon L. B. Nielsenand
69da603228SSimon L. B. Nielsen.Tn 7956
70da603228SSimon L. B. Nielsenwill also supply data to the kernel
71da603228SSimon L. B. Nielsen.Xr random 4
72da603228SSimon L. B. Nielsensubsystem.
73da603228SSimon L. B. Nielsen.Sh HARDWARE
74da603228SSimon L. B. NielsenThe
75da603228SSimon L. B. Nielsen.Nm
76da603228SSimon L. B. Nielsendriver supports various cards containing the Hifn 7751, 7951,
77bbc8551cSSam Leffler7811, 7955, and 7956
78da603228SSimon L. B. Nielsenchipsets, such as:
79f4bf4335SSam Leffler.Bl -tag -width namenamenamena -offset indent
80f4bf4335SSam Leffler.It Invertex AEON
81f4bf4335SSam LefflerNo longer being made.
82f4bf4335SSam LefflerCame as 128KB SRAM model, or 2MB DRAM model.
83f4bf4335SSam Leffler.It Hifn 7751
84f4bf4335SSam LefflerReference board with 512KB SRAM.
85f4bf4335SSam Leffler.It PowerCrypt
86f4bf4335SSam LefflerComes with 512KB SRAM.
87f4bf4335SSam Leffler.It XL-Crypt
88f4bf4335SSam LefflerOnly board based on 7811 (which is faster than 7751 and has
89f4bf4335SSam Lefflera random number generator).
90f4bf4335SSam Leffler.It NetSec 7751
91f4bf4335SSam LefflerSupports the most IPsec sessions, with 1MB SRAM.
92f4bf4335SSam Leffler.It Soekris Engineering vpn1201 and vpn1211
93f4bf4335SSam LefflerSee
94f4bf4335SSam Leffler.Pa http://www.soekris.com/ .
95f4bf4335SSam LefflerContains a 7951 and supports symmetric and random number operations.
96bbc8551cSSam Leffler.It Soekris Engineering vpn1401 and vpn1411
97bbc8551cSSam LefflerSee
98bbc8551cSSam Leffler.Pa http://www.soekris.com/ .
99bbc8551cSSam LefflerContains a 7955 and supports symmetric and random number operations.
100f4bf4335SSam Leffler.El
101f4bf4335SSam Leffler.Sh SEE ALSO
102f4bf4335SSam Leffler.Xr crypto 4 ,
103f4bf4335SSam Leffler.Xr intro 4 ,
104f4bf4335SSam Leffler.Xr ipsec 4 ,
105f4bf4335SSam Leffler.Xr random 4 ,
106*40326c17SJohn-Mark Gurney.Xr crypto 7 ,
107f4bf4335SSam Leffler.Xr crypto 9
108f4bf4335SSam Leffler.Sh HISTORY
109f4bf4335SSam LefflerThe
110f4bf4335SSam Leffler.Nm
111f4bf4335SSam Lefflerdevice driver appeared in
112a2931c09SRuslan Ermilov.Ox 2.7 .
113f4bf4335SSam LefflerThe
114f4bf4335SSam Leffler.Nm
115a2931c09SRuslan Ermilovdevice driver was imported to
116a2931c09SRuslan Ermilov.Fx 5.0 .
1170afc94c1SUlrich Spörlein.Sh CAVEATS
1180afc94c1SUlrich SpörleinThe Hifn 9751 shares the same PCI ID.
1190afc94c1SUlrich SpörleinThis chip is basically a 7751, but with the cryptographic functions missing.
1200afc94c1SUlrich SpörleinInstead, the 9751 is only capable of doing compression.
1210afc94c1SUlrich SpörleinSince we do not currently attempt to use any of these chips to do
1220afc94c1SUlrich Spörleincompression, the 9751-based cards are not useful.
1230afc94c1SUlrich Spörlein.Pp
1240afc94c1SUlrich SpörleinSupport for the 7955 and 7956 is incomplete; the asymmetric crypto
1250afc94c1SUlrich Spörleinfacilities are to be added and the performance is suboptimal.
1269cbda590SRuslan Ermilov.Sh BUGS
1279cbda590SRuslan ErmilovThe 7751 chip starts out at initialization by only supporting compression.
1289cbda590SRuslan ErmilovA proprietary algorithm, which has been reverse engineered, is required to
1299cbda590SRuslan Ermilovunlock the cryptographic functionality of the chip.
1309cbda590SRuslan ErmilovIt is possible for vendors to make boards which have a lock ID not known
1319cbda590SRuslan Ermilovto the driver, but all vendors currently just use the obvious ID which is
1329cbda590SRuslan Ermilov13 bytes of 0.
133