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