-----Original Message----- > Date: Wed, 18 Oct 2017 18:09:04 +0530 > From: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > To: bruce.richard...@intel.com, harry.van.haa...@intel.com, > gage.e...@intel.com, hemant.agra...@nxp.com, nipun.gu...@nxp.com, > nikhil....@intel.com, santosh.shu...@caviumnetworks.com, > jerin.ja...@caviumnetworks.com > Cc: dev@dpdk.org, Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > Subject: [PATCH 4/8] app/eventdev: add ethernet device setup helpers > X-Mailer: git-send-email 2.7.4 > > Add ethernet device setup functions to configure ethdev ports incase > prod_type_ethdev option is enabled. > > Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > --- > > +#define NB_RX_DESC 128 > +#define NB_TX_DESC 512 > +int > +perf_ethdev_setup(struct evt_test *test, struct evt_options *opt) > +{ > + uint16_t nb_rx_queues = 1;
const ? > + int i; > + int j; > + struct test_perf *t = evt_test_priv(test); > + struct rte_eth_conf port_conf = { > + .rxmode = { > + .mq_mode = ETH_MQ_RX_RSS, > + .max_rx_pkt_len = 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 = { > + .rss_key = NULL, > + .rss_hf = ETH_RSS_IP, > + }, > + }, > + }; > + > + if (opt->prod_type == EVT_PROD_TYPE_SYNT) > + return 0; > + > + if (!rte_eth_dev_count()) { > + evt_err("No ethernet ports found.\n"); > + return -ENODEV; > + } > + > + for (i = 0; i < rte_eth_dev_count(); i++) { > + > + if (rte_eth_dev_configure(i, nb_rx_queues, nb_rx_queues, > + &port_conf) > + < 0) { > + evt_err("Failed to configure eth port [%d]\n", i); > + return -EINVAL; > + } > + > + for (j = 0; j < nb_rx_queues; j++) { > + if (rte_eth_rx_queue_setup(i, j, NB_RX_DESC, > + rte_socket_id(), NULL, t->pool) < 0) { > + evt_err("Failed to setup eth port [%d]" > + " rx_queue: %d." > + " Using synthetic producer\n", - The "\n" is not required as evt_err already has "\n" - Please change to "Using ethdev Rx adapter producer " instead of "Using synthetic producer" > + i, j); > + return -EINVAL; > + } > + if (rte_eth_tx_queue_setup(i, j, NB_TX_DESC, > + rte_socket_id(), NULL) < 0) { > + evt_err("Failed to setup eth port [%d]" > + " tx_queue: %d." > + " Using synthetic producer\n", > + i, j); > + return -EINVAL; > + } > + } > + > + rte_eth_promiscuous_enable(i); > + } > + > + return 0; > +} With above changes, Acked-by: Jerin Jacob <jerin.ja...@caviumnetworks.com>