[dpdk-dev] [PATCH] i40e: configure MTU

Xing, Beilei beilei.xing at intel.com
Wed Apr 27 17:01:14 CEST 2016


> -----Original Message-----
> From: Julien Meunier [mailto:julien.meunier at 6wind.com]
> Sent: Wednesday, April 27, 2016 7:44 PM
> To: Xing, Beilei <beilei.xing at intel.com>; Wu, Jingjing <jingjing.wu at intel.com>
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] i40e: configure MTU
> 
> Hello,
> 
> On 04/23/2016 01:26 PM, Beilei Xing wrote:
> [...]
> > +	/* mtu setting is forbidden if port is start */
> > +	if (dev_data->dev_started) {
> > +		PMD_DRV_LOG(ERR,
> > +			    "port %d must be stopped before configuration\n",
> > +			    dev_data->port_id);
> > +		return -EBUSY;
> > +	}
> 
> According to rte_ethdev.h, only 4 return codes are supported for
> rte_eth_dev_set_mtu:
> 
> * - (0) if successful.
> * - (-ENOTSUP) if operation is not supported.
> * - (-ENODEV) if *port_id* invalid.
> * - (-EINVAL) if *mtu* invalid.
> 
> EBUSY should not be returned.

Hi Meunier,
Thanks for your comments, it shouldn't be EBUSY here.

> 
> > +	for (i = 0; i < dev_data->nb_rx_queues; i++) {
> > +		rxq = dev_data->rx_queues[i];
> > +		if (!rxq || !rxq->q_set)
> > +			continue;
> > +
> > +		dev_data->dev_conf.rxmode.max_rx_pkt_len = frame_size;
> > +		len = hw->func_caps.rx_buf_chain_len * rxq->rx_buf_len;
> > +		rxq->max_pkt_len = RTE_MIN(len, frame_size);
> > +	}
> > +
> > +	ret = i40e_dev_rx_init(pf);
> > +
> > +	return ret;
> > +}
> >
> 
> Why do want to reconfigure rxq here ? All these operations are already done
> when you call i40e_dev_rx_init.
> i40e_dev_rx_init => i40e_rx_queue_init (for each queue) =>
> i40e_rx_queue_config => redefine rxq->max_pkt_len
> 
> Moreover, you should move dev_data->dev_conf.rxmode.max_rx_pkt_len out
> of the loop. frame_size is the same for all rx_queues.

Yes, you're right, needn't reconfigure rxq->max_pkt_len here, I just need reconfigure dev_data->dev_conf.rxmode.max_rx_pkt_len cause i40e_dev_rx_init will cover all. 
Thanks very much.
Beilei

> 
> --
> Julien MEUNIER
> 6WIND


More information about the dev mailing list