net: fix checksum API documentation
[dpdk.git] / app / test-eventdev / test_order_common.c
index dc55d93..d776006 100644 (file)
@@ -46,13 +46,10 @@ order_producer(void *arg)
                if (m == NULL)
                        continue;
 
-               const uint32_t flow = (uintptr_t)m % nb_flows;
+               const flow_id_t flow = (uintptr_t)m % nb_flows;
                /* Maintain seq number per flow */
-               m->seqn = producer_flow_seq[flow]++;
-               m->udata64 = flow;
-
-               ev.flow_id = flow;
-               ev.mbuf = m;
+               *order_mbuf_seqn(t, m) = producer_flow_seq[flow]++;
+               order_flow_id_save(t, flow, m, &ev);
 
                while (rte_event_enqueue_burst(dev_id, port, &ev, 1) != 1) {
                        if (t->err)
@@ -138,6 +135,17 @@ int
 order_test_setup(struct evt_test *test, struct evt_options *opt)
 {
        void *test_order;
+       struct test_order *t;
+       static const struct rte_mbuf_dynfield flow_id_dynfield_desc = {
+               .name = "test_event_dynfield_flow_id",
+               .size = sizeof(flow_id_t),
+               .align = __alignof__(flow_id_t),
+       };
+       static const struct rte_mbuf_dynfield seqn_dynfield_desc = {
+               .name = "test_event_dynfield_seqn",
+               .size = sizeof(seqn_t),
+               .align = __alignof__(seqn_t),
+       };
 
        test_order = rte_zmalloc_socket(test->name, sizeof(struct test_order),
                                RTE_CACHE_LINE_SIZE, opt->socket_id);
@@ -146,8 +154,21 @@ order_test_setup(struct evt_test *test, struct evt_options *opt)
                goto nomem;
        }
        test->test_priv = test_order;
+       t = evt_test_priv(test);
 
-       struct test_order *t = evt_test_priv(test);
+       t->flow_id_dynfield_offset =
+               rte_mbuf_dynfield_register(&flow_id_dynfield_desc);
+       if (t->flow_id_dynfield_offset < 0) {
+               evt_err("failed to register mbuf field");
+               return -rte_errno;
+       }
+
+       t->seqn_dynfield_offset =
+               rte_mbuf_dynfield_register(&seqn_dynfield_desc);
+       if (t->seqn_dynfield_offset < 0) {
+               evt_err("failed to register mbuf field");
+               return -rte_errno;
+       }
 
        t->producer_flow_seq = rte_zmalloc_socket("test_producer_flow_seq",
                                 sizeof(*t->producer_flow_seq) * opt->nb_flows,
@@ -287,7 +308,6 @@ order_launch_lcores(struct evt_test *test, struct evt_options *opt,
                                rte_event_dev_dump(opt->dev_id, stdout);
                                evt_err("No schedules for seconds, deadlock");
                                t->err = true;
-                               rte_smp_wmb();
                                break;
                        }
                        old_remaining = remaining;