[dpdk-dev] [PATCH v2 03/14] net/avf: enable queue and device

Xing, Beilei beilei.xing at intel.com
Mon Dec 4 09:45:25 CET 2017



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jingjing Wu
> Sent: Friday, November 24, 2017 2:33 PM
> To: dev at dpdk.org
> Cc: Wu, Jingjing <jingjing.wu at intel.com>; Lu, Wenzhuo
> <wenzhuo.lu at intel.com>
> Subject: [dpdk-dev] [PATCH v2 03/14] net/avf: enable queue and device
> 
> enable device and queue setup ops like:
> 
>  - dev_configure
>  - dev_start
>  - dev_stop
>  - dev_close
>  - dev_infos_get
>  - rx_queue_start
>  - rx_queue_stop
>  - tx_queue_start
>  - tx_queue_stop
>  - rx_queue_setup
>  - rx_queue_release
>  - tx_queue_setup
>  - tx_queue_release
> 
> Signed-off-by: Jingjing Wu <jingjing.wu at intel.com>
> ---
>  drivers/net/avf/Makefile     |   1 +
>  drivers/net/avf/avf.h        |  18 ++
>  drivers/net/avf/avf_ethdev.c | 356 ++++++++++++++++++++++++
>  drivers/net/avf/avf_rxtx.c   | 644
> +++++++++++++++++++++++++++++++++++++++++++
>  drivers/net/avf/avf_rxtx.h   | 202 ++++++++++++++
>  drivers/net/avf/avf_vchnl.c  | 355 ++++++++++++++++++++++++
>  6 files changed, 1576 insertions(+)
>  create mode 100644 drivers/net/avf/avf_rxtx.c
>  create mode 100644 drivers/net/avf/avf_rxtx.h
> 



>  static const struct eth_dev_ops avf_eth_dev_ops = {
> +	.dev_configure              = avf_dev_configure,
> +	.dev_start                  = avf_dev_start,
> +	.dev_stop                   = avf_dev_stop,
> +	.dev_close                  = avf_dev_close,
> +	.dev_infos_get              = avf_dev_info_get,
> +	.rx_queue_start             = avf_dev_rx_queue_start,
> +	.rx_queue_stop              = avf_dev_rx_queue_stop,
> +	.tx_queue_start             = avf_dev_tx_queue_start,
> +	.tx_queue_stop              = avf_dev_tx_queue_stop,
> +	.rx_queue_setup             = avf_dev_rx_queue_setup,
> +	.rx_queue_release           = avf_dev_rx_queue_release,
> +	.tx_queue_setup             = avf_dev_tx_queue_setup,
> +	.tx_queue_release           = avf_dev_tx_queue_release,
>  };
> 
>  static int
> +avf_dev_configure(struct rte_eth_dev *dev)
> +{
> +	struct avf_adapter *ad =
> +		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
> +	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
> +
> +	/* Vlan stripping setting */
> +	if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_VLAN_STRIP)
> +		avf_enable_vlan_strip(ad);
> +	else
> +		avf_disable_vlan_strip(ad);

Better to check PF capability first before setting VLAN offload.

> +	return 0;
> +}
> +
> +


More information about the dev mailing list