test mbuf attach
[dpdk.git] / app / test-eventdev / test_pipeline_common.c
index 160461f..17088b1 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;
@@ -196,7 +203,12 @@ pipeline_ethdev_setup(struct evt_test *test, struct evt_options *opt)
                struct rte_eth_conf local_port_conf = port_conf;
                uint32_t caps = 0;
 
-               rte_event_eth_tx_adapter_caps_get(opt->dev_id, i, &caps);
+               ret = rte_event_eth_tx_adapter_caps_get(opt->dev_id, i, &caps);
+               if (ret != 0) {
+                       evt_err("failed to get event tx adapter[%d] caps", i);
+                       return ret;
+               }
+
                if (!(caps & RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT))
                        t->internal_port = 0;
 
@@ -380,12 +392,16 @@ pipeline_event_tx_adapter_setup(struct evt_options *opt,
                if (!(cap & RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT)) {
                        uint32_t service_id = -1U;
 
-                       rte_event_eth_tx_adapter_service_id_get(consm,
-                                       &service_id);
+                       ret = rte_event_eth_tx_adapter_service_id_get(consm,
+                                                                  &service_id);
+                       if (ret != -ESRCH && ret != 0) {
+                               evt_err("Failed to get Tx adptr service ID");
+                               return ret;
+                       }
                        ret = evt_service_setup(service_id);
                        if (ret) {
                                evt_err("Failed to setup service core"
-                                               " for Tx adapter\n");
+                                               " for Tx adapter");
                                return ret;
                        }
                }
@@ -424,7 +440,7 @@ int
 pipeline_mempool_setup(struct evt_test *test, struct evt_options *opt)
 {
        struct test_pipeline *t = evt_test_priv(test);
-       int i;
+       int i, ret;
 
        if (!opt->mbuf_sz)
                opt->mbuf_sz = RTE_MBUF_DEFAULT_BUF_SIZE;
@@ -437,7 +453,13 @@ pipeline_mempool_setup(struct evt_test *test, struct evt_options *opt)
                uint16_t data_size = 0;
 
                memset(&dev_info, 0, sizeof(dev_info));
-               rte_eth_dev_info_get(i, &dev_info);
+               ret = rte_eth_dev_info_get(i, &dev_info);
+               if (ret != 0) {
+                       evt_err("Error during getting device (port %u) info: %s\n",
+                               i, strerror(-ret));
+                       return ret;
+               }
+
                if (dev_info.rx_desc_lim.nb_mtu_seg_max != UINT16_MAX &&
                                dev_info.rx_desc_lim.nb_mtu_seg_max != 0) {
                        data_size = opt->max_pkt_sz /