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 59*0e00c709SJohn Baldwindriver registers itself to accelerate 6033fb013eSJohn 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