![]() |
![]() |
Security Context Request Information structure. More...
#include <salld.h>
Data Fields | |
uint16_t | scSize |
uint16_t | scID |
uint8_t * | scBuf |
Security Context Request Information structure.
SASS is equipped with context cache module to auto-fetch security context from external memory. This module is essential to allow any number of simultaneous security connections by caching only limited (64) contexts on-chip and fetching other contexts as and when required for processing.
In order to facilitate fast retrieval for performance critical connections such as IPSEC channels, context cache module allows two tier of security connections. First tier has permanent residence within Context cache RAM for fast retrieval and is never evicted automatically by context cache module. Second tier connections are kept as long as space is available within context cache RAM; new fetch request may automatically evict the context of the second tier connections into external memory to allow free space.
The following data structure defines the parameters for the security context request. The 15-bit security context ID, of which LSB 4-bits act as cache set select, and its corresponding context buffer, which contains the protocol-specific security parameters used by the LLD and sub-engines within SA, should be maintained across multiple DSP cores. They are multi-core resources and should be managed by the application.
The security context IDs and buffers can be managed across mult-cores or be pre-allocated for each core or each security channel. The security context buffer should be 16-byte aligned at least and it should be cache-line aligned if it is allocated at cacheable memory. It is recommended to maintain the security context buffers in the following three lists:
Allocated: The buffer and its corresponding ID have been allocated to the SA LLD through *ScAlloc API and they are owned by SA. Pending Free: The buffer and its corresponding ID has been released from the SA LLD through *ScFree API. However, they are still owned by SA until the security context tear-down procedure is complete. The API Sa_isScBufFree should be used to check whether the buffer is free Free: The buffer and its corresonding ID are owned by the application.
Definition at line 1644 of file salld.h.
uint8_t* Sa_ScReqInfo_t::scBuf |
uint16_t Sa_ScReqInfo_t::scID |
uint16_t Sa_ScReqInfo_t::scSize |