diff options
Diffstat (limited to 'src/plugins/dev_octeon/crypto.h')
-rw-r--r-- | src/plugins/dev_octeon/crypto.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/dev_octeon/crypto.h b/src/plugins/dev_octeon/crypto.h index d7a501eb931..b003a605e0c 100644 --- a/src/plugins/dev_octeon/crypto.h +++ b/src/plugins/dev_octeon/crypto.h @@ -120,6 +120,17 @@ typedef struct vnet_crypto_async_frame_t *frame; /** Async frame element */ vnet_crypto_async_frame_elt_t *fe; + /** AAD meta data */ + u8 aad[8]; + /** IV meta data */ + u8 iv[16]; + /** Digest len */ + u8 mac_len; + /** aead */ + bool aead_algo; + /** Set when encrypting linked algo with esn. + * To move digest data */ + bool esn_enabled; /** Set if this is last element in frame */ bool last_elts; /** Index of element in frame */ @@ -153,6 +164,13 @@ typedef struct u8 started; } oct_crypto_main_t; +static_always_inline bool +oct_hw_ctx_cache_enable (void) +{ + return roc_errata_cpt_hang_on_mixed_ctx_val () || + roc_model_is_cn10ka_b0 () || roc_model_is_cn10kb_a0 (); +} + extern oct_crypto_main_t oct_crypto_main; void oct_crypto_key_del_handler (vlib_main_t *vm, |