crypto/scheduler: add API to get attached slaves
[dpdk.git] / drivers / crypto / scheduler / rte_cryptodev_scheduler.h
index 306dfea..1b52261 100644 (file)
 extern "C" {
 #endif
 
+/**< Maximum number of bonded devices per device */
+#ifndef RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES
+#define RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES  (8)
+#endif
+
 /**
  * Crypto scheduler PMD operation modes
  */
@@ -147,6 +152,25 @@ rte_cryptodev_scheduler_ordering_set(uint8_t scheduler_id,
 int
 rte_cryptodev_scheduler_ordering_get(uint8_t scheduler_id);
 
+/**
+ * Get the the attached slaves' count and/or ID
+ *
+ * @param scheduler_id
+ *   The target scheduler device ID
+ * @param slaves
+ *  If successful, the function will write back
+ *  all slaves' device IDs to it. This
+ *  parameter SHALL either be an uint8_t array
+ *  of RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES
+ *  elements or NULL.
+ *
+ * @return
+ *   - non-negative number: the number of slaves attached
+ *   - negative integer if error occurs.
+ */
+int
+rte_cryptodev_scheduler_slaves_get(uint8_t scheduler_id, uint8_t *slaves);
+
 typedef uint16_t (*rte_cryptodev_scheduler_burst_enqueue_t)(void *qp_ctx,
                struct rte_crypto_op **ops, uint16_t nb_ops);