![]() |
![]() |
The Security Accelerator (SA) also known as cp_ace (Adaptive Cryptographic Engine) is designed to provide packet security as part of IPSEC, SRTP, and 3GPP industry standards. The security accelerator low level driver (referred to as the module) provides APIs for the configuration and control of the security accelerator sub-system. The SA low level driver provides an abstraction layer between the application and the Security Accelerator Sub System (SASS). It provides both the system level interface and the channel-level interface with a set of APIs defined here.
The common interface maintains the system-level resources and needs to be coordinated among multiple CGEM cores. All the data access provided by the common interface will invoke the SA CSL layer. The common interface performs the following tasks:
The channel interface performs protocol-specific pre-processing for all the packets to be passed to the SA and protocol-specific post-processing of all the packets received from the SA. The channel interface performs the following tasks:
With the exception of some initial setup functions, the module does not communicate directly with the sub-system. The driver does not contain a transport layer and is always non-blocking. The software layers above the SA LLD must call the appropriate SA LLD APIs, and then call the appropriate PA and/or CPPI and QMSS APIs to actually send the data to the SA sub-system.