net: add rte prefix to ether defines
[dpdk.git] / app / test-eventdev / test_perf_common.c
index d1bd5e9..01f7828 100644 (file)
@@ -327,7 +327,8 @@ perf_launch_lcores(struct evt_test *test, struct evt_options *opt,
                }
 
                if (new_cycles - dead_lock_cycles > dead_lock_sample &&
-                               opt->prod_type == EVT_PROD_TYPE_SYNT) {
+                   (opt->prod_type == EVT_PROD_TYPE_SYNT ||
+                    opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR)) {
                        remaining = t->outstand_pkts - processed_pkts(t);
                        if (dead_lock_remaining == remaining) {
                                rte_event_dev_dump(opt->dev_id, stdout);
@@ -392,21 +393,6 @@ perf_event_rx_adapter_setup(struct evt_options *opt, uint8_t stride,
                                return ret;
                        }
                }
-
-               ret = rte_eth_dev_start(prod);
-               if (ret) {
-                       evt_err("Ethernet dev [%d] failed to start."
-                                       " Using synthetic producer", prod);
-                       return ret;
-               }
-
-               ret = rte_event_eth_rx_adapter_start(prod);
-               if (ret) {
-                       evt_err("Rx adapter[%d] start failed", prod);
-                       return ret;
-               }
-               printf("%s: Port[%d] using Rx adapter[%d] started\n", __func__,
-                               prod, prod);
        }
 
        return ret;
@@ -431,7 +417,7 @@ perf_event_timer_adapter_setup(struct test_perf *t)
                        .timer_adapter_id = i,
                        .timer_tick_ns = t->opt->timer_tick_nsec,
                        .max_tmo_ns = t->opt->max_tmo_nsec,
-                       .nb_timers = 2 * 1024 * 1024,
+                       .nb_timers = t->opt->pool_sz,
                        .flags = flags,
                };
 
@@ -460,12 +446,6 @@ perf_event_timer_adapter_setup(struct test_perf *t)
                        }
                        rte_service_runstate_set(service_id, 1);
                }
-
-               ret = rte_event_timer_adapter_start(wl);
-               if (ret) {
-                       evt_err("failed to Start event timer adapter %d", i);
-                       return ret;
-               }
                t->timer_adptr[i] = wl;
        }
        return 0;
@@ -678,15 +658,8 @@ perf_ethdev_setup(struct evt_test *test, struct evt_options *opt)
        struct rte_eth_conf port_conf = {
                .rxmode = {
                        .mq_mode = ETH_MQ_RX_RSS,
-                       .max_rx_pkt_len = ETHER_MAX_LEN,
+                       .max_rx_pkt_len = RTE_ETHER_MAX_LEN,
                        .split_hdr_size = 0,
-                       .header_split   = 0,
-                       .hw_ip_checksum = 0,
-                       .hw_vlan_filter = 0,
-                       .hw_vlan_strip  = 0,
-                       .hw_vlan_extend = 0,
-                       .jumbo_frame    = 0,
-                       .hw_strip_crc   = 1,
                },
                .rx_adv_conf = {
                        .rss_conf = {
@@ -700,16 +673,29 @@ perf_ethdev_setup(struct evt_test *test, struct evt_options *opt)
                        opt->prod_type == EVT_PROD_TYPE_EVENT_TIMER_ADPTR)
                return 0;
 
-       if (!rte_eth_dev_count()) {
+       if (!rte_eth_dev_count_avail()) {
                evt_err("No ethernet ports found.");
                return -ENODEV;
        }
 
        RTE_ETH_FOREACH_DEV(i) {
+               struct rte_eth_dev_info dev_info;
+               struct rte_eth_conf local_port_conf = port_conf;
+
+               rte_eth_dev_info_get(i, &dev_info);
+
+               local_port_conf.rx_adv_conf.rss_conf.rss_hf &=
+                       dev_info.flow_type_rss_offloads;
+               if (local_port_conf.rx_adv_conf.rss_conf.rss_hf !=
+                               port_conf.rx_adv_conf.rss_conf.rss_hf) {
+                       evt_info("Port %u modified RSS hash function based on hardware support,"
+                               "requested:%#"PRIx64" configured:%#"PRIx64"\n",
+                               i,
+                               port_conf.rx_adv_conf.rss_conf.rss_hf,
+                               local_port_conf.rx_adv_conf.rss_conf.rss_hf);
+               }
 
-               if (rte_eth_dev_configure(i, 1, 1,
-                                       &port_conf)
-                               < 0) {
+               if (rte_eth_dev_configure(i, 1, 1, &local_port_conf) < 0) {
                        evt_err("Failed to configure eth port [%d]", i);
                        return -EINVAL;
                }
@@ -743,7 +729,6 @@ void perf_ethdev_destroy(struct evt_test *test, struct evt_options *opt)
                RTE_ETH_FOREACH_DEV(i) {
                        rte_event_eth_rx_adapter_stop(i);
                        rte_eth_dev_stop(i);
-                       rte_eth_dev_close(i);
                }
        }
 }