From: Bogdan Pricope <bogdan.pric...@linaro.org> Enables advanced usecases where heterogeneous settings are needed on input queues of the same interface.
Signed-off-by: Bogdan Pricope <bogdan.pric...@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 **/ platform/linux-generic/odp_packet_io.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index 7759f83e4..cb8086afd 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -1466,15 +1466,23 @@ int odp_pktin_queue_config(odp_pktio_t pktio, odp_queue_param_t queue_param; char name[ODP_QUEUE_NAME_LEN]; int pktio_id = odp_pktio_index(pktio); + odp_pktin_queue_param_ovr_t *queue_param_ovr = NULL; + + if (param->queue_param_ovr) + queue_param_ovr = param->queue_param_ovr + i; 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 + } else { memcpy(&queue_param, ¶m->queue_param, sizeof(odp_queue_param_t)); + if (queue_param_ovr) + queue_param.sched.group = + queue_param_ovr->group; + } queue_param.type = ODP_QUEUE_TYPE_PLAIN;