On Tue, 08 Nov 2005 08:51:06 +0100, Vincent Bernat <[EMAIL PROTECTED]>
wrote:

>Hi !
>
>I  have several  questions about  IPsec performance  in OpenBSD.  I am
>using IPsec to maintain more than 60 tunnels and it performs well when
>those tunnels are idle. Tunnels are  either using 3DES or AES. 3DES is
>due  to the  fact that  clients  are using  Windows where  AES is  not
>available.
>
>OpenBSD is running on a Celeron 2.4 GHz and openssl speed aes gives 70
>MB/s and des-ede3 gives 15 MB/s. With 40 Mb/s (megabits/s) of traffic,
>the processor is used at 100%.  Why such a difference with the results
>of openssl speed.
>

Celeron? If your goal is to melt an nearly worthless processor into a
completely worthless chunk of slag, Celeron is perfect.

>I have  added an  Hifn 7955  crypto card. However,  after one  hour of
>managing the  60 tunnels,  it becomes impossible  to do  any symmetric
>crypto. There is nothing in the dmesg about that. The only solution is
>to reboot. With the card disabled,  there is no such problem. Any idea
>of why I have this problem ?
>

Just a wild guess but it possibly has something to do with the fact HiFn
refuses to make their documentation publicly available and because of
this support in OpenBSD is limited. As someone who went to lunch with
the HiFn CEO and VP of engineering over a year ago to address this
problem, the most I can say is I was told a lot of things but nothing
was actually done... The worst part about the experience was the fact
Theo told be it would be all talk and no action before I ever met with
HiFn.

Few things are worse than getting an implied "I told you so" from Theo.
All the same, at least I tried.

>What kind of hardware will perform 3DES and AES encryption well ? A C3
>processor has AES encryption built-in  but I must keep 3DES encryption
>as   well   and   those   processors   are  very   slow   on   general
>operations. Would  an Opteron  2.2 Ghz performs  better than  an Intel
>EM64T Xeon 3 GHz ?
>
>If  I choose  a multiprocessor  system, will  OpenBSD be  able  to use
>efficienly the two processors for doing IPsec stuff ?
>

Now think to yourself on this one. You've got 60 tunnels that must be
serviced by the processor. A single threaded processor with limited
cache and task switching (i.e. Celeron) is the wrong choice if not the
worst choice you could make. The fake multi-core Intel stuff called
"Hyper Threading" is a small step in the right direction. Next up would
be real multi-core processors, and lastly, your best choice is having
multiple multi-core processors.

Having an custom ASIC (processor) specifically designed to do crypto
running as a co-processing slave to your system CPU is a great and
wonderful thing, but only if it actually works. Though it might not
solve your immediate problem, it would be good for the project if you
contacted HiFn yourself and asked them why their documentation is not
publicly available so the open source world can develop drivers.

"Chris Kenber"  ckenber(at)hifn.com  CEO
"Russell Dietz" RDietz(at)hifn.com   VP Eng

If, and only if, your real limitation is actually the processing power
needed for crypto, then obviously having more processing power will most
likely solve the problem. Before you decide the real problem is
processing power, please do yourself a favor and look for other possible
bottlenecks, like interrupt, network, memory... A machine with multiple
general purpose multi-core processor is not cheap (i.e. dual or quad
multi-core Opterons would be sweet). Tossing a general purpose CPU at a
specific processing problem will help but it's better and cheaper to use
custom co-processors, like crypto ASIC's, to address the specific
processing task.

JCR

Reply via email to