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)
current_op = ops;
current_chained_op = chained_ops;
- /* *INDENT-OFF* */
vec_foreach_index (i, rv)
{
r = rv[i];
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;
};
op->user_data = i;
}
}
- /* *INDENT-ON* */
vnet_crypto_process_ops (vm, ops, vec_len (ops));
vnet_crypto_process_chained_ops (vm, chained_ops, chunks,
#define _(n, s, l) \
case VNET_CRYPTO_ALG_##n: \
return l;
- /* *INDENT-OFF* */
foreach_crypto_cipher_alg
foreach_crypto_aead_alg
- /* *INDENT-ON* */
#undef _
case VNET_CRYPTO_ALG_HMAC_MD5:
case VNET_CRYPTO_ALG_HMAC_SHA1:
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;
return test_crypto (vm, tm);
}
-/* *INDENT-OFF* */
VLIB_CLI_COMMAND (test_crypto_command, static) =
{
.path = "test crypto",
.short_help = "test crypto",
.function = test_crypto_command_fn,
};
-/* *INDENT-ON* */
static clib_error_t *
crypto_test_init (vlib_main_t * vm)