[dpdk-dev] [PATCH v6] net/iavf: deprecate i40evf pmd

Xing, Beilei beilei.xing at intel.com
Mon Apr 19 04:06:45 CEST 2021



> -----Original Message-----
> From: Zhang, RobinX <robinx.zhang at intel.com>
> Sent: Friday, April 16, 2021 9:58 AM
> To: dev at dpdk.org
> Cc: Xing, Beilei <beilei.xing at intel.com>; Guo, Jia <jia.guo at intel.com>; Wang,
> Haiyue <haiyue.wang at intel.com>; mdr at ashroe.eu; nhorman at tuxdriver.com;
> Wu, Jingjing <jingjing.wu at intel.com>; Yang, Qiming
> <qiming.yang at intel.com>; Yang, SteveX <stevex.yang at intel.com>; Zhang,
> RobinX <robinx.zhang at intel.com>
> Subject: [PATCH v6] net/iavf: deprecate i40evf pmd
> 
> The i40evf PMD will be deprecated, iavf will be the only VF driver for Intel 700
> serial (i40e) NIC family. To reach this, there will be 2 steps:
> 
> Step 1: iavf will be the default VF driver, while i40evf still can be selected by
> devarg: "driver=i40evf".
> This is covered by this patch, which include:
> 1) add all 700 serial NIC VF device ID into iavf PMD
> 2) skip probe if devargs contain "driver=i40evf" in iavf
> 3) continue probe if devargs contain "driver=i40evf" in i40evf
> 
> Step 2: i40evf and related devarg are removed, this will happen at DPDK
> 21.11
> 
> Between step 1 and step 2, no new feature will be added into i40evf except
> bug fix.
> 
> Signed-off-by: Robin Zhang <robinx.zhang at intel.com>
> ---
> v6:
> - remove unnecessary ifdef in iavf.
> 
> v5:
> - refine code of check device id.
> 
> v4:
> - rebase code.
> 
> v3:
> - skip probe if devargs contain "driver=i40evf" in iavf.
> - update intel_vf.rst for the new devargs.
> 
> v2:
> - change default VF driver to iavf, add devarg "driver=i40evf" so that
>   i40evf can still be used.
> ---
>  doc/guides/nics/intel_vf.rst         |  6 +++
>  doc/guides/rel_notes/deprecation.rst |  8 ++++
>  drivers/common/iavf/iavf_devids.h    |  2 +
>  drivers/net/i40e/i40e_ethdev_vf.c    | 45 ++++++++++++++++++++++
>  drivers/net/iavf/iavf_ethdev.c       | 57 +++++++++++++++++++++++++++-
>  5 files changed, 116 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst index
> 529ff4a955..fcea8151bf 100644
> --- a/doc/guides/nics/intel_vf.rst
> +++ b/doc/guides/nics/intel_vf.rst
> @@ -88,6 +88,12 @@ For more detail on SR-IOV, please refer to the following
> documents:
>      assignment in hypervisor. Take qemu for example, the device assignment
> should carry the IAVF device id (0x1889) like
>      ``-device vfio-pci,x-pci-device-id=0x1889,host=03:0a.0``.
> 
> +    Starting from DPDK 21.05, the default VF driver for Intel® 700 Series
> Ethernet Controller will be IAVF. No new feature
> +    will be added into i40evf except bug fix until it's removed in DPDK 21.11.
> Between DPDK 21.05 and 21.11, by using the
> +    ``devargs`` option ``driver=i40evf``, i40evf PMD still can be used on Intel®
> 700 Series Ethernet Controller, for example::
> +
> +    -a 81:02.0,driver=i40evf
> +
>      When IAVF is backed by an Intel® E810 device, the "Protocol Extraction"
> feature which is supported by ice PMD is also
>      available for IAVF PMD. The same devargs with the same parameters can be
> applied to IAVF PMD, for detail please reference
>      the section ``Protocol extraction for per queue`` of ice.rst.
> diff --git a/doc/guides/rel_notes/deprecation.rst
> b/doc/guides/rel_notes/deprecation.rst
> index 2afc84c396..05ef276b21 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -139,3 +139,11 @@ Deprecation Notices
>  * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
>    content. On Linux and FreeBSD, supported prior to DPDK 20.11,
>    original structure will be kept until DPDK 21.11.
> +
> +* i40e: As there are both i40evf and iavf pmd, the functions of them
> +are
> +  duplicated. And now more and more advanced features are developed on
> iavf.
> +  To keep consistent with kernel driver's name
> +  (https://patchwork.ozlabs.org/patch/970154/), i40evf is no need to
> maintain.
> +  Starting from 21.05, the default VF driver of i40e will be iavf, but
> +i40evf
> +  can still be used if users specify the devarg "driver=i40evf". I40evf
> +will
> +  be deleted in DPDK 21.11.
> diff --git a/drivers/common/iavf/iavf_devids.h
> b/drivers/common/iavf/iavf_devids.h
> index 722c2e4f49..b0d48b0582 100644
> --- a/drivers/common/iavf/iavf_devids.h
> +++ b/drivers/common/iavf/iavf_devids.h
> @@ -13,5 +13,7 @@
>  #define IAVF_DEV_ID_VF_HV		0x1571
>  #define IAVF_DEV_ID_ADAPTIVE_VF		0x1889
>  #define IAVF_DEV_ID_X722_VF		0x37CD
> +#define I40E_DEV_ID_X722_A0_VF          0x374D

Why not IAVF_DEV_ID_X722_A0_VF here?


More information about the dev mailing list