]> git.droids-corp.org - dpdk.git/commitdiff
app/eventdev: validate producer type
authorPavan Nikhilesh <pbhagavatula@marvell.com>
Thu, 2 Apr 2020 19:38:07 +0000 (01:08 +0530)
committerJerin Jacob <jerinj@marvell.com>
Sat, 4 Apr 2020 15:11:23 +0000 (17:11 +0200)
Validate the producer type used for pipeline and order test suites.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
app/test-eventdev/evt_options.h
app/test-eventdev/test_order_common.c
app/test-eventdev/test_pipeline_common.c

index cb1d3760d4cbf1dbe9d524e33b845136b2ca5859..748e54fae96ec2fec1f793aac554785482f851f6 100644 (file)
@@ -232,6 +232,22 @@ evt_dump_sched_type_list(struct evt_options *opt)
        evt_dump_end;
 }
 
+static inline const char *
+evt_prod_id_to_name(enum evt_prod_type prod_type)
+{
+       switch (prod_type) {
+       default:
+       case EVT_PROD_TYPE_SYNT:
+               return "Synthetic producer lcores";
+       case EVT_PROD_TYPE_ETH_RX_ADPTR:
+               return "Ethdev Rx Adapter";
+       case EVT_PROD_TYPE_EVENT_TIMER_ADPTR:
+               return "Event timer adapter";
+       }
+
+       return "";
+}
+
 #define EVT_PROD_MAX_NAME_LEN 50
 static inline void
 evt_dump_producer_type(struct evt_options *opt)
index 252e4a14c7dc902330cea6da7aff46dcf03c4f5d..4190f9ade82baa2a906e46b53a5ec050cf8647bd 100644 (file)
@@ -68,8 +68,10 @@ int
 order_opt_check(struct evt_options *opt)
 {
        if (opt->prod_type != EVT_PROD_TYPE_SYNT) {
-               evt_err("Invalid producer type");
-               return -EINVAL;
+               evt_err("Invalid producer type '%s' valid producer '%s'",
+                       evt_prod_id_to_name(opt->prod_type),
+                       evt_prod_id_to_name(EVT_PROD_TYPE_SYNT));
+               return -1;
        }
 
        /* 1 producer + N workers + 1 master */
index fa91bf22905289d742f3b9831b6e957f3180d09e..84c42b33ce841756ba2c58dc69d27efb7812de48 100644 (file)
@@ -111,6 +111,13 @@ pipeline_opt_check(struct evt_options *opt, uint64_t nb_queues)
         */
        lcores = 2;
 
+       if (opt->prod_type != EVT_PROD_TYPE_ETH_RX_ADPTR) {
+               evt_err("Invalid producer type '%s' valid producer '%s'",
+                       evt_prod_id_to_name(opt->prod_type),
+                       evt_prod_id_to_name(EVT_PROD_TYPE_ETH_RX_ADPTR));
+               return -1;
+       }
+
        if (!rte_eth_dev_count_avail()) {
                evt_err("test needs minimum 1 ethernet dev");
                return -1;