case VNET_CRYPTO_OP_TYPE_HMAC:
exp_digest = &r->digest;
break;
+ case VNET_CRYPTO_OP_TYPE_HASH:
+ exp_digest = &r->digest;
+ break;
default:
ASSERT (0);
}
if (vec_len (err))
fail = 1;
- vlib_cli_output (vm, "%-60v%s%v", s, vec_len (err) ? "FAIL: " : "OK",
- err);
+ vlib_cli_output (vm, "%-65v%s%v", s, vec_len (err) ? "FAIL: " : "OK", err);
if (tm->verbose)
{
if (tm->verbose == 2)
static int
restore_engines (u32 * engs)
{
- return 0;
vnet_crypto_main_t *cm = &crypto_main;
u32 i;
vnet_crypto_engine_t *ce;
static int
save_current_engines (u32 * engs)
{
- return 0;
vnet_crypto_main_t *cm = &crypto_main;
uword *p;
u32 i;
op->chunk_index = vec_len (chunks);
while (pt->data)
{
+ clib_memset (&ch, 0, sizeof (ch));
ch.src = pt->data;
ch.len = pt->length;
ch.dst = computed_data + computed_data_total_len;
op->chunk_index = vec_len (chunks);
while (ct->data)
{
+ clib_memset (&ch, 0, sizeof (ch));
ch.src = ct->data;
ch.len = ct->length;
ch.dst = computed_data + computed_data_total_len;
op->chunk_index = vec_len (chunks);
while (pt->data)
{
+ clib_memset (&ch, 0, sizeof (ch));
ch.src = pt->data;
ch.len = pt->length;
vec_add1 (chunks, ch);
op->len = r->plaintext.length;
}
break;
+ case VNET_CRYPTO_OP_TYPE_HASH:
+ op->digest = computed_data + computed_data_total_len;
+ computed_data_total_len += r->digest.length;
+ op->src = r->plaintext.data;
+ op->len = r->plaintext.length;
+ break;
default:
break;
};
n_ops_static += 1;
}
break;
+ case VNET_CRYPTO_OP_TYPE_HASH:
+ computed_data_total_len += r->digest.length;
+ n_ops_static += 1;
+ break;
default:
break;
};
vnet_crypto_op_t *ops1 = 0, *ops2 = 0, *op1, *op2;
vnet_crypto_alg_data_t *ad = vec_elt_at_index (cm->algs, tm->alg);
vnet_crypto_key_index_t key_index = ~0;
- u8 key[32];
+ u8 key[64];
int buffer_size = vlib_buffer_get_default_data_size (vm);
u64 seed = clib_cpu_time_now ();
u64 t0[5], t1[5], t2[5], n_bytes = 0;
ad->op_by_type[VNET_CRYPTO_OP_TYPE_ENCRYPT]);
vnet_crypto_op_init (op2,
ad->op_by_type[VNET_CRYPTO_OP_TYPE_DECRYPT]);
- op1->flags = VNET_CRYPTO_OP_FLAG_INIT_IV;
op1->src = op2->src = op1->dst = op2->dst = b->data;
op1->key_index = op2->key_index = key_index;
op1->iv = op2->iv = b->data - 64;