Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Security (IxCryptoAcc) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
108 Document Number: 252539, Revision: 007
These acceleration components provide the following services to IxCryptoAcc:
ARC4 (Alleged RC4) encryption / decryption
WEP ICV generation and verification
The API provides two functions for performing WEP operations.
ixCryptoAccXScaleWepPerform() is used to submit data for WEP services using the Intel XScale
core-based WEP engine. ixCryptoAccNpeWepPerform() is used to submit data for WEP services
using the hardware acceleration services of NPE A.
It is important to note that the perform requests are always executed entirely on the specified
engine. However, a single crypto context may be submitted to either engine. There are some
specific behavioral characteristics for each engine.
ixCryptoAccNpeWepPerform()
The NPE-based WEP perform function acts identically to the IPSec service perform functions in
terms of callback behavior. During crypto context registration, a callback is specified to be
executed upon completion of the perform operation. For ixCryptoAccNpeWepPerform(), this
callback is executed asynchronously. When the NPE has completed the required processing, it will
initiate the client callback.
ixCryptoAccXscaleWepPerform()
The WEP perform function using the Intel XScale core WEP engine has two distinct differences
from the NPE-based function.
First, ixCryptoAccXscaleWepPerform() operates synchronously. This is to say that once the
perform function is submitted, the Intel XScale core function retains the context until the perform
operation is complete. The Intel XScale core perform function will not execute the registered
performCallback function. The client should initiate any local callback function on its own.
The second behavior difference is that the Intel XScale core perform function does not support
non-in-place memory operations.The function returns an error if the non-in-place operation is
requested.
NPE Microcode Images
The WEP NPE image IX_NPEDL_NPEIMAGE_NPEA_WEP
makes autonomous use of NPE A
(also known as the WAN/Voice NPE) and cannot be used simultaneously with any other NPE
images on NPE A. Should the product design require NPE A be used for another purpose (DMA or
ATM processing, for example), then the Intel XScale core WEP engine should be used.
7.5.3 WEP API Call Flow
Figure 42 on page 109 details the IxCryptoAcc API call flow that occurs when submitted data for
processing using WEP services. The process listed below assumes that the API has been properly
configured and that a crypto context has been created and registered in the CCD, as described in
“Context Registration and the Cryptographic Context Database” on page 90.