M: Xiao Wang <xiao.w.wang@intel.com>
T: git://dpdk.org/next/dpdk-next-net-intel
F: drivers/net/ifc/
-F: doc/guides/nics/ifcvf.rst
-F: doc/guides/nics/features/ifcvf.ini
+F: doc/guides/nics/ifc.rst
+F: doc/guides/nics/features/ifc*.ini
Marvell mvpp2
M: Tomasz Duszynski <tdu@semihalf.com>
CONFIG_RTE_LIBRTE_PMD_VHOST=n
#
-# Compile IFCVF driver
+# Compile IFC driver
# To compile, CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_EAL_VFIO
# should be enabled.
#
-CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD=n
+CONFIG_RTE_LIBRTE_IFC_PMD=n
#
# Compile librte_bpf
CONFIG_RTE_LIBRTE_VHOST=y
CONFIG_RTE_LIBRTE_VHOST_NUMA=y
CONFIG_RTE_LIBRTE_PMD_VHOST=y
-CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD=y
+CONFIG_RTE_LIBRTE_IFC_PMD=y
CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
CONFIG_RTE_LIBRTE_PMD_TAP=y
CONFIG_RTE_LIBRTE_AVP_PMD=y
--- /dev/null
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2018 Intel Corporation.
+
+IFCVF vDPA driver
+=================
+
+The IFCVF vDPA (vhost data path acceleration) driver provides support for the
+Intel FPGA 100G VF (IFCVF). IFCVF's datapath is virtio ring compatible, it
+works as a HW vhost backend which can send/receive packets to/from virtio
+directly by DMA. Besides, it supports dirty page logging and device state
+report/restore, this driver enables its vDPA functionality.
+
+
+Pre-Installation Configuration
+------------------------------
+
+Config File Options
+~~~~~~~~~~~~~~~~~~~
+
+The following option can be modified in the ``config`` file.
+
+- ``CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD`` (default ``y`` for linux)
+
+ Toggle compilation of the ``librte_ifcvf_vdpa`` driver.
+
+
+IFCVF vDPA Implementation
+-------------------------
+
+IFCVF's vendor ID and device ID are same as that of virtio net pci device,
+with its specific subsystem vendor ID and device ID. To let the device be
+probed by IFCVF driver, adding "vdpa=1" parameter helps to specify that this
+device is to be used in vDPA mode, rather than polling mode, virtio pmd will
+skip when it detects this message.
+
+Different VF devices serve different virtio frontends which are in different
+VMs, so each VF needs to have its own DMA address translation service. During
+the driver probe a new container is created for this device, with this
+container vDPA driver can program DMA remapping table with the VM's memory
+region information.
+
+Key IFCVF vDPA driver ops
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- ifcvf_dev_config:
+ Enable VF data path with virtio information provided by vhost lib, including
+ IOMMU programming to enable VF DMA to VM's memory, VFIO interrupt setup to
+ route HW interrupt to virtio driver, create notify relay thread to translate
+ virtio driver's kick to a MMIO write onto HW, HW queues configuration.
+
+ This function gets called to set up HW data path backend when virtio driver
+ in VM gets ready.
+
+- ifcvf_dev_close:
+ Revoke all the setup in ifcvf_dev_config.
+
+ This function gets called when virtio driver stops device in VM.
+
+To create a vhost port with IFC VF
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Create a vhost socket and assign a VF's device ID to this socket via
+ vhost API. When QEMU vhost connection gets ready, the assigned VF will
+ get configured automatically.
+
+
+Features
+--------
+
+Features of the IFCVF driver are:
+
+- Compatibility with virtio 0.95 and 1.0.
+
+
+Prerequisites
+-------------
+
+- Platform with IOMMU feature. IFC VF needs address translation service to
+ Rx/Tx directly with virtio driver in VM.
+
+
+Limitations
+-----------
+
+Dependency on vfio-pci
+~~~~~~~~~~~~~~~~~~~~~~
+
+vDPA driver needs to setup VF MSIX interrupts, each queue's interrupt vector
+is mapped to a callfd associated with a virtio ring. Currently only vfio-pci
+allows multiple interrupts, so the IFCVF driver is dependent on vfio-pci.
+
+Live Migration with VIRTIO_NET_F_GUEST_ANNOUNCE
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+IFC VF doesn't support RARP packet generation, virtio frontend supporting
+VIRTIO_NET_F_GUEST_ANNOUNCE feature can help to do that.
+++ /dev/null
-.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2018 Intel Corporation.
-
-IFCVF vDPA driver
-=================
-
-The IFCVF vDPA (vhost data path acceleration) driver provides support for the
-Intel FPGA 100G VF (IFCVF). IFCVF's datapath is virtio ring compatible, it
-works as a HW vhost backend which can send/receive packets to/from virtio
-directly by DMA. Besides, it supports dirty page logging and device state
-report/restore, this driver enables its vDPA functionality.
-
-
-Pre-Installation Configuration
-------------------------------
-
-Config File Options
-~~~~~~~~~~~~~~~~~~~
-
-The following option can be modified in the ``config`` file.
-
-- ``CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD`` (default ``y`` for linux)
-
- Toggle compilation of the ``librte_ifcvf_vdpa`` driver.
-
-
-IFCVF vDPA Implementation
--------------------------
-
-IFCVF's vendor ID and device ID are same as that of virtio net pci device,
-with its specific subsystem vendor ID and device ID. To let the device be
-probed by IFCVF driver, adding "vdpa=1" parameter helps to specify that this
-device is to be used in vDPA mode, rather than polling mode, virtio pmd will
-skip when it detects this message.
-
-Different VF devices serve different virtio frontends which are in different
-VMs, so each VF needs to have its own DMA address translation service. During
-the driver probe a new container is created for this device, with this
-container vDPA driver can program DMA remapping table with the VM's memory
-region information.
-
-Key IFCVF vDPA driver ops
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-- ifcvf_dev_config:
- Enable VF data path with virtio information provided by vhost lib, including
- IOMMU programming to enable VF DMA to VM's memory, VFIO interrupt setup to
- route HW interrupt to virtio driver, create notify relay thread to translate
- virtio driver's kick to a MMIO write onto HW, HW queues configuration.
-
- This function gets called to set up HW data path backend when virtio driver
- in VM gets ready.
-
-- ifcvf_dev_close:
- Revoke all the setup in ifcvf_dev_config.
-
- This function gets called when virtio driver stops device in VM.
-
-To create a vhost port with IFC VF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-- Create a vhost socket and assign a VF's device ID to this socket via
- vhost API. When QEMU vhost connection gets ready, the assigned VF will
- get configured automatically.
-
-
-Features
---------
-
-Features of the IFCVF driver are:
-
-- Compatibility with virtio 0.95 and 1.0.
-
-
-Prerequisites
--------------
-
-- Platform with IOMMU feature. IFC VF needs address translation service to
- Rx/Tx directly with virtio driver in VM.
-
-
-Limitations
------------
-
-Dependency on vfio-pci
-~~~~~~~~~~~~~~~~~~~~~~
-
-vDPA driver needs to setup VF MSIX interrupts, each queue's interrupt vector
-is mapped to a callfd associated with a virtio ring. Currently only vfio-pci
-allows multiple interrupts, so the IFCVF driver is dependent on vfio-pci.
-
-Live Migration with VIRTIO_NET_F_GUEST_ANNOUNCE
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-IFC VF doesn't support RARP packet generation, virtio frontend supporting
-VIRTIO_NET_F_GUEST_ANNOUNCE feature can help to do that.
enic
fm10k
i40e
- ifcvf
+ ifc
igb
ixgbe
intel_vf
ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += vhost
ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD) += ifc
+DIRS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifc
endif
endif # $(CONFIG_RTE_LIBRTE_VHOST)
#
# library name
#
-LIB = librte_ifcvf_vdpa.a
+LIB = librte_pmd_ifc.a
LDLIBS += -lpthread
LDLIBS += -lrte_eal -lrte_pci -lrte_vhost -lrte_bus_pci
VPATH += $(SRCDIR)/base
-EXPORT_MAP := rte_ifcvf_version.map
+EXPORT_MAP := rte_pmd_ifc_version.map
LIBABIVER := 1
#
# all source are stored in SRCS-y
#
-SRCS-$(CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD) += ifcvf_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD) += ifcvf.c
+SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf_vdpa.c
+SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf.c
include $(RTE_SDK)/mk/rte.lib.mk
+++ /dev/null
-DPDK_18.05 {
-
- local: *;
-};
--- /dev/null
+DPDK_18.05 {
+
+ local: *;
+};
ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += -lrte_pmd_vhost
ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFCVF_VDPA_PMD) += -lrte_ifcvf_vdpa
+_LDLIBS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += -lrte_pmd_ifc
endif # $(CONFIG_RTE_EAL_VFIO)
endif # $(CONFIG_RTE_LIBRTE_VHOST)
_LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += -lrte_pmd_vmxnet3_uio