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