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