summaryrefslogtreecommitdiffstats
path: root/src/plugins/crypto_ipsecmb
AgeCommit message (Expand)AuthorFilesLines
2021-10-07build: fix ipsecmb version checkFan Zhang1-5/+5
2021-10-04build: Allow ipsec-mb plugin to build with libipsec_mb 0.55Nick Brown2-0/+14
2021-05-12crypto: add chacha20-poly1305 support to ipsecmbFan Zhang1-0/+252
2021-04-30build: declare some CMake variables as advancedDamjan Marion1-2/+2
2021-02-04crypto-ipsecmb: add support for AES CTRBenoît Ganne1-36/+40
2021-01-25crypto-ipsecmb: more explicit errors reportingBenoît Ganne1-4/+24
2020-07-21crypto: bails out early for unsupported key typeBenoît Ganne1-4/+4
2020-04-30crypto: introduce async crypto infraFan Zhang1-0/+4
2020-03-06crypto: align per thread data to cache lineFilip Tehlar1-1/+3
2020-02-18crypto: add chained buffer support in ipsecmb (AES-GCM)Filip Tehlar1-0/+83
2020-01-10docs: Edit FEATURE.yaml files so they can be publishedJohn DeNisco1-1/+1
2020-01-02crypto-ipsecmb: Add FEATURE.yaml for all crypto engine pluginsNeale Ranns1-0/+11
2019-11-22crypto-ipsecmb: use single GCM APIFan Zhang1-6/+4
2019-11-07crypto-ipsecmb: improve gcm performance using dedicated API.Fan Zhang1-88/+54
2019-10-22vppinfra: add clib_mem_free_sBenoît Ganne1-6/+2
2019-08-09crypto: add '-maes' compile switchBenoît Ganne1-1/+1
2019-05-16init / exit function orderingDave Barach1-4/+6
2019-05-07ipsec-mb: fix the "make test" on non-AESNI platformsAndrew Yourtchenko1-0/+3
2019-05-06Remove target option when IPSecMB disabledNathan Skrzypczak1-2/+1
2019-05-03plugins: clean up plugin descriptionsDave Wallace1-1/+1
2019-04-26crypto, ipsec: change GCM IV handlingDamjan Marion1-49/+16
2019-04-25crypto_ipsecmb: CBC IV size is always equal to block sizeDamjan Marion1-27/+13
2019-04-25crypto_ipsecmb: use pre-expanded keysDamjan Marion1-218/+207
2019-04-25crypto: improve key handlingDamjan Marion1-4/+7
2019-04-23Bump to intel-ipsec-mb version 0.52Damjan Marion1-2/+4
2019-04-17crypto-ipsecmb: enable GCMNeale Ranns1-24/+220
2019-04-15crypto: fix coverity warningsFilip Tehlar1-0/+2
2019-04-11IPSEC-MB: Use random & non-repeating IV (VPP-1642)Neale Ranns2-14/+57
2019-04-10crypto: Intel IPSEC-MB engineNeale Ranns2-0/+416
#endif } static inline u8 * format_bihash_kvp_40_56 (u8 *s, va_list *args) { clib_bihash_kv_40_56_t *v = va_arg (*args, clib_bihash_kv_40_56_t *); s = format (s, "key %llu %llu %llu %llu %llu" "value %llu %llu %llu %llu %llu %llu %llu", v->key[0], v->key[1], v->key[2], v->key[3], v->key[4], v->value[0], v->value[1], v->value[2], v->value[3], v->value[4], v->value[5], v->value[6]); return s; } static inline int clib_bihash_key_compare_40_56 (u64 *a, u64 *b) { #if defined (CLIB_HAVE_VEC512) u64x8 v; v = u64x8_load_unaligned (a) ^ u64x8_load_unaligned (b); return (u64x8_is_zero_mask (v) & 0x1f) == 0; #elif defined (CLIB_HAVE_VEC256) u64x4 v = { a[4] ^ b[4], 0, 0, 0 }; v |= u64x4_load_unaligned (a) ^ u64x4_load_unaligned (b); return u64x4_is_all_zero (v); #elif defined(CLIB_HAVE_VEC128) && defined(CLIB_HAVE_VEC128_UNALIGNED_LOAD_STORE) u64x2 v = { a[4] ^ b[4], 0 }; v |= u64x2_load_unaligned (a) ^ u64x2_load_unaligned (b); v |= u64x2_load_unaligned (a + 2) ^ u64x2_load_unaligned (b + 2); return u64x2_is_all_zero (v); #else return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) | (a[3] ^ b[3]) | (a[4] ^ b[4])) == 0; #endif } #undef __included_bihash_template_h__ #include <vppinfra/bihash_template.h> typedef clib_bihash_kv_40_56_t cnat_bihash_kv_t; typedef clib_bihash_40_56_t cnat_bihash_t; #define cnat_bihash_search_i2_hash clib_bihash_search_inline_2_with_hash_40_56 #define cnat_bihash_search_i2 clib_bihash_search_inline_2_40_56 #define cnat_bihash_add_del clib_bihash_add_del_40_56 #define cnat_bihash_hash clib_bihash_hash_40_56 #define cnat_bihash_prefetch_bucket clib_bihash_prefetch_bucket_40_56 #define cnat_bihash_prefetch_data clib_bihash_prefetch_data_40_56 #endif /* __included_bihash_40_56_h__ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */