5 #ifndef _RTE_CRYPTO_SCHEDULER_H 6 #define _RTE_CRYPTO_SCHEDULER_H 21 #include "rte_cryptodev_scheduler_operations.h" 28 #ifndef RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKERS 29 #define RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKERS (8) 33 #define RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKER_CORES (RTE_MAX_LCORE - 1) 36 #define SCHEDULER_MODE_NAME_ROUND_ROBIN round-robin 38 #define SCHEDULER_MODE_NAME_PKT_SIZE_DISTR packet-size-distr 40 #define SCHEDULER_MODE_NAME_FAIL_OVER fail-over 42 #define SCHEDULER_MODE_NAME_MULTI_CORE multi-core 48 CDEV_SCHED_MODE_NOT_SET = 0,
63 #define RTE_CRYPTODEV_SCHEDULER_NAME_MAX_LEN (64) 64 #define RTE_CRYPTODEV_SCHEDULER_DESC_MAX_LEN (256) 70 CDEV_SCHED_OPTION_NOT_SET = 0,
71 CDEV_SCHED_OPTION_THRESHOLD,
73 CDEV_SCHED_OPTION_COUNT
79 #define RTE_CRYPTODEV_SCHEDULER_PARAM_THRES "threshold" 80 struct rte_cryptodev_scheduler_threshold_option {
184 uint32_t enable_reorder);
255 typedef uint16_t (*rte_cryptodev_scheduler_burst_enqueue_t)(
void *qp_ctx,
258 typedef uint16_t (*rte_cryptodev_scheduler_burst_dequeue_t)(
void *qp_ctx,
268 struct rte_cryptodev_scheduler_ops *
ops;
struct rte_cryptodev_scheduler * crypto_scheduler_multicore
enum rte_cryptodev_scheduler_mode mode
enum rte_cryptodev_scheduler_mode rte_cryptodev_scheduler_mode_get(uint8_t scheduler_id)
int rte_cryptodev_scheduler_worker_detach(uint8_t scheduler_id, uint8_t worker_id)
struct rte_cryptodev_scheduler * crypto_scheduler_roundrobin
int rte_cryptodev_scheduler_ordering_get(uint8_t scheduler_id)
int rte_cryptodev_scheduler_option_set(uint8_t scheduler_id, enum rte_cryptodev_schedule_option_type option_type, void *option)
int rte_cryptodev_scheduler_option_get(uint8_t scheduler_id, enum rte_cryptodev_schedule_option_type option_type, void *option)
struct rte_cryptodev_scheduler * crypto_scheduler_failover
struct rte_cryptodev_scheduler_ops * ops
int rte_cryptodev_scheduler_worker_attach(uint8_t scheduler_id, uint8_t worker_id)
struct rte_cryptodev_scheduler * crypto_scheduler_pkt_size_based_distr
rte_cryptodev_scheduler_mode
rte_cryptodev_schedule_option_type
int rte_cryptodev_scheduler_ordering_set(uint8_t scheduler_id, uint32_t enable_reorder)
int rte_cryptodev_scheduler_workers_get(uint8_t scheduler_id, uint8_t *workers)
int rte_cryptodev_scheduler_mode_set(uint8_t scheduler_id, enum rte_cryptodev_scheduler_mode mode)
int rte_cryptodev_scheduler_load_user_scheduler(uint8_t scheduler_id, struct rte_cryptodev_scheduler *scheduler)