DPDK
17.05.2
|
#include <stdint.h>
#include "rte_cryptodev_scheduler_operations.h"
Go to the source code of this file.
Data Structures | |
struct | rte_cryptodev_scheduler_threshold_option |
struct | rte_cryptodev_scheduler |
Macros | |
#define | RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES (8) |
#define | SCHEDULER_MODE_NAME_ROUND_ROBIN round-robin |
#define | SCHEDULER_MODE_NAME_PKT_SIZE_DISTR packet-size-distr |
#define | SCHEDULER_MODE_NAME_FAIL_OVER fail-over |
Variables | |
struct rte_cryptodev_scheduler * | roundrobin_scheduler |
struct rte_cryptodev_scheduler * | pkt_size_based_distr_scheduler |
struct rte_cryptodev_scheduler * | failover_scheduler |
RTE Cryptodev Scheduler Device
The RTE Cryptodev Scheduler Device allows the aggregation of multiple (slave) Cryptodevs into a single logical crypto device, and the scheduling the crypto operations to the slaves based on the mode of the specified mode of operation specified and supported. This implementation supports 3 modes of operation: round robin, packet-size based, and fail-over.
Definition in file rte_cryptodev_scheduler.h.
#define RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES (8) |
Maximum number of bonded devices per device
Definition at line 58 of file rte_cryptodev_scheduler.h.
#define SCHEDULER_MODE_NAME_ROUND_ROBIN round-robin |
Round-robin scheduling mode string
Definition at line 62 of file rte_cryptodev_scheduler.h.
#define SCHEDULER_MODE_NAME_PKT_SIZE_DISTR packet-size-distr |
Packet-size based distribution scheduling mode string
Definition at line 64 of file rte_cryptodev_scheduler.h.
#define SCHEDULER_MODE_NAME_FAIL_OVER fail-over |
Fail-over scheduling mode string
Definition at line 66 of file rte_cryptodev_scheduler.h.
Crypto scheduler PMD operation modes
Definition at line 71 of file rte_cryptodev_scheduler.h.
Crypto scheduler option types
Definition at line 91 of file rte_cryptodev_scheduler.h.
int rte_cryptodev_scheduler_load_user_scheduler | ( | uint8_t | scheduler_id, |
struct rte_cryptodev_scheduler * | scheduler | ||
) |
Load a user defined scheduler
scheduler_id | The target scheduler device ID |
scheduler | Pointer to the user defined scheduler |
int rte_cryptodev_scheduler_slave_attach | ( | uint8_t | scheduler_id, |
uint8_t | slave_id | ||
) |
Attach a crypto device to the scheduler
scheduler_id | The target scheduler device ID |
slave_id | Crypto device ID to be attached |
int rte_cryptodev_scheduler_slave_detach | ( | uint8_t | scheduler_id, |
uint8_t | slave_id | ||
) |
Detach a crypto device from the scheduler
scheduler_id | The target scheduler device ID |
slave_id | Crypto device ID to be detached |
int rte_cryptodev_scheduler_mode_set | ( | uint8_t | scheduler_id, |
enum rte_cryptodev_scheduler_mode | mode | ||
) |
Set the scheduling mode
scheduler_id | The target scheduler device ID |
mode | The scheduling mode |
enum rte_cryptodev_scheduler_mode rte_cryptodev_scheduler_mode_get | ( | uint8_t | scheduler_id | ) |
Get the current scheduling mode
scheduler_id | The target scheduler device ID |
__rte_deprecated int rte_crpytodev_scheduler_mode_set | ( | uint8_t | scheduler_id, |
enum rte_cryptodev_scheduler_mode | mode | ||
) |
scheduler_id | The target scheduler device ID |
mode | The scheduling mode |
__rte_deprecated enum rte_cryptodev_scheduler_mode rte_crpytodev_scheduler_mode_get | ( | uint8_t | scheduler_id | ) |
scheduler_id | The target scheduler device ID |
int rte_cryptodev_scheduler_ordering_set | ( | uint8_t | scheduler_id, |
uint32_t | enable_reorder | ||
) |
Set the crypto ops reordering feature on/off
scheduler_id | The target scheduler device ID |
enable_reorder | Set the crypto op reordering feature
|
int rte_cryptodev_scheduler_ordering_get | ( | uint8_t | scheduler_id | ) |
Get the current crypto ops reordering feature
scheduler_id | The target scheduler device ID |
int rte_cryptodev_scheduler_slaves_get | ( | uint8_t | scheduler_id, |
uint8_t * | slaves | ||
) |
Get the the attached slaves' count and/or ID
scheduler_id | The target scheduler device ID |
slaves | If successful, the function will write back all slaves' device IDs to it. This parameter will either be an uint8_t array of RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES elements or NULL. |
int rte_cryptodev_scheduler_option_set | ( | uint8_t | scheduler_id, |
enum rte_cryptodev_schedule_option_type | option_type, | ||
void * | option | ||
) |
Set the mode specific option
scheduler_id | The target scheduler device ID |
option_type | The option type enumerate |
option | The specific mode's option structure |
int rte_cryptodev_scheduler_option_get | ( | uint8_t | scheduler_id, |
enum rte_cryptodev_schedule_option_type | option_type, | ||
void * | option | ||
) |
Set the mode specific option
scheduler_id | The target scheduler device ID |
option_type | The option type enumerate |
option | If successful, the function will write back the current |
struct rte_cryptodev_scheduler* roundrobin_scheduler |
Round-robin mode scheduler
struct rte_cryptodev_scheduler* pkt_size_based_distr_scheduler |
Packet-size based distribution mode scheduler
struct rte_cryptodev_scheduler* failover_scheduler |
Fail-over mode scheduler