Go to the source code of this file.
|
static void | hash_expand_keys (const MB_MGR *mgr, const u8 *key, u32 length, u8 block_size, u8 ipad[256], u8 opad[256], hash_one_block_t fn) |
|
static void | ipsecmb_retire_hmac_job (JOB_AES_HMAC *job, u32 *n_fail) |
|
static_always_inline u32 | ipsecmb_ops_hmac_inline (vlib_main_t *vm, const ipsecmb_per_thread_data_t *ptd, vnet_crypto_op_t *ops[], u32 n_ops, u32 block_size, hash_one_block_t fn, JOB_HASH_ALG alg) |
|
static void | ipsecmb_retire_cipher_job (JOB_AES_HMAC *job, u32 *n_fail) |
|
static_always_inline u32 | ipsecmb_ops_cbc_cipher_inline (vlib_main_t *vm, ipsecmb_per_thread_data_t *ptd, vnet_crypto_op_t *ops[], u32 n_ops, u32 key_len, u32 iv_len, keyexp_t fn, JOB_CIPHER_DIRECTION direction) |
|
static void | ipsecmb_retire_gcm_cipher_job (JOB_AES_HMAC *job, u32 *n_fail, JOB_CIPHER_DIRECTION direction) |
|
static_always_inline u32 | ipsecmb_ops_gcm_cipher_inline (vlib_main_t *vm, ipsecmb_per_thread_data_t *ptd, vnet_crypto_op_t *ops[], u32 n_ops, u32 key_len, u32 iv_len, ase_gcm_pre_t fn, JOB_CIPHER_DIRECTION direction) |
|
clib_error_t * | crypto_ipsecmb_iv_init (ipsecmb_main_t *imbm) |
|
static clib_error_t * | crypto_ipsecmb_init (vlib_main_t *vm) |
|
| VLIB_PLUGIN_REGISTER () |
|
#define EXPANDED_KEY_N_BYTES (16 * 15) |
#define foreach_ipsecmb_cbc_cipher_op |
Value:_(AES_128_CBC, 128, 16, 16) \
_(AES_192_CBC, 192, 24, 16) \
_(AES_256_CBC, 256, 32, 16)
Definition at line 70 of file ipsecmb.c.
#define foreach_ipsecmb_gcm_cipher_op |
Value:_(AES_128_GCM, 128, 16, 12) \
_(AES_192_GCM, 192, 24, 12) \
_(AES_256_GCM, 256, 32, 12)
Definition at line 78 of file ipsecmb.c.
#define foreach_ipsecmb_hmac_op |
Value:_(SHA1, SHA1, sha1) \
_(SHA256, SHA_256, sha256) \
_(SHA384, SHA_384, sha384) \
_(SHA512, SHA_512, sha512)
Definition at line 61 of file ipsecmb.c.
#define INIT_IPSEC_MB_GCM_PRE |
( |
|
_arch | ) |
|
Value:ase_gcm_pre_t ase_gcm_pre_256
ase_gcm_pre_t ase_gcm_pre_128
ase_gcm_pre_t ase_gcm_pre_192
static ipsecmb_gcm_pre_vft_t ipsecmb_gcm_pre_vft
Definition at line 54 of file ipsecmb.c.
typedef void(* ase_gcm_pre_t) (const void *key, struct gcm_key_data *key_data) |
AES GCM key=expansion VFT.
Definition at line 42 of file ipsecmb.c.
static void hash_expand_keys |
( |
const MB_MGR * |
mgr, |
|
|
const u8 * |
key, |
|
|
u32 |
length, |
|
|
u8 |
block_size, |
|
|
u8 |
ipad[256], |
|
|
u8 |
opad[256], |
|
|
hash_one_block_t |
fn |
|
) |
| |
|
inlinestatic |
static void ipsecmb_retire_cipher_job |
( |
JOB_AES_HMAC * |
job, |
|
|
u32 * |
n_fail |
|
) |
| |
|
inlinestatic |
static void ipsecmb_retire_gcm_cipher_job |
( |
JOB_AES_HMAC * |
job, |
|
|
u32 * |
n_fail, |
|
|
JOB_CIPHER_DIRECTION |
direction |
|
) |
| |
|
inlinestatic |
static void ipsecmb_retire_hmac_job |
( |
JOB_AES_HMAC * |
job, |
|
|
u32 * |
n_fail |
|
) |
| |
|
inlinestatic |
foreach_ipsecmb_cbc_cipher_op |
foreach_ipsecmb_gcm_cipher_op |