Bill,

Idea if ops is not defined that some common value has to be used.
Instead of fixing loop it's needed to fix common code to return 1 if link_status is not implemented.

int odp_pktio_link_status(odp_pktio_t id)
{
    pktio_entry_t *entry;
    int ret = -1; <--- has to be 1
.....
    if (entry->s.ops->link_status)
        ret = entry->s.ops->link_status(entry);
    unlock_entry(entry);

    return ret;
}

Maxim.


On 02/29/16 23:53, Bill Fischofer wrote:
ODP loopback interfaces should always be considered up, so add a
handler for odp_pktio_link_status() for this device type that always
returns 1 to indicate the link is up.

Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org>
---
  platform/linux-generic/pktio/loop.c | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/platform/linux-generic/pktio/loop.c 
b/platform/linux-generic/pktio/loop.c
index dbb0e7b..0ea6d0e 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -134,6 +134,12 @@ static int loopback_mac_addr_get(pktio_entry_t 
*pktio_entry ODP_UNUSED,
        return ETH_ALEN;
  }
+static int loopback_link_status(pktio_entry_t *pktio_entry ODP_UNUSED)
+{
+       /* loopback interfaces are always up */
+       return 1;
+}
+
  static int loopback_promisc_mode_set(pktio_entry_t *pktio_entry,
                                     odp_bool_t enable)
  {
@@ -176,6 +182,7 @@ const pktio_if_ops_t loopback_pktio_ops = {
        .promisc_mode_set = loopback_promisc_mode_set,
        .promisc_mode_get = loopback_promisc_mode_get,
        .mac_get = loopback_mac_addr_get,
+       .link_status = loopback_link_status,
        .capability = NULL,
        .input_queues_config = NULL,
        .output_queues_config = NULL,

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to