186b14d685
This patch changes the key pointer data types in cipher, auth, and aead xforms from "uint8_t *" to "const uint8_t *" for a more intuitive and safe sessionn creation. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Liron Himi <lironh@marvell.com>
67 lines
1.6 KiB
C
67 lines
1.6 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
|
|
*/
|
|
|
|
#ifndef _VIRTIO_CRYPTODEV_H_
|
|
#define _VIRTIO_CRYPTODEV_H_
|
|
|
|
#include "virtio_crypto.h"
|
|
#include "virtio_pci.h"
|
|
#include "virtio_ring.h"
|
|
|
|
/* Features desired/implemented by this driver. */
|
|
#define VIRTIO_CRYPTO_PMD_GUEST_FEATURES (1ULL << VIRTIO_F_VERSION_1)
|
|
|
|
#define CRYPTODEV_NAME_VIRTIO_PMD crypto_virtio
|
|
|
|
#define NUM_ENTRY_VIRTIO_CRYPTO_OP 7
|
|
|
|
#define VIRTIO_CRYPTO_MAX_IV_SIZE 16
|
|
|
|
#define VIRTIO_CRYPTO_MAX_KEY_SIZE 256
|
|
|
|
extern uint8_t cryptodev_virtio_driver_id;
|
|
|
|
enum virtio_crypto_cmd_id {
|
|
VIRTIO_CRYPTO_CMD_CIPHER = 0,
|
|
VIRTIO_CRYPTO_CMD_AUTH = 1,
|
|
VIRTIO_CRYPTO_CMD_CIPHER_HASH = 2,
|
|
VIRTIO_CRYPTO_CMD_HASH_CIPHER = 3
|
|
};
|
|
|
|
struct virtio_crypto_op_cookie {
|
|
struct virtio_crypto_op_data_req data_req;
|
|
struct virtio_crypto_inhdr inhdr;
|
|
struct vring_desc desc[NUM_ENTRY_VIRTIO_CRYPTO_OP];
|
|
uint8_t iv[VIRTIO_CRYPTO_MAX_IV_SIZE];
|
|
};
|
|
|
|
/*
|
|
* Control queue function prototype
|
|
*/
|
|
void virtio_crypto_ctrlq_start(struct rte_cryptodev *dev);
|
|
|
|
/*
|
|
* Data queue function prototype
|
|
*/
|
|
void virtio_crypto_dataq_start(struct rte_cryptodev *dev);
|
|
|
|
int virtio_crypto_queue_setup(struct rte_cryptodev *dev,
|
|
int queue_type,
|
|
uint16_t vtpci_queue_idx,
|
|
uint16_t nb_desc,
|
|
int socket_id,
|
|
struct virtqueue **pvq);
|
|
|
|
void virtio_crypto_queue_release(struct virtqueue *vq);
|
|
|
|
uint16_t virtio_crypto_pkt_tx_burst(void *tx_queue,
|
|
struct rte_crypto_op **tx_pkts,
|
|
uint16_t nb_pkts);
|
|
|
|
uint16_t virtio_crypto_pkt_rx_burst(void *tx_queue,
|
|
struct rte_crypto_op **tx_pkts,
|
|
uint16_t nb_pkts);
|
|
|
|
#endif /* _VIRTIO_CRYPTODEV_H_ */
|