dpdk/app/test-crypto-perf/cperf_test_vectors.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: BSD-3-Clause
   2 * Copyright(c) 2016-2017 Intel Corporation
   3 */
   4
   5#ifndef _CPERF_TEST_VECTRORS_
   6#define _CPERF_TEST_VECTRORS_
   7
   8#include "cperf_options.h"
   9
  10struct cperf_test_vector {
  11        struct {
  12                uint8_t *data;
  13                uint32_t length;
  14        } plaintext;
  15
  16        struct {
  17                uint8_t *data;
  18                uint16_t length;
  19        } cipher_key;
  20
  21        struct {
  22                uint8_t *data;
  23                uint16_t length;
  24        } auth_key;
  25
  26        struct {
  27                uint8_t *data;
  28                uint16_t length;
  29        } aead_key;
  30
  31        struct {
  32                uint8_t *data;
  33                uint16_t length;
  34        } cipher_iv;
  35
  36        struct {
  37                uint8_t *data;
  38                uint16_t length;
  39        } auth_iv;
  40
  41        struct {
  42                uint8_t *data;
  43                uint16_t length;
  44        } aead_iv;
  45
  46        struct {
  47                uint8_t *data;
  48                uint32_t length;
  49        } ciphertext;
  50
  51        struct {
  52                uint8_t *data;
  53                rte_iova_t phys_addr;
  54                uint16_t length;
  55        } aad;
  56
  57        struct {
  58                uint8_t *data;
  59                rte_iova_t phys_addr;
  60                uint16_t length;
  61        } digest;
  62
  63        struct {
  64                uint32_t auth_offset;
  65                uint32_t auth_length;
  66                uint32_t cipher_offset;
  67                uint32_t cipher_length;
  68                uint32_t aead_offset;
  69                uint32_t aead_length;
  70        } data;
  71
  72        struct {
  73                uint8_t *mod;
  74                uint8_t *exp;
  75                uint32_t mlen;
  76                uint32_t elen;
  77        } modex;
  78};
  79
  80struct cperf_modex_test_data {
  81#define DATA_SIZE  512
  82        struct {
  83                uint8_t data[DATA_SIZE];
  84                uint16_t len;
  85        } base;
  86        struct {
  87                uint8_t data[DATA_SIZE];
  88                uint16_t len;
  89        } exponent;
  90        struct {
  91                uint8_t data[DATA_SIZE];
  92                uint16_t len;
  93        } modulus;
  94        struct {
  95                uint8_t data[DATA_SIZE];
  96                uint16_t len;
  97        } result;
  98};
  99
 100struct cperf_test_vector*
 101cperf_test_vector_get_dummy(struct cperf_options *options);
 102
 103extern uint8_t ciphertext[2048];
 104
 105extern uint8_t cipher_key[];
 106extern uint8_t auth_key[];
 107
 108extern uint8_t iv[];
 109extern uint8_t aad[];
 110
 111extern uint8_t digest[2048];
 112
 113extern struct cperf_modex_test_data modex_perf_data[4];
 114
 115#endif
 116