[dpdk-dev] [PATCH 4/8] app/eventdev: add ethernet device setup helpers

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun Dec 10 13:09:32 CET 2017


-----Original Message-----
> Date: Wed, 18 Oct 2017 18:09:04 +0530
> From: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
> To: bruce.richardson at intel.com, harry.van.haaren at intel.com,
>  gage.eads at intel.com, hemant.agrawal at nxp.com, nipun.gupta at nxp.com,
>  nikhil.rao at intel.com, santosh.shukla at caviumnetworks.com,
>  jerin.jacob at caviumnetworks.com
> Cc: dev at dpdk.org, Pavan Nikhilesh <pbhagavatula at 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 <pbhagavatula at 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.jacob at caviumnetworks.com>


More information about the dev mailing list