Lines Matching refs:key
128 void *session_encrypt; /* encryption session for this key */
129 void *session_decrypt; /* decryption session for this key */
130 struct rte_crypto_sym_xform cipher_xform; /* crypto control struct for this key */
147 /* Array of qpairs for each available device. The specific device will be selected depending on the crypto key */
437 struct accel_dpdk_cryptodev_key_priv *key)
441 if (key->driver == ACCEL_DPDK_CRYPTODEV_DRIVER_MLX5_PCI) {
442 /* Crypto key is registered on all available devices while io_channel opens CQ/QP on a single device.
443 * We need to iterate a list of key entries to find a suitable device */
444 TAILQ_FOREACH(key_handle, &key->dev_keys, link) {
452 return TAILQ_FIRST(&key->dev_keys);
653 SPDK_ERRLOG("Failed to find a key handle, driver %s, cipher %s\n", g_driver_names[priv->driver],
657 /* mlx5_pci binds keys to a specific device, we can't use a key with any device */
1350 accel_dpdk_cryptodev_key_handle_configure(struct spdk_accel_crypto_key *key,
1353 struct accel_dpdk_cryptodev_key_priv *priv = key->priv;
1361 key_handle->cipher_xform.cipher.key.data = key->key;
1362 key_handle->cipher_xform.cipher.key.length = key->key_size;
1366 key_handle->cipher_xform.cipher.key.data = priv->xts_key;
1367 key_handle->cipher_xform.cipher.key.length = key->key_size + key->key2_size;
1371 SPDK_ERRLOG("Invalid cipher name %s.\n", key->param.cipher);
1396 accel_dpdk_cryptodev_key_deinit(struct spdk_accel_crypto_key *key)
1399 struct accel_dpdk_cryptodev_key_priv *priv = key->priv;
1410 spdk_memset_s(priv->xts_key, key->key_size + key->key2_size, 0, key->key_size + key->key2_size);
1445 accel_dpdk_cryptodev_key_init(struct spdk_accel_crypto_key *key)
1460 key->priv = priv;
1462 priv->cipher = key->cipher;
1465 if (key->cipher == SPDK_ACCEL_CIPHER_AES_XTS) {
1467 priv->xts_key = calloc(key->key_size + key->key2_size + 1, sizeof(char));
1470 accel_dpdk_cryptodev_key_deinit(key);
1473 memcpy(priv->xts_key, key->key, key->key_size);
1474 memcpy(priv->xts_key + key->key_size, key->key2, key->key2_size);
1485 accel_dpdk_cryptodev_key_deinit(key);
1490 rc = accel_dpdk_cryptodev_key_handle_configure(key, key_handle);
1493 accel_dpdk_cryptodev_key_deinit(key);
1497 /* For MLX5_PCI we need to register a key on each device since
1498 * the key is bound to a specific Protection Domain,