34 #ifndef _RTE_CRYPTO_SCHEDULER_H
35 #define _RTE_CRYPTO_SCHEDULER_H
50 #include "rte_cryptodev_scheduler_operations.h"
57 #ifndef RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES
58 #define RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES (8)
62 #define RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKER_CORES (RTE_MAX_LCORE - 1)
65 #define SCHEDULER_MODE_NAME_ROUND_ROBIN round-robin
67 #define SCHEDULER_MODE_NAME_PKT_SIZE_DISTR packet-size-distr
69 #define SCHEDULER_MODE_NAME_FAIL_OVER fail-over
71 #define SCHEDULER_MODE_NAME_MULTI_CORE multi-core
77 CDEV_SCHED_MODE_NOT_SET = 0,
92 #define RTE_CRYPTODEV_SCHEDULER_NAME_MAX_LEN (64)
93 #define RTE_CRYPTODEV_SCHEDULER_DESC_MAX_LEN (256)
99 CDEV_SCHED_OPTION_NOT_SET = 0,
100 CDEV_SCHED_OPTION_THRESHOLD,
102 CDEV_SCHED_OPTION_COUNT
213 uint32_t enable_reorder);
284 typedef uint16_t (*rte_cryptodev_scheduler_burst_enqueue_t)(
void *qp_ctx,
287 typedef uint16_t (*rte_cryptodev_scheduler_burst_dequeue_t)(
void *qp_ctx,
297 struct rte_cryptodev_scheduler_ops *
ops;
struct rte_cryptodev_scheduler * roundrobin_scheduler
enum rte_cryptodev_scheduler_mode mode
enum rte_cryptodev_scheduler_mode rte_cryptodev_scheduler_mode_get(uint8_t scheduler_id)
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)
struct rte_cryptodev_scheduler * failover_scheduler
int rte_cryptodev_scheduler_option_get(uint8_t scheduler_id, enum rte_cryptodev_schedule_option_type option_type, void *option)
struct rte_cryptodev_scheduler_ops * ops
int rte_cryptodev_scheduler_slaves_get(uint8_t scheduler_id, uint8_t *slaves)
struct rte_cryptodev_scheduler * pkt_size_based_distr_scheduler
int rte_cryptodev_scheduler_slave_detach(uint8_t scheduler_id, uint8_t slave_id)
rte_cryptodev_scheduler_mode
rte_cryptodev_schedule_option_type
struct rte_cryptodev_scheduler * multicore_scheduler
int rte_cryptodev_scheduler_ordering_set(uint8_t scheduler_id, uint32_t enable_reorder)
int rte_cryptodev_scheduler_slave_attach(uint8_t scheduler_id, uint8_t slave_id)
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)