aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--example/classifier/odp_classifier.c5
-rw-r--r--example/generator/odp_generator.c4
-rw-r--r--example/ipsec/odp_ipsec.c6
-rw-r--r--example/packet/odp_pktio.c4
-rw-r--r--platform/linux-generic/pktio/loop.c2
-rw-r--r--platform/linux-generic/pktio/socket.c2
-rw-r--r--platform/linux-generic/pktio/socket_mmap.c2
-rw-r--r--test/performance/odp_l2fwd.c6
-rw-r--r--test/performance/odp_pktio_perf.c6
-rw-r--r--test/validation/classification/odp_classification_tests.c7
-rw-r--r--test/validation/pktio/pktio.c3
11 files changed, 44 insertions, 3 deletions
diff --git a/example/classifier/odp_classifier.c b/example/classifier/odp_classifier.c
index ac204afb..685f335f 100644
--- a/example/classifier/odp_classifier.c
+++ b/example/classifier/odp_classifier.c
@@ -463,6 +463,11 @@ int main(int argc, char *argv[])
/* configure default Cos and default queue */
configure_default_queue(pktio, args);
+ if (odp_pktio_start(pktio)) {
+ EXAMPLE_ERR("Error: unable to start pktio.\n");
+ exit(EXIT_FAILURE);
+ }
+
/* Create and init worker threads */
memset(thread_tbl, 0, sizeof(thread_tbl));
diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c
index 5c2eb061..f7aed760 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -359,6 +359,10 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool)
if (ret != 0)
EXAMPLE_ABORT("Error: default input-Q setup for %s\n", dev);
+ ret = odp_pktio_start(pktio);
+ if (ret)
+ EXAMPLE_ABORT("Error: unable to start %s\n", dev);
+
printf(" created pktio:%02" PRIu64
", dev:%s, queue mode (ATOMIC queues)\n"
" default pktio%02" PRIu64
diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c
index 85dbc002..96effe28 100644
--- a/example/ipsec/odp_ipsec.c
+++ b/example/ipsec/odp_ipsec.c
@@ -556,6 +556,12 @@ void initialize_intf(char *intf)
exit(EXIT_FAILURE);
}
+ ret = odp_pktio_start(pktio);
+ if (ret) {
+ EXAMPLE_ERR("Error: unable to start %s\n", intf);
+ exit(EXIT_FAILURE);
+ }
+
/* Read the source MAC address for this interface */
ret = odp_pktio_mac_addr(pktio, src_mac, sizeof(src_mac));
if (ret <= 0) {
diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c
index 835fb961..df53ea2d 100644
--- a/example/packet/odp_pktio.c
+++ b/example/packet/odp_pktio.c
@@ -171,6 +171,10 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool, int mode)
if (ret != 0)
EXAMPLE_ABORT("Error: default input-Q setup for %s\n", dev);
+ ret = odp_pktio_start(pktio);
+ if (ret != 0)
+ EXAMPLE_ABORT("Error: unable to start %s\n", dev);
+
printf(" created pktio:%02" PRIu64
", dev:%s, queue mode (ATOMIC queues)\n"
" \tdefault pktio%02" PRIu64 "-INPUT queue:%" PRIu64 "\n",
diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c
index f61ccd5c..ef77e343 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -41,7 +41,7 @@ static int loopback_open(odp_pktio_t id, pktio_entry_t *pktio_entry,
if (pktio_entry->s.pkt_loop.loopq == ODP_QUEUE_INVALID)
return -1;
- pktio_entry->s.state = STATE_START;
+ pktio_entry->s.state = STATE_STOP;
return 0;
}
diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c
index 43c5f676..6fcdb465 100644
--- a/platform/linux-generic/pktio/socket.c
+++ b/platform/linux-generic/pktio/socket.c
@@ -234,7 +234,7 @@ static int sock_setup_pkt(pktio_entry_t *pktio_entry, const char *netdev,
goto error;
}
- pktio_entry->s.state = STATE_START;
+ pktio_entry->s.state = STATE_STOP;
return 0;
error:
diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c
index 2e55672e..3fd2b0f6 100644
--- a/platform/linux-generic/pktio/socket_mmap.c
+++ b/platform/linux-generic/pktio/socket_mmap.c
@@ -486,7 +486,7 @@ static int sock_mmap_open(odp_pktio_t id ODP_UNUSED,
goto error;
}
- pktio_entry->s.state = STATE_START;
+ pktio_entry->s.state = STATE_STOP;
return 0;
error:
diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c
index db26a58d..ce4efa88 100644
--- a/test/performance/odp_l2fwd.c
+++ b/test/performance/odp_l2fwd.c
@@ -317,6 +317,12 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool,
return ODP_PKTIO_INVALID;
}
+ ret = odp_pktio_start(pktio);
+ if (ret != 0) {
+ LOG_ERR("Error: unable to start %s\n", dev);
+ return ODP_PKTIO_INVALID;
+ }
+
return pktio;
}
diff --git a/test/performance/odp_pktio_perf.c b/test/performance/odp_pktio_perf.c
index 15525799..709becfa 100644
--- a/test/performance/odp_pktio_perf.c
+++ b/test/performance/odp_pktio_perf.c
@@ -777,6 +777,12 @@ static int test_init(void)
if (odp_pktio_inq_setdef(gbl_args->pktio_rx, inq_def) != 0)
return -1;
+ if (odp_pktio_start(gbl_args->pktio_tx) != 0)
+ return -1;
+ if (gbl_args->args.num_ifaces > 1 &&
+ odp_pktio_start(gbl_args->pktio_rx))
+ return -1;
+
return 0;
}
diff --git a/test/validation/classification/odp_classification_tests.c b/test/validation/classification/odp_classification_tests.c
index e22d00df..9e8ac1be 100644
--- a/test/validation/classification/odp_classification_tests.c
+++ b/test/validation/classification/odp_classification_tests.c
@@ -325,6 +325,13 @@ int classification_suite_init(void)
queue_list[i] = ODP_QUEUE_INVALID;
odp_atomic_init_u32(&seq, 0);
+
+ ret = odp_pktio_start(pktio_loop);
+ if (ret) {
+ fprintf(stderr, "unable to start loop\n");
+ return -1;
+ }
+
return 0;
}
diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c
index de92c757..89d4bf18 100644
--- a/test/validation/pktio/pktio.c
+++ b/test/validation/pktio/pktio.c
@@ -470,6 +470,9 @@ static void test_txrx(odp_queue_type_t q_type, int num_pkts)
io->inq = odp_pktio_inq_getdef(io->id);
else
io->inq = ODP_QUEUE_INVALID;
+
+ ret = odp_pktio_start(io->id);
+ CU_ASSERT(ret == 0);
}
/* if we have two interfaces then send through one and receive on