[dpdk-dev] [PATCH v4 25/41] net/dpaa: add support for Tx and Rx queue setup

Ferruh Yigit ferruh.yigit at intel.com
Mon Sep 18 16:55:04 CEST 2017


On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> Signed-off-by: Shreyansh Jain <shreyansh.jain at nxp.com>

<...>

> +	for (loop = 0; loop < num_cores; loop++) {
> +		ret = dpaa_tx_queue_init(&dpaa_intf->tx_queues[loop],
> +					 fman_intf);
> +		if (ret)
> +			return ret;
> +		dpaa_intf->tx_queues[loop].dpaa_intf = dpaa_intf;
> +	}
> +	dpaa_intf->nb_tx_queues = num_cores;

Is number of the tx_queues always same as core count?

> +
> +	DPAA_PMD_DEBUG("All frame queues created");
> +
> +	/* reset bpool list, initialize bpool dynamically */
> +	list_for_each_entry_safe(bp, tmp_bp, &cfg->fman_if->bpool_list, node) {
> +		list_del(&bp->node);
> +		rte_free(bp);

Why freeing them during initialization ?

> +	}
> +
> +	/* Populate ethdev structure */
>  	eth_dev->dev_ops = &dpaa_devops;
> +	eth_dev->rx_pkt_burst = dpaa_eth_queue_rx;
> +	eth_dev->tx_pkt_burst = dpaa_eth_tx_drop_all;
> +
> +	/* Allocate memory for storing MAC addresses */
> +	eth_dev->data->mac_addrs = rte_zmalloc("mac_addr",
> +		ETHER_ADDR_LEN * DPAA_MAX_MAC_FILTER, 0);
> +	if (eth_dev->data->mac_addrs == NULL) {
> +		DPAA_PMD_ERR("Failed to allocate %d bytes needed to "
> +						"store MAC addresses",
> +				ETHER_ADDR_LEN * DPAA_MAX_MAC_FILTER);

free dpaa_intf->rx_queues, tx_queues ?

> +		return -ENOMEM;
> +	}
> +
> +	/* copy the primary mac address */
> +	memcpy(eth_dev->data->mac_addrs[0].addr_bytes,
> +		fman_intf->mac_addr.addr_bytes,
> +		ETHER_ADDR_LEN);

Instead can use ether_addr_copy() instead.

<...>


More information about the dev mailing list