Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Security (IxCryptoAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 91
The context-registration process creates the structures within the CCD, but the crypto context for
each connection must be previously defined in an IxCryptoAccCtx structure. The IxCryptoAccCtx
structure contains the following information:
The type of operation for this context. For example, encrypt, decrypt, authenticate, encrypt and
authenticate, etc.
Cipher parameters, such as algorithm, mode, and key length
Authentication parameters, such as algorithm, digest length, and hash length
In-place versus non-in-place operation. In-place operation means the once the cryto processing
of the source data is completed, the resulting data is placed onto the same IX_MBUF as it was
read from.
When the client performs calls the ixCryptoAccCtxRegister() function, the following data
must be provided or received:
The client provides a pointer to the crypto context (i.e., SA definition) being registered.
The client is required to allocate two IX_MBUFs to the hardware accelerator will populate
with the primary and secondary chaining variables.
The client must register two callbacks. One callback is executed upon the completion of the
registration function, the second is executed each time a cryptographic procedure (“perform”
functions) has completed on the NPE for this context. There is one exception for the perform
callback function, noted in section “ixCryptoAccXscaleWepPerform()” on page 108.
The function returns a context ID upon successful registration in the CCD.
Figure 28 on page 92 shows the IxCryptoAcc API call process flow that occurs when registering
security associations within the CCD. This process is identical for both IPSec and WEP services
except in situations where NPE-based acceleration will not be used, such as when using WEP
services using only the Intel XScale core WEP engine. For more detailed information on this usage
model see “ixCryptoAccXscaleWepPerform()” on page 108.