Implement odp_pktio_in_queues(), odp_pktio_pktin_queues(),
and odp_pktio_pktout_queues() functions.

Reviewed-by: Petri Savolainen <[email protected]>
Signed-off-by: Matias Elo <[email protected]>
---
 platform/linux-generic/pktio/dpdk.c | 48 ++++++++++++++++++++++++++++++++++---
 1 file changed, 45 insertions(+), 3 deletions(-)

diff --git a/platform/linux-generic/pktio/dpdk.c 
b/platform/linux-generic/pktio/dpdk.c
index 4951166..9b0bb9a 100644
--- a/platform/linux-generic/pktio/dpdk.c
+++ b/platform/linux-generic/pktio/dpdk.c
@@ -676,6 +676,48 @@ static int dpdk_link_status(pktio_entry_t *pktio_entry)
        return link.link_status;
 }
 
+static int dpdk_in_queues(pktio_entry_t *pktio_entry, odp_queue_t queues[],
+                         int num)
+{
+       int i;
+       int num_queues = pktio_entry->s.num_in_queue;
+
+       if (queues && num > 0) {
+               for (i = 0; i < num && i < num_queues; i++)
+                       queues[i] = pktio_entry->s.in_queue[i].queue;
+       }
+
+       return num_queues;
+}
+
+static int dpdk_pktin_queues(pktio_entry_t *pktio_entry,
+                            odp_pktin_queue_t queues[], int num)
+{
+       int i;
+       int num_queues = pktio_entry->s.num_in_queue;
+
+       if (queues && num > 0) {
+               for (i = 0; i < num && i < num_queues; i++)
+                       queues[i] = pktio_entry->s.in_queue[i].pktin;
+       }
+
+       return num_queues;
+}
+
+static int dpdk_pktout_queues(pktio_entry_t *pktio_entry,
+                             odp_pktout_queue_t queues[], int num)
+{
+       int i;
+       int num_queues = pktio_entry->s.num_out_queue;
+
+       if (queues && num > 0) {
+               for (i = 0; i < num && i < num_queues; i++)
+                       queues[i] = pktio_entry->s.out_queue[i].pktout;
+       }
+
+       return num_queues;
+}
+
 const pktio_if_ops_t dpdk_pktio_ops = {
        .name = "dpdk",
        .init_global = odp_dpdk_pktio_init_global,
@@ -697,9 +739,9 @@ const pktio_if_ops_t dpdk_pktio_ops = {
        .capability = dpdk_capability,
        .input_queues_config = NULL,
        .output_queues_config = NULL,
-       .in_queues = NULL,
-       .pktin_queues = NULL,
-       .pktout_queues = NULL
+       .in_queues = dpdk_in_queues,
+       .pktin_queues = dpdk_pktin_queues,
+       .pktout_queues = dpdk_pktout_queues
 };
 
 #endif /* ODP_PKTIO_DPDK */
-- 
1.9.1

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to