[API-NEXT,v3,1/2] api: pktio: extend odp_pktin_queue_param_t to support per queue configuration

Message ID 1534752012-14928-2-git-send-email-odpbot@yandex.ru
State New
Headers show
Series
  • api: pktio: extend odp_pktin_queue_param_t to support per queue configuration
Related show

Commit Message

Github ODP bot Aug. 20, 2018, 8 a.m.
From: Bogdan Pricope <bogdan.pricope@linaro.org>


Per queue configuration enables advanced usecases where input queues
of the same interface may belong to different scheduler groups.

Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org>

---
/** Email created from pull request 660 (bogdanPricope:api_next_pktin_queue_pr)
 ** https://github.com/Linaro/odp/pull/660
 ** Patch: https://github.com/Linaro/odp/pull/660.patch
 ** Base sha: 2722279b31b075586551801eb2860687ff966ea8
 ** Merge commit sha: 7b311bb5354307530b9e27d0d6febddb1de2b8f5
 **/
 include/odp/api/spec/packet_io.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Patch

diff --git a/include/odp/api/spec/packet_io.h b/include/odp/api/spec/packet_io.h
index a55c2678f..d3e1d405f 100644
--- a/include/odp/api/spec/packet_io.h
+++ b/include/odp/api/spec/packet_io.h
@@ -148,6 +148,17 @@  typedef enum odp_pktio_op_mode_t {
 
 } odp_pktio_op_mode_t;
 
+/**
+ * Packet input queue parameters override
+ */
+typedef struct odp_pktin_queue_param_ovr_t {
+	/** Override for schedule group in odp_schedule_param_t
+	  *
+	  * This parameter is considered only when queue type is
+	  * ODP_QUEUE_TYPE_SCHED. */
+	odp_schedule_group_t group;
+} odp_pktin_queue_param_ovr_t;
+
 /**
  * Packet input queue parameters
  */
@@ -203,6 +214,18 @@  typedef struct odp_pktin_queue_param_t {
 	  * value is ignored. */
 	odp_queue_param_t queue_param;
 
+	/** Queue parameters override
+	  *
+	  * When the override array is defined, the same parameter value
+	  * in 'queue_param' is ignored and these per queue parameter
+	  * values are used instead. Array elements are used in order
+	  * (i.e. the first queue gets parameters from the first array
+	  * element, etc).
+	  * Must point to an array of num_queues elements or NULL to
+	  * disable queue parameters override. The default value is
+	  * NULL.
+	  */
+	odp_pktin_queue_param_ovr_t *queue_param_ovr;
 } odp_pktin_queue_param_t;
 
 /**