@@ -148,6 +148,22 @@ typedef enum odp_pktio_op_mode_t {
} odp_pktio_op_mode_t;
+/**
+ * Packet input queue configuration mode
+ */
+typedef enum odp_pktin_queue_param_mode_t {
+ /** Single parameter set for all queues
+ *
+ * Pktin queues share the same configuration. */
+ ODP_PKTIN_QUEUE_PARAM_MODE_BASIC = 0,
+
+ /** Per queue parameter set
+ *
+ * Each pktin queue is configured with an idependent set
+ * of parameters. */
+ ODP_PKTIN_QUEUE_PARAM_MODE_MULTI
+} odp_pktin_queue_param_mode_t;
+
/**
* Packet input queue parameters
*/
@@ -193,6 +209,12 @@ typedef struct odp_pktin_queue_param_t {
* Queue type is defined by the input mode. The default value is 1. */
unsigned num_queues;
+ /** Queues configuration mode
+ *
+ * Input queues share the same configuration parameter set or
+ * use a parameter set per queue. */
+ odp_pktin_queue_param_mode_t queue_param_mode;
+
/** Queue parameters
*
* These are used for input queue creation in ODP_PKTIN_MODE_QUEUE
@@ -201,7 +223,22 @@ typedef struct odp_pktin_queue_param_t {
* odp_queue_param_t documentation.
* When classifier is enabled in odp_pktin_queue_config() this
* value is ignored. */
- odp_queue_param_t queue_param;
+ union {
+ /** Single parameter set for all queues
+ *
+ * Coresponds to ODP_PKTIN_QUEUE_PARAM_MODE_BASIC
+ * queue_param_mode.
+ */
+ odp_queue_param_t queue_param;
+
+ /** Per queue parameter set
+ *
+ * Coresponds to ODP_PKTIN_QUEUE_PARAM_MODE_MULTI
+ * queue_param_mode.
+ * queue_params must point to an array with num_queues
+ * elements. */
+ odp_queue_param_t *queue_params;
+ };
} odp_pktin_queue_param_t;