@@ -1470,11 +1470,20 @@ int odp_pktin_queue_config(odp_pktio_t pktio,
snprintf(name, sizeof(name), "odp-pktin-%i-%i",
pktio_id, i);
- if (param->classifier_enable)
+ if (param->classifier_enable) {
odp_queue_param_init(&queue_param);
- else
- memcpy(&queue_param, ¶m->queue_param,
- sizeof(odp_queue_param_t));
+ } else {
+ const odp_queue_param_t *qparam;
+
+ if (param->queue_param_mode ==
+ ODP_PKTIN_QUEUE_PARAM_MODE_BASIC)
+ qparam = ¶m->queue_param;
+ else
+ qparam = param->queue_params + i;
+
+ odp_memcpy(&queue_param, qparam,
+ sizeof(odp_queue_param_t));
+ }
queue_param.type = ODP_QUEUE_TYPE_PLAIN;