X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Funittest%2Fcrypto%2Fcrypto.h;h=5e09a3ab0ec00985af699ea638e9455a66894d48;hb=a9075dcf65c14f1269faad4ba0e2ed9b06dd3140;hp=587d7b76a2f2422b4e8c4ec0e17cbe190d388589;hpb=060bfb987a277624e5644de2fcbee1196c2c76e8;p=vpp.git diff --git a/src/plugins/unittest/crypto/crypto.h b/src/plugins/unittest/crypto/crypto.h index 587d7b76a2f..5e09a3ab0ec 100644 --- a/src/plugins/unittest/crypto/crypto.h +++ b/src/plugins/unittest/crypto/crypto.h @@ -17,6 +17,8 @@ #ifndef included_unittest_crypto_crypto_h #define included_unittest_crypto_crypto_h +#define CRYPTO_TEST_MAX_OP_CHUNKS 8 + typedef struct { u32 length; @@ -29,6 +31,12 @@ typedef struct unittest_crypto_test_registration vnet_crypto_alg_t alg; unittest_crypto_test_data_t iv, key, digest, plaintext, ciphertext, aad, tag; + u32 plaintext_incremental; + u8 is_chained; + + /* plaintext and cipher text data used for testing chained buffers */ + unittest_crypto_test_data_t pt_chunks[CRYPTO_TEST_MAX_OP_CHUNKS + 1]; + unittest_crypto_test_data_t ct_chunks[CRYPTO_TEST_MAX_OP_CHUNKS + 1]; /* next */ struct unittest_crypto_test_registration *next; @@ -38,12 +46,22 @@ typedef struct unittest_crypto_test_registration typedef struct { int verbose; + u8 *inc_data; + + /* perf */ + vnet_crypto_alg_t alg; + u32 warmup_rounds; + u32 rounds; + u32 buffer_size; + u32 n_buffers; + unittest_crypto_test_registration_t *test_registrations; } crypto_test_main_t; extern crypto_test_main_t crypto_test_main; #define TEST_DATA(n) { .data = (u8 *) n, .length = sizeof (n)} +#define TEST_DATA_CHUNK(s,off,n) { .data = (u8 *) s + off, .length = n} #define UNITTEST_REGISTER_CRYPTO_TEST(x) \ unittest_crypto_test_registration_t __unittest_crypto_test_##x; \