FastCrypt driver

Below is a Linux driver for CE-InfoSys FastCrypt PCI card equipped with a SuperCrypt CE99C003B chip that can offload DES and 3DES encryption from the CPU.

This is a very preliminary version, but still the speed improvement can be demonstrated. For the benchmarking I used IPsec connection in transport mode without HMAC checksums. Transport speed was measured using wget on trasferring a 100MB file of random data between Host A (VIA Nehemiah @1.2 GHz) and Host B (Intel Itanium 2 @1.4 GHz, 2P SMP).

Host A Host B A -> B B -> A
des.ko des.ko 2.74 MB/s 2.75 MB/s
fcrypt.ko des.ko 3.62 MB/s 4.08 MB/s

As can be seen in the bottom row, using this hardware crypto accelerator can give more then 30% speed increase on the IPsec connection.

Linux driver

This linux driver is a very early version with a very few speed optimizations and is still somehow incomplete and not SMP safe. However it is well integrated with the kernel CryptoAPI and somehow works :-)

It uses my cryptoapi extensions from PadLock page. Is should be applied on top of the crypto-api-*.diff patches found there.

Kernel 2.6.9
fcrypt-2.6.9-2.diff2014-05-01 15:43
(this diff is actually missing one header file, take it from the tarball below)
Latest CVS version of standalone fcrypt module
fcrypt-cvs.tar.bz22014-05-01 15:43
(note that this driver is no longer supported and most likely won't work in any newer kernel than 2.6.9!)
Place for your feedback...
Dec 11   20:30 sdgsdg (by gsdgsdf)