Since packet queue handles are stored on upper layer,
there is no need for each pktio module to implement queue
query function (callback). Removed callbacks and single queue
default implementations.

Signed-off-by: Petri Savolainen <[email protected]>
---
 .../linux-generic/include/odp_packet_io_internal.h | 11 ----
 platform/linux-generic/odp_packet_io.c             | 62 ++++++++++------------
 platform/linux-generic/pktio/dpdk.c                | 47 +---------------
 platform/linux-generic/pktio/loop.c                |  3 --
 platform/linux-generic/pktio/netmap.c              | 45 ----------------
 platform/linux-generic/pktio/pcap.c                |  3 --
 platform/linux-generic/pktio/socket.c              |  3 --
 platform/linux-generic/pktio/socket_mmap.c         |  3 --
 8 files changed, 28 insertions(+), 149 deletions(-)

diff --git a/platform/linux-generic/include/odp_packet_io_internal.h 
b/platform/linux-generic/include/odp_packet_io_internal.h
index 9297fc7..ff3ba21 100644
--- a/platform/linux-generic/include/odp_packet_io_internal.h
+++ b/platform/linux-generic/include/odp_packet_io_internal.h
@@ -197,11 +197,6 @@ typedef struct pktio_if_ops {
                                   const odp_pktin_queue_param_t *param);
        int (*output_queues_config)(pktio_entry_t *pktio_entry,
                                    const odp_pktout_queue_param_t *p);
-       int (*in_queues)(pktio_entry_t *entry, odp_queue_t queues[], int num);
-       int (*pktin_queues)(pktio_entry_t *entry, odp_pktin_queue_t queues[],
-                           int num);
-       int (*pktout_queues)(pktio_entry_t *entry, odp_pktout_queue_t queues[],
-                            int num);
        int (*recv_queue)(pktio_entry_t *entry, int index,
                          odp_packet_t packets[], int num);
        int (*send_queue)(pktio_entry_t *entry, int index,
@@ -252,12 +247,6 @@ int single_input_queues_config(pktio_entry_t *entry,
                               const odp_pktin_queue_param_t *param);
 int single_output_queues_config(pktio_entry_t *entry,
                                const odp_pktout_queue_param_t *param);
-int single_in_queues(pktio_entry_t *entry, odp_queue_t queues[], int num);
-int single_pktin_queues(pktio_entry_t *entry, odp_pktin_queue_t queues[],
-                       int num);
-int single_out_queues(pktio_entry_t *entry, odp_queue_t queues[], int num);
-int single_pktout_queues(pktio_entry_t *entry, odp_pktout_queue_t queues[],
-                        int num);
 int single_recv_queue(pktio_entry_t *entry, int index, odp_packet_t packets[],
                      int num);
 int single_send_queue(pktio_entry_t *entry, int index, odp_packet_t packets[],
diff --git a/platform/linux-generic/odp_packet_io.c 
b/platform/linux-generic/odp_packet_io.c
index 83a03d8..9f4cd58 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -1243,6 +1243,8 @@ int odp_pktin_event_queue(odp_pktio_t pktio, odp_queue_t 
queues[], int num)
 {
        pktio_entry_t *entry;
        odp_pktin_mode_t mode;
+       int i;
+       int num_queues;
 
        entry = get_pktio_entry(pktio);
        if (entry == NULL) {
@@ -1259,16 +1261,22 @@ int odp_pktin_event_queue(odp_pktio_t pktio, 
odp_queue_t queues[], int num)
            mode != ODP_PKTIN_MODE_SCHED)
                return -1;
 
-       if (entry->s.ops->in_queues)
-               return entry->s.ops->in_queues(entry, queues, num);
+       num_queues = entry->s.num_in_queue;
 
-       return single_in_queues(entry, queues, num);
+       if (queues && num > 0) {
+               for (i = 0; i < num && i < num_queues; i++)
+                       queues[i] = entry->s.in_queue[i].queue;
+       }
+
+       return num_queues;
 }
 
 int odp_pktin_queue(odp_pktio_t pktio, odp_pktin_queue_t queues[], int num)
 {
        pktio_entry_t *entry;
        odp_pktin_mode_t mode;
+       int i;
+       int num_queues;
 
        entry = get_pktio_entry(pktio);
        if (entry == NULL) {
@@ -1284,10 +1292,14 @@ int odp_pktin_queue(odp_pktio_t pktio, 
odp_pktin_queue_t queues[], int num)
        if (mode != ODP_PKTIN_MODE_DIRECT)
                return -1;
 
-       if (entry->s.ops->pktin_queues)
-               return entry->s.ops->pktin_queues(entry, queues, num);
+       num_queues = entry->s.num_in_queue;
 
-       return single_pktin_queues(entry, queues, num);
+       if (queues && num > 0) {
+               for (i = 0; i < num && i < num_queues; i++)
+                       queues[i] = entry->s.in_queue[i].pktin;
+       }
+
+       return num_queues;
 }
 
 int odp_pktout_event_queue(odp_pktio_t pktio, odp_queue_t queues[], int num)
@@ -1325,6 +1337,8 @@ int odp_pktout_queue(odp_pktio_t pktio, 
odp_pktout_queue_t queues[], int num)
 {
        pktio_entry_t *entry;
        odp_pktout_mode_t mode;
+       int i;
+       int num_queues;
 
        entry = get_pktio_entry(pktio);
        if (entry == NULL) {
@@ -1340,10 +1354,14 @@ int odp_pktout_queue(odp_pktio_t pktio, 
odp_pktout_queue_t queues[], int num)
        if (mode != ODP_PKTOUT_MODE_DIRECT)
                return -1;
 
-       if (entry->s.ops->pktout_queues)
-               return entry->s.ops->pktout_queues(entry, queues, num);
+       num_queues = entry->s.num_out_queue;
+
+       if (queues && num > 0) {
+               for (i = 0; i < num && i < num_queues; i++)
+                       queues[i] = entry->s.out_queue[i].pktout;
+       }
 
-       return single_pktout_queues(entry, queues, num);
+       return num_queues;
 }
 
 int odp_pktin_recv(odp_pktin_queue_t queue, odp_packet_t packets[], int num)
@@ -1391,32 +1409,6 @@ int single_capability(odp_pktio_capability_t *capa)
        return 0;
 }
 
-int single_in_queues(pktio_entry_t *entry, odp_queue_t queues[], int num)
-{
-       if (queues && num > 0)
-               queues[0] = entry->s.in_queue[0].queue;
-
-       return 1;
-}
-
-int single_pktin_queues(pktio_entry_t *entry, odp_pktin_queue_t queues[],
-                       int num)
-{
-       if (queues && num > 0)
-               queues[0] = entry->s.in_queue[0].pktin;
-
-       return 1;
-}
-
-int single_pktout_queues(pktio_entry_t *entry, odp_pktout_queue_t queues[],
-                        int num)
-{
-       if (queues && num > 0)
-               queues[0] = entry->s.out_queue[0].pktout;
-
-       return 1;
-}
-
 int single_recv_queue(pktio_entry_t *entry, int index, odp_packet_t packets[],
                      int num)
 {
diff --git a/platform/linux-generic/pktio/dpdk.c 
b/platform/linux-generic/pktio/dpdk.c
index c81bb43..a2101e7 100644
--- a/platform/linux-generic/pktio/dpdk.c
+++ b/platform/linux-generic/pktio/dpdk.c
@@ -799,48 +799,6 @@ 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,
@@ -861,10 +819,7 @@ const pktio_if_ops_t dpdk_pktio_ops = {
        .mac_get = dpdk_mac_addr_get,
        .capability = dpdk_capability,
        .input_queues_config = dpdk_input_queues_config,
-       .output_queues_config = dpdk_output_queues_config,
-       .in_queues = dpdk_in_queues,
-       .pktin_queues = dpdk_pktin_queues,
-       .pktout_queues = dpdk_pktout_queues
+       .output_queues_config = dpdk_output_queues_config
 };
 
 #endif /* ODP_PKTIO_DPDK */
diff --git a/platform/linux-generic/pktio/loop.c 
b/platform/linux-generic/pktio/loop.c
index b603593..7e3768d 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -179,9 +179,6 @@ const pktio_if_ops_t loopback_pktio_ops = {
        .capability = NULL,
        .input_queues_config = NULL,
        .output_queues_config = NULL,
-       .in_queues = NULL,
-       .pktin_queues = NULL,
-       .pktout_queues = NULL,
        .recv_queue = NULL,
        .send_queue = NULL
 };
diff --git a/platform/linux-generic/pktio/netmap.c 
b/platform/linux-generic/pktio/netmap.c
index c84f510..07cc1c1 100644
--- a/platform/linux-generic/pktio/netmap.c
+++ b/platform/linux-generic/pktio/netmap.c
@@ -787,48 +787,6 @@ static int netmap_capability(pktio_entry_t *pktio_entry,
        return 0;
 }
 
-static int netmap_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 netmap_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 netmap_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;
-}
-
 static int netmap_stats(pktio_entry_t *pktio_entry,
                        odp_pktio_stats_t *stats)
 {
@@ -875,9 +833,6 @@ const pktio_if_ops_t netmap_pktio_ops = {
        .capability = netmap_capability,
        .input_queues_config = netmap_input_queues_config,
        .output_queues_config = netmap_output_queues_config,
-       .in_queues = netmap_in_queues,
-       .pktin_queues = netmap_pktin_queues,
-       .pktout_queues = netmap_pktout_queues,
        .recv_queue = netmap_recv_queue,
        .send_queue = netmap_send_queue
 };
diff --git a/platform/linux-generic/pktio/pcap.c 
b/platform/linux-generic/pktio/pcap.c
index 3d7b29b..611a634 100644
--- a/platform/linux-generic/pktio/pcap.c
+++ b/platform/linux-generic/pktio/pcap.c
@@ -409,9 +409,6 @@ const pktio_if_ops_t pcap_pktio_ops = {
        .capability = NULL,
        .input_queues_config = NULL,
        .output_queues_config = NULL,
-       .in_queues = NULL,
-       .pktin_queues = NULL,
-       .pktout_queues = NULL,
        .recv_queue = NULL,
        .send_queue = NULL
 };
diff --git a/platform/linux-generic/pktio/socket.c 
b/platform/linux-generic/pktio/socket.c
index 610d7f2..2c55611 100644
--- a/platform/linux-generic/pktio/socket.c
+++ b/platform/linux-generic/pktio/socket.c
@@ -858,9 +858,6 @@ const pktio_if_ops_t sock_mmsg_pktio_ops = {
        .capability = NULL,
        .input_queues_config = NULL,
        .output_queues_config = NULL,
-       .in_queues = NULL,
-       .pktin_queues = NULL,
-       .pktout_queues = NULL,
        .recv_queue = NULL,
        .send_queue = NULL
 };
diff --git a/platform/linux-generic/pktio/socket_mmap.c 
b/platform/linux-generic/pktio/socket_mmap.c
index 07d7c1e..b12e907 100644
--- a/platform/linux-generic/pktio/socket_mmap.c
+++ b/platform/linux-generic/pktio/socket_mmap.c
@@ -627,9 +627,6 @@ const pktio_if_ops_t sock_mmap_pktio_ops = {
        .capability = NULL,
        .input_queues_config = NULL,
        .output_queues_config = NULL,
-       .in_queues = NULL,
-       .pktin_queues = NULL,
-       .pktout_queues = NULL,
        .recv_queue = NULL,
        .send_queue = NULL
 };
-- 
2.7.1

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

Reply via email to