@@ -22,6 +22,7 @@
#include <odp/helper/ip.h>
#include <odp/helper/udp.h>
#include <odp/helper/icmp.h>
+#include <odp/helper/pktio.h>
#define MAX_WORKERS 32 /**< max number of works */
#define SHM_PKT_POOL_SIZE (512*2048) /**< pkt pool size */
@@ -364,12 +365,19 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool)
if (ret)
EXAMPLE_ABORT("Error: unable to start %s\n", dev);
+ ret = odph_pktio_wait_linkup(pktio);
+ if (ret == 0) {
+ EXAMPLE_ERR("Link for dev %s is down, exit.\n", dev);
+ exit(EXIT_FAILURE);
+ }
+
printf(" created pktio:%02" PRIu64
", dev:%s, queue mode (ATOMIC queues)\n"
" default pktio%02" PRIu64
- "-INPUT queue:%" PRIu64 "\n",
+ "-INPUT queue:%" PRIu64 ", link_status:%d\n",
odp_pktio_to_u64(pktio), dev,
- odp_pktio_to_u64(pktio), odp_queue_to_u64(inq_def));
+ odp_pktio_to_u64(pktio), odp_queue_to_u64(inq_def),
+ odp_pktio_link_status(pktio));
return pktio;
}
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> --- example/generator/odp_generator.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)