net/iavf: remove i40evf devargs option

Due to i40evf will be removed, so there's no need to keep the devargs
option "driver=i40evf" in iavf.

Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
Robin Zhang 2021-09-24 06:22:27 +00:00 committed by Thomas Monjalon
parent 02f688532e
commit a97974f986
2 changed files with 2 additions and 56 deletions

View File

@ -88,12 +88,6 @@ 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.

View File

@ -2547,58 +2547,10 @@ iavf_dcf_cap_selected(struct rte_devargs *devargs)
return ret;
}
static int
iavf_drv_i40evf_check_handler(__rte_unused const char *key,
const char *value, __rte_unused void *opaque)
{
if (strcmp(value, "i40evf"))
return -1;
return 0;
}
static int
iavf_drv_i40evf_selected(struct rte_devargs *devargs, uint16_t device_id)
{
struct rte_kvargs *kvlist;
int ret = 0;
if (device_id != IAVF_DEV_ID_VF &&
device_id != IAVF_DEV_ID_VF_HV &&
device_id != IAVF_DEV_ID_X722_VF &&
device_id != IAVF_DEV_ID_X722_A0_VF)
return 0;
if (devargs == NULL)
return 0;
kvlist = rte_kvargs_parse(devargs->args, NULL);
if (kvlist == NULL)
return 0;
if (!rte_kvargs_count(kvlist, RTE_DEVARGS_KEY_DRIVER))
goto exit;
/* i40evf driver selected when there's a key-value pair:
* driver=i40evf
*/
if (rte_kvargs_process(kvlist, RTE_DEVARGS_KEY_DRIVER,
iavf_drv_i40evf_check_handler, NULL) < 0)
goto exit;
ret = 1;
exit:
rte_kvargs_free(kvlist);
return ret;
}
static int eth_iavf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
struct rte_pci_device *pci_dev)
{
if (iavf_dcf_cap_selected(pci_dev->device.devargs) ||
iavf_drv_i40evf_selected(pci_dev->device.devargs,
pci_dev->id.device_id))
if (iavf_dcf_cap_selected(pci_dev->device.devargs))
return 1;
return rte_eth_dev_pci_generic_probe(pci_dev,
@ -2621,7 +2573,7 @@ static struct rte_pci_driver rte_iavf_pmd = {
RTE_PMD_REGISTER_PCI(net_iavf, rte_iavf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_iavf, pci_id_iavf_map);
RTE_PMD_REGISTER_KMOD_DEP(net_iavf, "* igb_uio | vfio-pci");
RTE_PMD_REGISTER_PARAM_STRING(net_iavf, "cap=dcf driver=i40evf");
RTE_PMD_REGISTER_PARAM_STRING(net_iavf, "cap=dcf");
RTE_LOG_REGISTER_SUFFIX(iavf_logtype_init, init, NOTICE);
RTE_LOG_REGISTER_SUFFIX(iavf_logtype_driver, driver, NOTICE);
#ifdef RTE_ETHDEV_DEBUG_RX