From 485f82ab71604173b698b55a8f4495b3741ce538 Mon Sep 17 00:00:00 2001 From: Rahul Kumar Gupta Date: Tue, 18 Oct 2016 23:22:30 +0800 Subject: dpdk: move dpdk from meta-isg to common Since there is plan to merge meta-isg layer to common meta-intel layer. So relocate dpdk v16.07 recipe from meta-isg layer to common meta-intel layer. Signed-off-by: Rahul Kumar Gupta Signed-off-by: Saul Wold --- common/recipes-extended/dpdk/dpdk.inc | 152 +++++++++ ...6.04-Fix-for-misleading-indentation-error.patch | 56 ++++ ...-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch | 52 +++ ...onfig-variable-to-enable-disable-dpdk_qat.patch | 31 ++ ...le-ip_fragmentation-in-common_base-config.patch | 33 ++ ...04-dpdk-fix-compilation-with-dynamic-libs.patch | 30 ++ ...4-point-to-the-right-include-and-lib-path.patch | 43 +++ ...07-add-sysroot-option-within-app-makefile.patch | 32 ++ ...dk-16.07-dpdk-fix-for-parellel-make-issue.patch | 42 +++ ...7-dpdk-fix-installation-warning-and-issue.patch | 77 +++++ .../dpdk-16.07-kni-fix-build-with-kernel-4.8.patch | 55 ++++ ...6.07-net-igb-move-PCI-device-IDs-from-EAL.patch | 278 ++++++++++++++++ ...07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch | 356 +++++++++++++++++++++ common/recipes-extended/dpdk/dpdk_16.07.bb | 16 + meta-isg/common/recipes-extended/dpdk/dpdk.inc | 152 --------- ...6.04-Fix-for-misleading-indentation-error.patch | 56 ---- ...-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch | 52 --- ...onfig-variable-to-enable-disable-dpdk_qat.patch | 31 -- ...le-ip_fragmentation-in-common_base-config.patch | 33 -- ...04-dpdk-fix-compilation-with-dynamic-libs.patch | 30 -- ...4-point-to-the-right-include-and-lib-path.patch | 43 --- ...07-add-sysroot-option-within-app-makefile.patch | 32 -- ...dk-16.07-dpdk-fix-for-parellel-make-issue.patch | 42 --- ...7-dpdk-fix-installation-warning-and-issue.patch | 77 ----- .../dpdk-16.07-kni-fix-build-with-kernel-4.8.patch | 55 ---- ...6.07-net-igb-move-PCI-device-IDs-from-EAL.patch | 278 ---------------- ...07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch | 356 --------------------- .../common/recipes-extended/dpdk/dpdk_16.07.bb | 16 - 28 files changed, 1253 insertions(+), 1253 deletions(-) create mode 100644 common/recipes-extended/dpdk/dpdk.inc create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch create mode 100644 common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch create mode 100644 common/recipes-extended/dpdk/dpdk_16.07.bb delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk.inc delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch delete mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk_16.07.bb diff --git a/common/recipes-extended/dpdk/dpdk.inc b/common/recipes-extended/dpdk/dpdk.inc new file mode 100644 index 00000000..e90b13f7 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk.inc @@ -0,0 +1,152 @@ +DESCRIPTION = "Intel(r) Data Plane Development Kit" +HOMEPAGE = "http://dpdk.org" +LICENSE = "BSD & LGPLv2 & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${PV}.tar.gz;name=dpdk \ + file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \ + file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \ + file://dpdk-16.04-point-to-the-right-include-and-lib-path.patch \ + file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \ + file://dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch \ + file://dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch \ + file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \ + file://dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch \ + file://dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch \ + file://dpdk-16.07-kni-fix-build-with-kernel-4.8.patch \ + " + +COMPATIBLE_MACHINE = "crystalforest|intel-corei7-64" + +# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat. +# fuse is in meta-filesystems and qat is not yet upstreamed. +# So adding mechanism to explicitly disable the use of fuse and qat. +# To enable, uncomment the below line or include in .bbappend. +# PACKAGECONFIG ?= " dpdk_qat vhost libvirt" + +PACKAGECONFIG[dpdk_qat] = ",,virtual/qat" +PACKAGECONFIG[vhost] = ",,fuse" +PACKAGECONFIG[libvirt] = ",,libvirt" + +export CONFIG_EXAMPLE_DPDK_QAT = "${@bb.utils.contains('PACKAGECONFIG', 'dpdk_qat', 'y', 'n', d)}" +export CONFIG_EXAMPLE_VM_POWER_MANAGER = "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}" +export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', 'vhost', 'y', 'n', d)}" + +RDEPENDS_${PN} += "python-subprocess" +DEPENDS = "virtual/kernel" +do_configure[depends] += "virtual/kernel:do_shared_workdir" + +inherit module + +export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net" +export RTE_SDK = "${S}" +export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "corei7", "x86_64-ivshmem-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}" + +export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include" +export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib" +export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}" +export RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}" +export INSTALL_PATH = "${prefix}/share" +export RTE_OUTPUT = "${S}/${RTE_TARGET}" +export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/" +export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}" +export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}" +export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac" + +# The list of intel Comms platforms and their target machine +# process mapping. The supported target machine is listed under +# dpdk/mk/machine +def get_dpdk_target_mach(bb, d): + target_arch = d.getVar('MACHINE_ARCH', True) + multiarch_options = { + "mohonpeak64": "atm", + "mohonpeak32": "atm", + "crystalforest": "ivb", + "intel_corei7_64": "hsw", + } + + if target_arch in multiarch_options : + return multiarch_options[target_arch] + return "" + +do_configure () { + ############################################################# + ### default value for prefix is "usr", unsetting it, so it + ### will not be concatenated in ${RTE_TARGET}/Makefile + ### which will cause compilation failure + ############################################################# + unset prefix + + # Fix-up CONFIG_RTE_MACHINE based on target machine + sed -e "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc + sed -e "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" -i ${S}/config/defconfig_i686-native-linuxapp-gcc + + # Fix-up vhost configs based on package config + sed -e "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp + sed -e "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp + sed -e "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp + + make O=$RTE_TARGET T=$RTE_TARGET config +} + +do_compile () { + unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS + + cd ${S}/${RTE_TARGET} + oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \ + EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \ + CROSS="${TARGET_PREFIX}" \ + prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1 + + cd ${S}/examples/ + oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \ + EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \ + CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/" +} + +do_install () { + oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D} + oe_runmake O=${RTE_OUTPUT} T= install-kmod DESTDIR=${D} kerneldir=${MODULE_DIR} + oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D} + + # Install examples + for dirname in ${S}/examples/* + do + install -m 0755 -d ${D}/${INSTALL_PATH}/examples/`basename ${dirname}` + + for appname in `find ${dirname} -regex ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"` + do + install -m 755 ${appname} ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/ + done + done +} + +PACKAGES += "${PN}-examples" + +FILES_${PN}-dbg += " \ + ${INSTALL_PATH}/.debug \ + ${INSTALL_PATH}/examples/*/.debug \ + " + +FILES_${PN}-doc += "\ + ${INSTALL_PATH}/doc \ + " + +FILES_${PN}-dev += " \ + ${INSTALL_PATH}/${RTE_TARGET}/.config \ + ${includedir} \ + ${includedir}/${ARCHDIR} \ + ${includedir}/exec-env \ + ${INSTALL_PATH}/scripts/ \ + ${INSTALL_PATH}/${RTE_TARGET}/include \ + ${INSTALL_PATH}/${RTE_TARGET}/lib \ + " + +FILES_${PN} += " ${INSTALL_PATH}/tools/ \ + ${prefix}/sbin/ \ + ${prefix}/bin/ \ + ${libdir}/ \ + " +FILES_${PN}-examples += " \ + ${INSTALL_PATH}/examples/* \ + " diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch new file mode 100644 index 00000000..8786af7c --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch @@ -0,0 +1,56 @@ +From 8cd0a16af531cca0af6b4f9b729c252b8bdbf8e2 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Tue, 5 Jul 2016 00:05:25 +0800 +Subject: [PATCH] Fix for misleading indentation error + +fix the indentation of the code to match the block structure. This may cause +build errors if you have -Wall -Werror in your project. + +Signed-off-by: Rahul Kumar Gupta +--- + lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c | 8 ++++---- + lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c +index df22470..ba28eba 100644 +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c +@@ -3302,8 +3302,8 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 *data) + /* Disable access to mPHY if it was originally disabled */ + if (locked) + ready = e1000_is_mphy_ready(hw); +- if (!ready) +- return -E1000_ERR_PHY; ++ if (!ready) ++ return -E1000_ERR_PHY; + E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL, + E1000_MPHY_DIS_ACCESS); + +@@ -3367,8 +3367,8 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 data, + /* Disable access to mPHY if it was originally disabled */ + if (locked) + ready = e1000_is_mphy_ready(hw); +- if (!ready) +- return -E1000_ERR_PHY; ++ if (!ready) ++ return -E1000_ERR_PHY; + E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL, + E1000_MPHY_DIS_ACCESS); + +diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c +index 017dfe1..7248a7e 100644 +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c +@@ -870,7 +870,7 @@ s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw, + if (speed & IXGBE_LINK_SPEED_10GB_FULL) + if (orig_autoc & IXGBE_AUTOC_KX4_SUPP) + autoc |= IXGBE_AUTOC_KX4_SUPP; +- if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) && ++ if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) && + (hw->phy.smart_speed_active == false)) + autoc |= IXGBE_AUTOC_KR_SUPP; + if (speed & IXGBE_LINK_SPEED_1GB_FULL) +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch new file mode 100644 index 00000000..e446ce44 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch @@ -0,0 +1,52 @@ +From 6c8d348190a8cf6c35111913cbf117ca98137e84 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Fri, 18 Dec 2015 18:30:47 +0800 +Subject: [PATCH] dpdk v2.2.0: add RTE_KERNELDIR_OUT to split kernel build + artifact + +Introduce RTE_KERNELDIR_OUT to be the path to which kernel build +artifacts are located. This is for matching the workflow change +since Yocto Project v1.8 onwards whereby tmp/work-shared contains +separate directories for kernel source and kernel artifacts. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Rahul Kumar Gupta +--- + mk/rte.module.mk | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/mk/rte.module.mk b/mk/rte.module.mk +index 53ed4fe..b7a014b 100644 +--- a/mk/rte.module.mk ++++ b/mk/rte.module.mk +@@ -77,7 +77,7 @@ build: _postbuild + # build module + $(MODULE).ko: $(SRCS_LINKS) + @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi +- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \ ++ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \ + CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0) + + # install module in $(RTE_OUTPUT)/kmod +@@ -88,7 +88,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko + + # install module + modules_install: +- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \ ++ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \ + modules_install + + .PHONY: clean +@@ -98,7 +98,7 @@ clean: _postclean + .PHONY: doclean + doclean: + @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi +- $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean ++ $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean + @$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\ + if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;) + @if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch new file mode 100644 index 00000000..cd517052 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch @@ -0,0 +1,31 @@ +From a424a79b1422f1877de3ee7aee6f781aeacc3630 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal +Date: Tue, 18 Aug 2015 12:36:02 +0800 +Subject: [PATCH] examples: add config variable to enable/disable dpdk_qat + +Upstream-Status: Inappropriate [configuration] + +Add CONFIG_EXAMPLE_DPDK_QAT to control compilation of dpdk_qat +example by PACKAGECONFIG + +Signed-off-by: Anuj Mittal +--- + examples/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/Makefile b/examples/Makefile +index b4eddbd..1bc14b0 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -41,7 +41,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond + DIRS-y += cmdline + DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor + ifneq ($(ICP_ROOT),) +-DIRS-y += dpdk_qat ++DIRS-$(CONFIG_EXAMPLE_DPDK_QAT) += dpdk_qat + endif + DIRS-y += exception_path + DIRS-y += helloworld +-- +1.7.9.5 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch new file mode 100644 index 00000000..3719aa78 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch @@ -0,0 +1,33 @@ +From f7be643cc62860a986c9e0aec990c90bfc58a941 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Fri, 1 Apr 2016 17:31:55 +0800 +Subject: [PATCH] dpdk: enable ip_fragmentation in common_base config + +Upstream-Status: Inappropriate [Configuration] + +This configuration need to set for ip_fragmentation application. + +Signed-off-by: Rahul Kumar Gupta +--- + config/common_base | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/config/common_base b/config/common_base +index abd6a64..90259f0 100644 +--- a/config/common_base ++++ b/config/common_base +@@ -442,6 +442,11 @@ CONFIG_RTE_LIBRTE_POWER_DEBUG=n + CONFIG_RTE_MAX_LCORE_FREQS=64 + + # ++# Compile ip_fragmentation ++# ++CONFIG_RTE_IP_FRAG=y ++ ++# + # Compile librte_net + # + CONFIG_RTE_LIBRTE_NET=y +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch new file mode 100644 index 00000000..4254d073 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch @@ -0,0 +1,30 @@ +From 8ce0e3249942a90f733bb2113e70e5a90ae67b00 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Thu, 21 Jul 2016 05:53:52 +0800 +Subject: [PATCH 1/2] dpdk: fix compilation with dynamic libs + +Upstream-Status: Inappropriate [Configuration] + +Ensure that the correct cflags are being used. + +Signed-off-by: Rahul Kumar Gupta +--- + mk/rte.lib.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk +index 8f7e021..42610c9 100644 +--- a/mk/rte.lib.mk ++++ b/mk/rte.lib.mk +@@ -70,7 +70,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1)))) + + ifeq ($(LINK_USING_CC),1) + # Override the definition of LD here, since we're linking with CC +-LD := $(CC) $(CPU_CFLAGS) ++LD := $(CC) $(CPU_CFLAGS) $(EXTRA_CFLAGS) + _CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS)) + override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS)) + else +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch new file mode 100644 index 00000000..75bb517d --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch @@ -0,0 +1,43 @@ +From 928595c80ae28d19861d7e76ed898a8fb3f2c1dc Mon Sep 17 00:00:00 2001 +From: Anuj Mittal +Date: Fri, 24 Jul 2015 23:57:17 +0800 +Subject: [PATCH] dpdk: point to the right include and lib path + +Upstream-Status: Inappropriate [Configuration] + +Make sure that we point to the right location of qat +lac headers and library. + +Signed-off-by: Anuj Mittal +--- + examples/dpdk_qat/Makefile | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/examples/dpdk_qat/Makefile b/examples/dpdk_qat/Makefile +index f1e06a1..5b906f7 100644 +--- a/examples/dpdk_qat/Makefile ++++ b/examples/dpdk_qat/Makefile +@@ -66,18 +66,15 @@ SRCS-y := main.c crypto.c + + CFLAGS += -O3 + CFLAGS += $(WERROR_FLAGS) +-CFLAGS += -I$(ICP_ROOT)/quickassist/include \ +- -I$(ICP_ROOT)/quickassist/include/lac \ +- -I$(ICP_ROOT)/quickassist/lookaside/access_layer/include ++CFLAGS += -I$(ICP_LAC_API_DIR) + + # From CRF 1.2 driver, library was renamed to libicp_qa_al.a + ifneq ($(wildcard $(ICP_ROOT)/build/icp_qa_al.a),) + ICP_LIBRARY_PATH = $(ICP_ROOT)/build/icp_qa_al.a + else +-ICP_LIBRARY_PATH = $(ICP_ROOT)/build/libicp_qa_al.a ++ICP_LIBRARY_PATH = $(ICP_LIB_ROOT)/libicp_qa_al.a + endif + +-LDLIBS += -L$(ICP_ROOT)/build + LDLIBS += $(ICP_LIBRARY_PATH) \ + -lz \ + -losal \ +-- +1.7.9.5 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch new file mode 100644 index 00000000..a4c47112 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch @@ -0,0 +1,32 @@ +From a33a9e7559b59bc5fb0988af85062436ec4389a4 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Fri, 19 Aug 2016 11:57:49 +0800 +Subject: [PATCH] dpdk: add --sysroot option within app makefile + +Upstream-Status: Inappropriate [configuration] + +rte.app.mk has been changed to add -Wl, to all items listed +under EXTRA_LDFLAGS. It causes --sysroot= to not setup +correctly when we depends on gcc to setup for GNU ld. + +Signed-off-by: Rahul Kumar Gupta +--- + mk/rte.app.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mk/rte.app.mk b/mk/rte.app.mk +index eb28e11..296c8c7 100644 +--- a/mk/rte.app.mk ++++ b/mk/rte.app.mk +@@ -195,7 +195,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1)))) + ifeq ($(LINK_USING_CC),1) + O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(OBJS-y) $(call linkerprefix, \ + $(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \ +- $(MAPFLAGS)) ++ $(MAPFLAGS)) $(SYSROOTPATH) + else + O_TO_EXE = $(LD) -o $@ $(OBJS-y) \ + $(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \ +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch new file mode 100644 index 00000000..e17d80d1 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch @@ -0,0 +1,42 @@ +From 4cdcb5ea4af9677677a007c4f9b286948123be87 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Fri, 2 Sep 2016 15:48:52 +0800 +Subject: [PATCH] dpdk: fix for parellel make issue + +To make sure that the path of libraries should be correct and +libraries will be build before, And available at the time of +linking example apps. + +Signed-off-by: Rahul Kumar Gupta +--- + examples/Makefile | 1 + + examples/ethtool/ethtool-app/Makefile | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/examples/Makefile b/examples/Makefile +index 18b41b9..c7c2beb 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -43,6 +43,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor + ifneq ($(ICP_ROOT),) + DIRS-y += dpdk_qat + endif ++DEPDIRS-y += examples/ethtool/lib + DIRS-y += ethtool + DIRS-y += exception_path + DIRS-y += helloworld +diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile +index 09c66ad..ec068e6 100644 +--- a/examples/ethtool/ethtool-app/Makefile ++++ b/examples/ethtool/ethtool-app/Makefile +@@ -47,6 +47,7 @@ SRCS-y := main.c ethapp.c + CFLAGS += -O3 -D_GNU_SOURCE -pthread -I$(SRCDIR)/../lib + CFLAGS += $(WERROR_FLAGS) + ++LDLIBS += -L$(ETHTOOL_LIB_PATH)/ + LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib + LDLIBS += -lrte_ethtool + +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch new file mode 100644 index 00000000..9fc30381 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch @@ -0,0 +1,77 @@ +From 7af593cfca897a0f17d33aba95dd3e3d22a65444 Mon Sep 17 00:00:00 2001 +From: Rahul Kumar Gupta +Date: Fri, 19 Aug 2016 11:50:46 +0800 +Subject: [PATCH] dpdk: fix installation warning and issue + +Upstream-Status: Inappropriate [configuration] + +Ensure that all compiled libs should be installed to correct location. +For cross compiling cp -r and extra tar flags used to avoid QA warning +[host-user-contaminated]. +Added excluded files from bin and removing mk and app/dpdk-pmdinfogen files +installation since it is not needed as a part of image. + +Signed-off-by: Rahul Kumar Gupta +--- + mk/rte.sdkinstall.mk | 25 ++++++++++--------------- + 1 file changed, 10 insertions(+), 15 deletions(-) + +diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk +index 5217063..7036a32 100644 +--- a/mk/rte.sdkinstall.mk ++++ b/mk/rte.sdkinstall.mk +@@ -114,16 +114,13 @@ endif + + install-runtime: + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) +- $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) ++ $(Q)cp -r $O/lib/* $(DESTDIR)$(libdir) + $(Q)$(call rte_mkdir, $(DESTDIR)$(bindir)) +- $(Q)tar -cf - -C $O --exclude 'app/*.map' \ +- --exclude app/dpdk-pmdinfogen \ +- --exclude 'app/cmdline*' --exclude app/test \ +- --exclude app/testacl --exclude app/testpipeline app | \ +- tar -xf - -C $(DESTDIR)$(bindir) --strip-components=1 \ +- --keep-newer-files --warning=no-ignore-newer ++ $(Q)tar -cf - -C $O --exclude app/dpdk-pmdinfogen app | \ ++ tar -xf - -C $(DESTDIR)$(bindir) --no-same-owner --no-same-permissions \ ++ --strip-components=1 --keep-newer-files --warning=no-ignore-newer + $(Q)$(call rte_mkdir, $(DESTDIR)$(datadir)) +- $(Q)cp -a $(RTE_SDK)/tools $(DESTDIR)$(datadir) ++ $(Q)cp -r $(RTE_SDK)/tools $(DESTDIR)$(datadir) + $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/tools/dpdk-setup.sh, \ + $(DESTDIR)$(datadir)/tools/setup.sh) + $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/tools/dpdk-devbind.py, \ +@@ -137,7 +134,7 @@ install-runtime: + install-kmod: + ifneq ($(wildcard $O/kmod/*),) + $(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir)) +- $(Q)cp -a $O/kmod/* $(DESTDIR)$(kerneldir) ++ $(Q)cp -r $O/kmod/* $(DESTDIR)$(kerneldir) + endif + + install-sdk: +@@ -146,11 +143,9 @@ install-sdk: + tar -xf - -C $(DESTDIR)$(includedir) --strip-components=1 \ + --keep-newer-files --warning=no-ignore-newer + $(Q)$(call rte_mkdir, $(DESTDIR)$(sdkdir)) +- $(Q)cp -a $(RTE_SDK)/mk $(DESTDIR)$(sdkdir) +- $(Q)cp -a $(RTE_SDK)/scripts $(DESTDIR)$(sdkdir) +- $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)/app) +- $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) +- $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app ++ $(Q)cp -r $(RTE_SDK)/scripts $(DESTDIR)$(sdkdir) ++ $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)) ++ $(Q)cp -r $O/.config $(DESTDIR)$(targetdir) + $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) + $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) + +@@ -166,4 +161,4 @@ ifneq ($(wildcard $O/doc/*/*/*pdf),) + $(Q)cp -a $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides + endif + $(Q)$(call rte_mkdir, $(DESTDIR)$(datadir)) +- $(Q)cp -a $(RTE_SDK)/examples $(DESTDIR)$(datadir) ++ $(Q)cp -r $(RTE_SDK)/examples $(DESTDIR)$(datadir) +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch new file mode 100644 index 00000000..f7938c78 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch @@ -0,0 +1,55 @@ +From d1807cc225db36a467a9ae81ac23a6eb7368730e Mon Sep 17 00:00:00 2001 +From: Ferruh Yigit +Date: Thu, 8 Sep 2016 19:32:09 +0100 +Subject: [PATCH 3/3] kni: fix build with kernel 4.8 + +Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= +7f5565592c5ab2f3541951d2b4e65188d01d5d00] + +Linux kernel v4.8 removes macro DEFINE_PCI_DEVICE_TABLE + +Linux: 7e9321599011 ("treewide: remove references to the now unnecessary +DEFINE_PCI_DEVICE_TABLE") + +Replaced macro with its value in kni ethtool drivers. + +Signed-off-by: Ferruh Yigit +Acked-by: Pablo de Lara +Acked-by: Christian Ehrhardt +Acked-by: Stephen Hemminger +(cherry picked from commit 7f5565592c5ab2f3541951d2b4e65188d01d5d00) +Signed-off-by: Rahul Kumar Gupta +--- + lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 2 +- + lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +index bd803c0..efd39c6 100644 +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +@@ -76,7 +76,7 @@ static const char igb_driver_string[] = + static const char igb_copyright[] = + "Copyright (c) 2007-2013 Intel Corporation."; + +-DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { ++const struct pci_device_id igb_pci_tbl[] = { + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, +diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c +index 92fc9fc..238028d 100644 +--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c +@@ -86,7 +86,7 @@ const char ixgbe_driver_version[] = DRV_VERSION; + * { Vendor ID, Device ID, SubVendor ID, SubDevice ID, + * Class, Class Mask, private data (not used) } + */ +-DEFINE_PCI_DEVICE_TABLE(ixgbe_pci_tbl) = { ++const struct pci_device_id ixgbe_pci_tbl[] = { + {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598)}, + {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)}, + {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT)}, +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch new file mode 100644 index 00000000..22fb6f89 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch @@ -0,0 +1,278 @@ +From 368fd936258873ee848f2c265e4ffd8e5d21d20e Mon Sep 17 00:00:00 2001 +From: Ferruh Yigit +Date: Fri, 5 Aug 2016 15:09:30 +0100 +Subject: [PATCH 2/3] net/igb: move PCI device IDs from EAL + +Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= +109febfe58f93c5b425772563c35d4414a1a2c1c] + +PCI device ids moved from common header into igb driver itself. + +KNI starts using pci_device_id from kni/ethtool/igb driver, this is only +for KNI ethtool support, KNI data path is not affected. + +Signed-off-by: Ferruh Yigit +(cherry picked from commit 109febfe58f93c5b425772563c35d4414a1a2c1c) +Signed-off-by: Rahul Kumar Gupta +--- + drivers/net/e1000/igb_ethdev.c | 55 +++++++++-- + lib/librte_eal/common/include/rte_pci_dev_ids.h | 107 --------------------- + lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 2 +- + lib/librte_eal/linuxapp/kni/kni_misc.c | 20 +--- + 4 files changed, 50 insertions(+), 134 deletions(-) + +diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c +index fbf4d09..4e9e6a3 100644 +--- a/drivers/net/e1000/igb_ethdev.c ++++ b/drivers/net/e1000/igb_ethdev.c +@@ -306,22 +306,57 @@ static enum e1000_fc_mode igb_fc_setting = e1000_fc_full; + * The set of PCI devices this driver supports + */ + static const struct rte_pci_id pci_id_igb_map[] = { +- +-#define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, +-#include "rte_pci_dev_ids.h" +- +-{0}, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_FIBER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_QUAD_COPPER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_QUAD_COPPER_ET2) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_NS) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_NS_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_SERDES_QUAD) }, ++ ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575EB_COPPER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575EB_FIBER_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575GB_QUAD_COPPER) }, ++ ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_COPPER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_FIBER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_SGMII) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_COPPER_DUAL) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_QUAD_FIBER) }, ++ ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_COPPER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_FIBER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_SGMII) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_DA4) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER_OEM1) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER_IT) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_FIBER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_SGMII) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I211_COPPER) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_SGMII) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SGMII) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SERDES) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_BACKPLANE) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SFP) }, ++ { .vendor_id = 0, /* sentinel */ }, + }; + + /* + * The set of PCI devices this driver supports (for 82576&I350 VF) + */ + static const struct rte_pci_id pci_id_igbvf_map[] = { +- +-#define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, +-#include "rte_pci_dev_ids.h" +- +-{0}, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_VF) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_VF_HV) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_VF) }, ++ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_VF_HV) }, ++ { .vendor_id = 0, /* sentinel */ }, + }; + + static const struct rte_eth_desc_lim rx_desc_lim = { +diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h +index 1f9d372..1aae6f7 100644 +--- a/lib/librte_eal/common/include/rte_pci_dev_ids.h ++++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h +@@ -57,114 +57,7 @@ + * + */ + +-#ifndef RTE_PCI_DEV_ID_DECL_IGB +-#define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) +-#endif +- +-#ifndef RTE_PCI_DEV_ID_DECL_IGBVF +-#define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) +-#endif +- + #ifndef PCI_VENDOR_ID_INTEL + /** Vendor ID used by Intel devices */ + #define PCI_VENDOR_ID_INTEL 0x8086 + #endif +- +-/******************** Physical IGB devices from e1000_hw.h ********************/ +- +-#define E1000_DEV_ID_82576 0x10C9 +-#define E1000_DEV_ID_82576_FIBER 0x10E6 +-#define E1000_DEV_ID_82576_SERDES 0x10E7 +-#define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8 +-#define E1000_DEV_ID_82576_QUAD_COPPER_ET2 0x1526 +-#define E1000_DEV_ID_82576_NS 0x150A +-#define E1000_DEV_ID_82576_NS_SERDES 0x1518 +-#define E1000_DEV_ID_82576_SERDES_QUAD 0x150D +-#define E1000_DEV_ID_82575EB_COPPER 0x10A7 +-#define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9 +-#define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6 +-#define E1000_DEV_ID_82580_COPPER 0x150E +-#define E1000_DEV_ID_82580_FIBER 0x150F +-#define E1000_DEV_ID_82580_SERDES 0x1510 +-#define E1000_DEV_ID_82580_SGMII 0x1511 +-#define E1000_DEV_ID_82580_COPPER_DUAL 0x1516 +-#define E1000_DEV_ID_82580_QUAD_FIBER 0x1527 +-#define E1000_DEV_ID_I350_COPPER 0x1521 +-#define E1000_DEV_ID_I350_FIBER 0x1522 +-#define E1000_DEV_ID_I350_SERDES 0x1523 +-#define E1000_DEV_ID_I350_SGMII 0x1524 +-#define E1000_DEV_ID_I350_DA4 0x1546 +-#define E1000_DEV_ID_I210_COPPER 0x1533 +-#define E1000_DEV_ID_I210_COPPER_OEM1 0x1534 +-#define E1000_DEV_ID_I210_COPPER_IT 0x1535 +-#define E1000_DEV_ID_I210_FIBER 0x1536 +-#define E1000_DEV_ID_I210_SERDES 0x1537 +-#define E1000_DEV_ID_I210_SGMII 0x1538 +-#define E1000_DEV_ID_I210_COPPER_FLASHLESS 0x157B +-#define E1000_DEV_ID_I210_SERDES_FLASHLESS 0x157C +-#define E1000_DEV_ID_I211_COPPER 0x1539 +-#define E1000_DEV_ID_I354_BACKPLANE_1GBPS 0x1F40 +-#define E1000_DEV_ID_I354_SGMII 0x1F41 +-#define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS 0x1F45 +-#define E1000_DEV_ID_DH89XXCC_SGMII 0x0438 +-#define E1000_DEV_ID_DH89XXCC_SERDES 0x043A +-#define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C +-#define E1000_DEV_ID_DH89XXCC_SFP 0x0440 +- +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD) +- +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER) +- +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER) +- +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE) +-RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP) +- +-/****************** Virtual IGB devices from e1000_hw.h ******************/ +- +-#define E1000_DEV_ID_82576_VF 0x10CA +-#define E1000_DEV_ID_82576_VF_HV 0x152D +-#define E1000_DEV_ID_I350_VF 0x1520 +-#define E1000_DEV_ID_I350_VF_HV 0x152F +- +-RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF) +-RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV) +-RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF) +-RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV) +- +-/* +- * Undef all RTE_PCI_DEV_ID_DECL_* here. +- */ +-#undef RTE_PCI_DEV_ID_DECL_IGB +-#undef RTE_PCI_DEV_ID_DECL_IGBVF +diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +index 96acec5..bd803c0 100644 +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c +@@ -76,7 +76,7 @@ static const char igb_driver_string[] = + static const char igb_copyright[] = + "Copyright (c) 2007-2013 Intel Corporation."; + +-static DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { ++DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, +diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c +index 66bf519..67e9b7d 100644 +--- a/lib/librte_eal/linuxapp/kni/kni_misc.c ++++ b/lib/librte_eal/linuxapp/kni/kni_misc.c +@@ -58,6 +58,7 @@ extern void ixgbe_kni_remove(struct pci_dev *pdev); + extern struct pci_device_id ixgbe_pci_tbl[]; + extern int igb_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); + extern void igb_kni_remove(struct pci_dev *pdev); ++extern struct pci_device_id igb_pci_tbl[]; + + static int kni_open(struct inode *inode, struct file *file); + static int kni_release(struct inode *inode, struct file *file); +@@ -356,15 +357,8 @@ kni_dev_remove(struct kni_dev *dev) + + if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev)) + ixgbe_kni_remove(dev->pci_dev); +- +- switch (dev->device_id) { +- #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): +- #include ++ else if (pci_match_id(igb_pci_tbl, dev->pci_dev)) + igb_kni_remove(dev->pci_dev); +- break; +- default: +- break; +- } + + if (dev->net_dev) { + unregister_netdev(dev->net_dev); +@@ -513,16 +507,10 @@ kni_ioctl_create(struct net *net, + + if (pci_match_id(ixgbe_pci_tbl, found_pci)) + ret = ixgbe_kni_probe(found_pci, &lad_dev); +- +- switch (dev_info.device_id) { +- #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): +- #include ++ else if (pci_match_id(igb_pci_tbl, found_pci)) + ret = igb_kni_probe(found_pci, &lad_dev); +- break; +- default: ++ else + ret = -1; +- break; +- } + + KNI_DBG("PCI found: pci=0x%p, lad_dev=0x%p\n", + pci, lad_dev); +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch new file mode 100644 index 00000000..d8b04a9b --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch @@ -0,0 +1,356 @@ +From 11b4f5db07e4e48d1548671ac44f3d328523e93d Mon Sep 17 00:00:00 2001 +From: Ferruh Yigit +Date: Fri, 5 Aug 2016 15:09:29 +0100 +Subject: [PATCH 1/3] net/ixgbe: move PCI device IDs from EAL + +Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= +221fba3b987c49964aa2b3d14d7a07397bebdf73] + +PCI device ids moved from common header into ixgbe driver itself. + +KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is +only for KNI ethtool support, KNI data path is not affected. + +Signed-off-by: Ferruh Yigit +(cherry picked from commit 221fba3b987c49964aa2b3d14d7a07397bebdf73) +Signed-off-by: Rahul Kumar Gupta +--- + drivers/net/ixgbe/ixgbe_ethdev.c | 79 ++++++++++-- + lib/librte_eal/common/include/rte_pci_dev_ids.h | 156 ------------------------ + lib/librte_eal/linuxapp/kni/kni_misc.c | 17 ++- + 3 files changed, 76 insertions(+), 176 deletions(-) + +diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c +index d478a15..fb618ef 100644 +--- a/drivers/net/ixgbe/ixgbe_ethdev.c ++++ b/drivers/net/ixgbe/ixgbe_ethdev.c +@@ -429,23 +429,80 @@ static int ixgbe_dev_udp_tunnel_port_del(struct rte_eth_dev *dev, + * The set of PCI devices this driver supports + */ + static const struct rte_pci_id pci_id_ixgbe_map[] = { +- +-#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, +-#include "rte_pci_dev_ids.h" +- +-{ .vendor_id = 0, /* sentinel */ }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_BX) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT2) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_SFP_LOM) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_CX4_DUAL_PORT) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_DA_DUAL_PORT) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_XF_LR) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4_MEZZ) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KR) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_COMBO_BACKPLANE) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_CX4) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_SFP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_RNDC) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_560FLR) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_ECNA_DP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BACKPLANE_FCOE) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_FCOE) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_EM) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF2) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF_QP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_QSFP_SF_QP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599EN_SFP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_XAUI_LOM) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_T3_LOM) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_LS) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T1) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_SFP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_10G_T) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_1G_T) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T1) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR_L) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP_N) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII_L) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_10G_T) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP_N) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T_L) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_KX4) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_KR) }, ++#ifdef RTE_NIC_BYPASS ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BYPASS) }, ++#endif ++ { .vendor_id = 0, /* sentinel */ }, + }; + +- + /* + * The set of PCI devices this driver supports (for 82599 VF) + */ + static const struct rte_pci_id pci_id_ixgbevf_map[] = { +- +-#define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, +-#include "rte_pci_dev_ids.h" +-{ .vendor_id = 0, /* sentinel */ }, +- ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF_HV) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF_HV) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF_HV) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF_HV) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF) }, ++ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF_HV) }, ++ { .vendor_id = 0, /* sentinel */ }, + }; + + static const struct rte_eth_desc_lim rx_desc_lim = { +diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h +index 6ec8ae8..1f9d372 100644 +--- a/lib/librte_eal/common/include/rte_pci_dev_ids.h ++++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h +@@ -65,14 +65,6 @@ + #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) + #endif + +-#ifndef RTE_PCI_DEV_ID_DECL_IXGBE +-#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) +-#endif +- +-#ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF +-#define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev) +-#endif +- + #ifndef PCI_VENDOR_ID_INTEL + /** Vendor ID used by Intel devices */ + #define PCI_VENDOR_ID_INTEL 0x8086 +@@ -159,128 +151,6 @@ RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES) + RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE) + RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP) + +-/****************** Physical IXGBE devices from ixgbe_type.h ******************/ +- +-#define IXGBE_DEV_ID_82598 0x10B6 +-#define IXGBE_DEV_ID_82598_BX 0x1508 +-#define IXGBE_DEV_ID_82598AF_DUAL_PORT 0x10C6 +-#define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 +-#define IXGBE_DEV_ID_82598AT 0x10C8 +-#define IXGBE_DEV_ID_82598AT2 0x150B +-#define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB +-#define IXGBE_DEV_ID_82598EB_CX4 0x10DD +-#define IXGBE_DEV_ID_82598_CX4_DUAL_PORT 0x10EC +-#define IXGBE_DEV_ID_82598_DA_DUAL_PORT 0x10F1 +-#define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM 0x10E1 +-#define IXGBE_DEV_ID_82598EB_XF_LR 0x10F4 +-#define IXGBE_DEV_ID_82599_KX4 0x10F7 +-#define IXGBE_DEV_ID_82599_KX4_MEZZ 0x1514 +-#define IXGBE_DEV_ID_82599_KR 0x1517 +-#define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8 +-#define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ 0x000C +-#define IXGBE_DEV_ID_82599_CX4 0x10F9 +-#define IXGBE_DEV_ID_82599_SFP 0x10FB +-#define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 +-#define IXGBE_SUBDEV_ID_82599_RNDC 0x1F72 +-#define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0 +-#define IXGBE_SUBDEV_ID_82599_ECNA_DP 0x0470 +-#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152A +-#define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 +-#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 +-#define IXGBE_DEV_ID_82599_SFP_SF2 0x154D +-#define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A +-#define IXGBE_DEV_ID_82599_QSFP_SF_QP 0x1558 +-#define IXGBE_DEV_ID_82599EN_SFP 0x1557 +-#define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC +-#define IXGBE_DEV_ID_82599_T3_LOM 0x151C +-#define IXGBE_DEV_ID_82599_LS 0x154F +-#define IXGBE_DEV_ID_X540T 0x1528 +-#define IXGBE_DEV_ID_X540T1 0x1560 +-#define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC +-#define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD +-#define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE +-#define IXGBE_DEV_ID_X550T 0x1563 +-#define IXGBE_DEV_ID_X550T1 0x15D1 +-#define IXGBE_DEV_ID_X550EM_A_KR 0x15C2 +-#define IXGBE_DEV_ID_X550EM_A_KR_L 0x15C3 +-#define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4 +-#define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6 +-#define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7 +-#define IXGBE_DEV_ID_X550EM_A_10G_T 0x15C8 +-#define IXGBE_DEV_ID_X550EM_A_QSFP 0x15CA +-#define IXGBE_DEV_ID_X550EM_A_QSFP_N 0x15CC +-#define IXGBE_DEV_ID_X550EM_A_SFP 0x15CE +-#define IXGBE_DEV_ID_X550EM_A_1G_T 0x15E4 +-#define IXGBE_DEV_ID_X550EM_A_1G_T_L 0x15E5 +-#define IXGBE_DEV_ID_X550EM_X_KX4 0x15AA +-#define IXGBE_DEV_ID_X550EM_X_KR 0x15AB +- +-#ifdef RTE_NIC_BYPASS +-#define IXGBE_DEV_ID_82599_BYPASS 0x155D +-#endif +- +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ +- IXGBE_DEV_ID_82598AF_SINGLE_PORT) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ +- IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ +- IXGBE_DEV_ID_82599_COMBO_BACKPLANE) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ +- IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T1) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR_L) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_10G_T) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP_N) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4) +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR) +- +-#ifdef RTE_NIC_BYPASS +-RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS) +-#endif +- + /****************** Virtual IGB devices from e1000_hw.h ******************/ + + #define E1000_DEV_ID_82576_VF 0x10CA +@@ -293,34 +163,8 @@ RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV) + RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF) + RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV) + +-/****************** Virtual IXGBE devices from ixgbe_type.h ******************/ +- +-#define IXGBE_DEV_ID_82599_VF 0x10ED +-#define IXGBE_DEV_ID_82599_VF_HV 0x152E +-#define IXGBE_DEV_ID_X540_VF 0x1515 +-#define IXGBE_DEV_ID_X540_VF_HV 0x1530 +-#define IXGBE_DEV_ID_X550_VF_HV 0x1564 +-#define IXGBE_DEV_ID_X550_VF 0x1565 +-#define IXGBE_DEV_ID_X550EM_A_VF 0x15C5 +-#define IXGBE_DEV_ID_X550EM_A_VF_HV 0x15B4 +-#define IXGBE_DEV_ID_X550EM_X_VF 0x15A8 +-#define IXGBE_DEV_ID_X550EM_X_VF_HV 0x15A9 +- +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF_HV) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF) +-RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV) +- + /* + * Undef all RTE_PCI_DEV_ID_DECL_* here. + */ + #undef RTE_PCI_DEV_ID_DECL_IGB + #undef RTE_PCI_DEV_ID_DECL_IGBVF +-#undef RTE_PCI_DEV_ID_DECL_IXGBE +-#undef RTE_PCI_DEV_ID_DECL_IXGBEVF +diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c +index 59d15ca..66bf519 100644 +--- a/lib/librte_eal/linuxapp/kni/kni_misc.c ++++ b/lib/librte_eal/linuxapp/kni/kni_misc.c +@@ -55,6 +55,7 @@ extern void kni_set_ethtool_ops(struct net_device *netdev); + + extern int ixgbe_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); + extern void ixgbe_kni_remove(struct pci_dev *pdev); ++extern struct pci_device_id ixgbe_pci_tbl[]; + extern int igb_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); + extern void igb_kni_remove(struct pci_dev *pdev); + +@@ -353,15 +354,14 @@ kni_dev_remove(struct kni_dev *dev) + if (!dev) + return -ENODEV; + ++ if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev)) ++ ixgbe_kni_remove(dev->pci_dev); ++ + switch (dev->device_id) { + #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): + #include + igb_kni_remove(dev->pci_dev); + break; +- #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) case (dev): +- #include +- ixgbe_kni_remove(dev->pci_dev); +- break; + default: + break; + } +@@ -510,16 +510,15 @@ kni_ioctl_create(struct net *net, + (PCI_SLOT(pci->devfn) == dev_info.devid) && + (PCI_FUNC(pci->devfn) == dev_info.function)) { + found_pci = pci; ++ ++ if (pci_match_id(ixgbe_pci_tbl, found_pci)) ++ ret = ixgbe_kni_probe(found_pci, &lad_dev); ++ + switch (dev_info.device_id) { + #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): + #include + ret = igb_kni_probe(found_pci, &lad_dev); + break; +- #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) \ +- case (dev): +- #include +- ret = ixgbe_kni_probe(found_pci, &lad_dev); +- break; + default: + ret = -1; + break; +-- +1.9.1 + diff --git a/common/recipes-extended/dpdk/dpdk_16.07.bb b/common/recipes-extended/dpdk/dpdk_16.07.bb new file mode 100644 index 00000000..55729cd9 --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk_16.07.bb @@ -0,0 +1,16 @@ +include dpdk.inc + +SRC_URI += "\ + file://dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch \ + file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \ + " + +SRC_URI[dpdk.md5sum] = "4afdc7951e21ff878a85ecade7f6f488" +SRC_URI[dpdk.sha256sum] = "cc982455a74357e465112bede5c29451b6eeb35f8c1c0dcea280dd3e7829f0e9" + +export EXAMPLES_BUILD_DIR = "${RTE_TARGET}" +export ARCHDIR = "generic" + +do_configure_prepend () { + sed -e "s#CONFIG_RTE_LIBRTE_POWER=y#CONFIG_RTE_LIBRTE_POWER=${CONFIG_EXAMPLE_VM_POWER_MANAGER}#" -i ${S}/config/common_linuxapp +} diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk.inc b/meta-isg/common/recipes-extended/dpdk/dpdk.inc deleted file mode 100644 index e90b13f7..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk.inc +++ /dev/null @@ -1,152 +0,0 @@ -DESCRIPTION = "Intel(r) Data Plane Development Kit" -HOMEPAGE = "http://dpdk.org" -LICENSE = "BSD & LGPLv2 & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${PV}.tar.gz;name=dpdk \ - file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \ - file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \ - file://dpdk-16.04-point-to-the-right-include-and-lib-path.patch \ - file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \ - file://dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch \ - file://dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch \ - file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \ - file://dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch \ - file://dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch \ - file://dpdk-16.07-kni-fix-build-with-kernel-4.8.patch \ - " - -COMPATIBLE_MACHINE = "crystalforest|intel-corei7-64" - -# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat. -# fuse is in meta-filesystems and qat is not yet upstreamed. -# So adding mechanism to explicitly disable the use of fuse and qat. -# To enable, uncomment the below line or include in .bbappend. -# PACKAGECONFIG ?= " dpdk_qat vhost libvirt" - -PACKAGECONFIG[dpdk_qat] = ",,virtual/qat" -PACKAGECONFIG[vhost] = ",,fuse" -PACKAGECONFIG[libvirt] = ",,libvirt" - -export CONFIG_EXAMPLE_DPDK_QAT = "${@bb.utils.contains('PACKAGECONFIG', 'dpdk_qat', 'y', 'n', d)}" -export CONFIG_EXAMPLE_VM_POWER_MANAGER = "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}" -export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', 'vhost', 'y', 'n', d)}" - -RDEPENDS_${PN} += "python-subprocess" -DEPENDS = "virtual/kernel" -do_configure[depends] += "virtual/kernel:do_shared_workdir" - -inherit module - -export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net" -export RTE_SDK = "${S}" -export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "corei7", "x86_64-ivshmem-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}" - -export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include" -export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib" -export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}" -export RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}" -export INSTALL_PATH = "${prefix}/share" -export RTE_OUTPUT = "${S}/${RTE_TARGET}" -export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/" -export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}" -export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}" -export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac" - -# The list of intel Comms platforms and their target machine -# process mapping. The supported target machine is listed under -# dpdk/mk/machine -def get_dpdk_target_mach(bb, d): - target_arch = d.getVar('MACHINE_ARCH', True) - multiarch_options = { - "mohonpeak64": "atm", - "mohonpeak32": "atm", - "crystalforest": "ivb", - "intel_corei7_64": "hsw", - } - - if target_arch in multiarch_options : - return multiarch_options[target_arch] - return "" - -do_configure () { - ############################################################# - ### default value for prefix is "usr", unsetting it, so it - ### will not be concatenated in ${RTE_TARGET}/Makefile - ### which will cause compilation failure - ############################################################# - unset prefix - - # Fix-up CONFIG_RTE_MACHINE based on target machine - sed -e "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc - sed -e "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" -i ${S}/config/defconfig_i686-native-linuxapp-gcc - - # Fix-up vhost configs based on package config - sed -e "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp - sed -e "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp - sed -e "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp - - make O=$RTE_TARGET T=$RTE_TARGET config -} - -do_compile () { - unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS - - cd ${S}/${RTE_TARGET} - oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \ - EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \ - CROSS="${TARGET_PREFIX}" \ - prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1 - - cd ${S}/examples/ - oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \ - EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \ - CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/" -} - -do_install () { - oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D} - oe_runmake O=${RTE_OUTPUT} T= install-kmod DESTDIR=${D} kerneldir=${MODULE_DIR} - oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D} - - # Install examples - for dirname in ${S}/examples/* - do - install -m 0755 -d ${D}/${INSTALL_PATH}/examples/`basename ${dirname}` - - for appname in `find ${dirname} -regex ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"` - do - install -m 755 ${appname} ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/ - done - done -} - -PACKAGES += "${PN}-examples" - -FILES_${PN}-dbg += " \ - ${INSTALL_PATH}/.debug \ - ${INSTALL_PATH}/examples/*/.debug \ - " - -FILES_${PN}-doc += "\ - ${INSTALL_PATH}/doc \ - " - -FILES_${PN}-dev += " \ - ${INSTALL_PATH}/${RTE_TARGET}/.config \ - ${includedir} \ - ${includedir}/${ARCHDIR} \ - ${includedir}/exec-env \ - ${INSTALL_PATH}/scripts/ \ - ${INSTALL_PATH}/${RTE_TARGET}/include \ - ${INSTALL_PATH}/${RTE_TARGET}/lib \ - " - -FILES_${PN} += " ${INSTALL_PATH}/tools/ \ - ${prefix}/sbin/ \ - ${prefix}/bin/ \ - ${libdir}/ \ - " -FILES_${PN}-examples += " \ - ${INSTALL_PATH}/examples/* \ - " diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch deleted file mode 100644 index 8786af7c..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-Fix-for-misleading-indentation-error.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 8cd0a16af531cca0af6b4f9b729c252b8bdbf8e2 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Tue, 5 Jul 2016 00:05:25 +0800 -Subject: [PATCH] Fix for misleading indentation error - -fix the indentation of the code to match the block structure. This may cause -build errors if you have -Wall -Werror in your project. - -Signed-off-by: Rahul Kumar Gupta ---- - lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c | 8 ++++---- - lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c -index df22470..ba28eba 100644 ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c -@@ -3302,8 +3302,8 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 *data) - /* Disable access to mPHY if it was originally disabled */ - if (locked) - ready = e1000_is_mphy_ready(hw); -- if (!ready) -- return -E1000_ERR_PHY; -+ if (!ready) -+ return -E1000_ERR_PHY; - E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL, - E1000_MPHY_DIS_ACCESS); - -@@ -3367,8 +3367,8 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 data, - /* Disable access to mPHY if it was originally disabled */ - if (locked) - ready = e1000_is_mphy_ready(hw); -- if (!ready) -- return -E1000_ERR_PHY; -+ if (!ready) -+ return -E1000_ERR_PHY; - E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL, - E1000_MPHY_DIS_ACCESS); - -diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c -index 017dfe1..7248a7e 100644 ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c -@@ -870,7 +870,7 @@ s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw, - if (speed & IXGBE_LINK_SPEED_10GB_FULL) - if (orig_autoc & IXGBE_AUTOC_KX4_SUPP) - autoc |= IXGBE_AUTOC_KX4_SUPP; -- if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) && -+ if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) && - (hw->phy.smart_speed_active == false)) - autoc |= IXGBE_AUTOC_KR_SUPP; - if (speed & IXGBE_LINK_SPEED_1GB_FULL) --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch deleted file mode 100644 index e446ce44..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6c8d348190a8cf6c35111913cbf117ca98137e84 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Fri, 18 Dec 2015 18:30:47 +0800 -Subject: [PATCH] dpdk v2.2.0: add RTE_KERNELDIR_OUT to split kernel build - artifact - -Introduce RTE_KERNELDIR_OUT to be the path to which kernel build -artifacts are located. This is for matching the workflow change -since Yocto Project v1.8 onwards whereby tmp/work-shared contains -separate directories for kernel source and kernel artifacts. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Rahul Kumar Gupta ---- - mk/rte.module.mk | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/mk/rte.module.mk b/mk/rte.module.mk -index 53ed4fe..b7a014b 100644 ---- a/mk/rte.module.mk -+++ b/mk/rte.module.mk -@@ -77,7 +77,7 @@ build: _postbuild - # build module - $(MODULE).ko: $(SRCS_LINKS) - @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi -- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \ -+ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \ - CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0) - - # install module in $(RTE_OUTPUT)/kmod -@@ -88,7 +88,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko - - # install module - modules_install: -- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \ -+ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \ - modules_install - - .PHONY: clean -@@ -98,7 +98,7 @@ clean: _postclean - .PHONY: doclean - doclean: - @if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi -- $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean -+ $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean - @$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\ - if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;) - @if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch deleted file mode 100644 index cd517052..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a424a79b1422f1877de3ee7aee6f781aeacc3630 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Tue, 18 Aug 2015 12:36:02 +0800 -Subject: [PATCH] examples: add config variable to enable/disable dpdk_qat - -Upstream-Status: Inappropriate [configuration] - -Add CONFIG_EXAMPLE_DPDK_QAT to control compilation of dpdk_qat -example by PACKAGECONFIG - -Signed-off-by: Anuj Mittal ---- - examples/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/examples/Makefile b/examples/Makefile -index b4eddbd..1bc14b0 100644 ---- a/examples/Makefile -+++ b/examples/Makefile -@@ -41,7 +41,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond - DIRS-y += cmdline - DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor - ifneq ($(ICP_ROOT),) --DIRS-y += dpdk_qat -+DIRS-$(CONFIG_EXAMPLE_DPDK_QAT) += dpdk_qat - endif - DIRS-y += exception_path - DIRS-y += helloworld --- -1.7.9.5 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch deleted file mode 100644 index 3719aa78..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch +++ /dev/null @@ -1,33 +0,0 @@ -From f7be643cc62860a986c9e0aec990c90bfc58a941 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Fri, 1 Apr 2016 17:31:55 +0800 -Subject: [PATCH] dpdk: enable ip_fragmentation in common_base config - -Upstream-Status: Inappropriate [Configuration] - -This configuration need to set for ip_fragmentation application. - -Signed-off-by: Rahul Kumar Gupta ---- - config/common_base | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/config/common_base b/config/common_base -index abd6a64..90259f0 100644 ---- a/config/common_base -+++ b/config/common_base -@@ -442,6 +442,11 @@ CONFIG_RTE_LIBRTE_POWER_DEBUG=n - CONFIG_RTE_MAX_LCORE_FREQS=64 - - # -+# Compile ip_fragmentation -+# -+CONFIG_RTE_IP_FRAG=y -+ -+# - # Compile librte_net - # - CONFIG_RTE_LIBRTE_NET=y --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch deleted file mode 100644 index 4254d073..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8ce0e3249942a90f733bb2113e70e5a90ae67b00 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Thu, 21 Jul 2016 05:53:52 +0800 -Subject: [PATCH 1/2] dpdk: fix compilation with dynamic libs - -Upstream-Status: Inappropriate [Configuration] - -Ensure that the correct cflags are being used. - -Signed-off-by: Rahul Kumar Gupta ---- - mk/rte.lib.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk -index 8f7e021..42610c9 100644 ---- a/mk/rte.lib.mk -+++ b/mk/rte.lib.mk -@@ -70,7 +70,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1)))) - - ifeq ($(LINK_USING_CC),1) - # Override the definition of LD here, since we're linking with CC --LD := $(CC) $(CPU_CFLAGS) -+LD := $(CC) $(CPU_CFLAGS) $(EXTRA_CFLAGS) - _CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS)) - override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS)) - else --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch deleted file mode 100644 index 75bb517d..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-point-to-the-right-include-and-lib-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 928595c80ae28d19861d7e76ed898a8fb3f2c1dc Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Fri, 24 Jul 2015 23:57:17 +0800 -Subject: [PATCH] dpdk: point to the right include and lib path - -Upstream-Status: Inappropriate [Configuration] - -Make sure that we point to the right location of qat -lac headers and library. - -Signed-off-by: Anuj Mittal ---- - examples/dpdk_qat/Makefile | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/examples/dpdk_qat/Makefile b/examples/dpdk_qat/Makefile -index f1e06a1..5b906f7 100644 ---- a/examples/dpdk_qat/Makefile -+++ b/examples/dpdk_qat/Makefile -@@ -66,18 +66,15 @@ SRCS-y := main.c crypto.c - - CFLAGS += -O3 - CFLAGS += $(WERROR_FLAGS) --CFLAGS += -I$(ICP_ROOT)/quickassist/include \ -- -I$(ICP_ROOT)/quickassist/include/lac \ -- -I$(ICP_ROOT)/quickassist/lookaside/access_layer/include -+CFLAGS += -I$(ICP_LAC_API_DIR) - - # From CRF 1.2 driver, library was renamed to libicp_qa_al.a - ifneq ($(wildcard $(ICP_ROOT)/build/icp_qa_al.a),) - ICP_LIBRARY_PATH = $(ICP_ROOT)/build/icp_qa_al.a - else --ICP_LIBRARY_PATH = $(ICP_ROOT)/build/libicp_qa_al.a -+ICP_LIBRARY_PATH = $(ICP_LIB_ROOT)/libicp_qa_al.a - endif - --LDLIBS += -L$(ICP_ROOT)/build - LDLIBS += $(ICP_LIBRARY_PATH) \ - -lz \ - -losal \ --- -1.7.9.5 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch deleted file mode 100644 index a4c47112..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-add-sysroot-option-within-app-makefile.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a33a9e7559b59bc5fb0988af85062436ec4389a4 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Fri, 19 Aug 2016 11:57:49 +0800 -Subject: [PATCH] dpdk: add --sysroot option within app makefile - -Upstream-Status: Inappropriate [configuration] - -rte.app.mk has been changed to add -Wl, to all items listed -under EXTRA_LDFLAGS. It causes --sysroot= to not setup -correctly when we depends on gcc to setup for GNU ld. - -Signed-off-by: Rahul Kumar Gupta ---- - mk/rte.app.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mk/rte.app.mk b/mk/rte.app.mk -index eb28e11..296c8c7 100644 ---- a/mk/rte.app.mk -+++ b/mk/rte.app.mk -@@ -195,7 +195,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1)))) - ifeq ($(LINK_USING_CC),1) - O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(OBJS-y) $(call linkerprefix, \ - $(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \ -- $(MAPFLAGS)) -+ $(MAPFLAGS)) $(SYSROOTPATH) - else - O_TO_EXE = $(LD) -o $@ $(OBJS-y) \ - $(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \ --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch deleted file mode 100644 index e17d80d1..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4cdcb5ea4af9677677a007c4f9b286948123be87 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Fri, 2 Sep 2016 15:48:52 +0800 -Subject: [PATCH] dpdk: fix for parellel make issue - -To make sure that the path of libraries should be correct and -libraries will be build before, And available at the time of -linking example apps. - -Signed-off-by: Rahul Kumar Gupta ---- - examples/Makefile | 1 + - examples/ethtool/ethtool-app/Makefile | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/examples/Makefile b/examples/Makefile -index 18b41b9..c7c2beb 100644 ---- a/examples/Makefile -+++ b/examples/Makefile -@@ -43,6 +43,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor - ifneq ($(ICP_ROOT),) - DIRS-y += dpdk_qat - endif -+DEPDIRS-y += examples/ethtool/lib - DIRS-y += ethtool - DIRS-y += exception_path - DIRS-y += helloworld -diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile -index 09c66ad..ec068e6 100644 ---- a/examples/ethtool/ethtool-app/Makefile -+++ b/examples/ethtool/ethtool-app/Makefile -@@ -47,6 +47,7 @@ SRCS-y := main.c ethapp.c - CFLAGS += -O3 -D_GNU_SOURCE -pthread -I$(SRCDIR)/../lib - CFLAGS += $(WERROR_FLAGS) - -+LDLIBS += -L$(ETHTOOL_LIB_PATH)/ - LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib - LDLIBS += -lrte_ethtool - --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch deleted file mode 100644 index 9fc30381..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-dpdk-fix-installation-warning-and-issue.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 7af593cfca897a0f17d33aba95dd3e3d22a65444 Mon Sep 17 00:00:00 2001 -From: Rahul Kumar Gupta -Date: Fri, 19 Aug 2016 11:50:46 +0800 -Subject: [PATCH] dpdk: fix installation warning and issue - -Upstream-Status: Inappropriate [configuration] - -Ensure that all compiled libs should be installed to correct location. -For cross compiling cp -r and extra tar flags used to avoid QA warning -[host-user-contaminated]. -Added excluded files from bin and removing mk and app/dpdk-pmdinfogen files -installation since it is not needed as a part of image. - -Signed-off-by: Rahul Kumar Gupta ---- - mk/rte.sdkinstall.mk | 25 ++++++++++--------------- - 1 file changed, 10 insertions(+), 15 deletions(-) - -diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk -index 5217063..7036a32 100644 ---- a/mk/rte.sdkinstall.mk -+++ b/mk/rte.sdkinstall.mk -@@ -114,16 +114,13 @@ endif - - install-runtime: - $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) -- $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) -+ $(Q)cp -r $O/lib/* $(DESTDIR)$(libdir) - $(Q)$(call rte_mkdir, $(DESTDIR)$(bindir)) -- $(Q)tar -cf - -C $O --exclude 'app/*.map' \ -- --exclude app/dpdk-pmdinfogen \ -- --exclude 'app/cmdline*' --exclude app/test \ -- --exclude app/testacl --exclude app/testpipeline app | \ -- tar -xf - -C $(DESTDIR)$(bindir) --strip-components=1 \ -- --keep-newer-files --warning=no-ignore-newer -+ $(Q)tar -cf - -C $O --exclude app/dpdk-pmdinfogen app | \ -+ tar -xf - -C $(DESTDIR)$(bindir) --no-same-owner --no-same-permissions \ -+ --strip-components=1 --keep-newer-files --warning=no-ignore-newer - $(Q)$(call rte_mkdir, $(DESTDIR)$(datadir)) -- $(Q)cp -a $(RTE_SDK)/tools $(DESTDIR)$(datadir) -+ $(Q)cp -r $(RTE_SDK)/tools $(DESTDIR)$(datadir) - $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/tools/dpdk-setup.sh, \ - $(DESTDIR)$(datadir)/tools/setup.sh) - $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/tools/dpdk-devbind.py, \ -@@ -137,7 +134,7 @@ install-runtime: - install-kmod: - ifneq ($(wildcard $O/kmod/*),) - $(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir)) -- $(Q)cp -a $O/kmod/* $(DESTDIR)$(kerneldir) -+ $(Q)cp -r $O/kmod/* $(DESTDIR)$(kerneldir) - endif - - install-sdk: -@@ -146,11 +143,9 @@ install-sdk: - tar -xf - -C $(DESTDIR)$(includedir) --strip-components=1 \ - --keep-newer-files --warning=no-ignore-newer - $(Q)$(call rte_mkdir, $(DESTDIR)$(sdkdir)) -- $(Q)cp -a $(RTE_SDK)/mk $(DESTDIR)$(sdkdir) -- $(Q)cp -a $(RTE_SDK)/scripts $(DESTDIR)$(sdkdir) -- $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)/app) -- $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) -- $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app -+ $(Q)cp -r $(RTE_SDK)/scripts $(DESTDIR)$(sdkdir) -+ $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)) -+ $(Q)cp -r $O/.config $(DESTDIR)$(targetdir) - $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) - $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) - -@@ -166,4 +161,4 @@ ifneq ($(wildcard $O/doc/*/*/*pdf),) - $(Q)cp -a $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides - endif - $(Q)$(call rte_mkdir, $(DESTDIR)$(datadir)) -- $(Q)cp -a $(RTE_SDK)/examples $(DESTDIR)$(datadir) -+ $(Q)cp -r $(RTE_SDK)/examples $(DESTDIR)$(datadir) --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch deleted file mode 100644 index f7938c78..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-kni-fix-build-with-kernel-4.8.patch +++ /dev/null @@ -1,55 +0,0 @@ -From d1807cc225db36a467a9ae81ac23a6eb7368730e Mon Sep 17 00:00:00 2001 -From: Ferruh Yigit -Date: Thu, 8 Sep 2016 19:32:09 +0100 -Subject: [PATCH 3/3] kni: fix build with kernel 4.8 - -Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= -7f5565592c5ab2f3541951d2b4e65188d01d5d00] - -Linux kernel v4.8 removes macro DEFINE_PCI_DEVICE_TABLE - -Linux: 7e9321599011 ("treewide: remove references to the now unnecessary -DEFINE_PCI_DEVICE_TABLE") - -Replaced macro with its value in kni ethtool drivers. - -Signed-off-by: Ferruh Yigit -Acked-by: Pablo de Lara -Acked-by: Christian Ehrhardt -Acked-by: Stephen Hemminger -(cherry picked from commit 7f5565592c5ab2f3541951d2b4e65188d01d5d00) -Signed-off-by: Rahul Kumar Gupta ---- - lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 2 +- - lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -index bd803c0..efd39c6 100644 ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -@@ -76,7 +76,7 @@ static const char igb_driver_string[] = - static const char igb_copyright[] = - "Copyright (c) 2007-2013 Intel Corporation."; - --DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { -+const struct pci_device_id igb_pci_tbl[] = { - { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, - { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) }, - { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, -diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c -index 92fc9fc..238028d 100644 ---- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c -@@ -86,7 +86,7 @@ const char ixgbe_driver_version[] = DRV_VERSION; - * { Vendor ID, Device ID, SubVendor ID, SubDevice ID, - * Class, Class Mask, private data (not used) } - */ --DEFINE_PCI_DEVICE_TABLE(ixgbe_pci_tbl) = { -+const struct pci_device_id ixgbe_pci_tbl[] = { - {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598)}, - {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)}, - {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT)}, --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch deleted file mode 100644 index 22fb6f89..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch +++ /dev/null @@ -1,278 +0,0 @@ -From 368fd936258873ee848f2c265e4ffd8e5d21d20e Mon Sep 17 00:00:00 2001 -From: Ferruh Yigit -Date: Fri, 5 Aug 2016 15:09:30 +0100 -Subject: [PATCH 2/3] net/igb: move PCI device IDs from EAL - -Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= -109febfe58f93c5b425772563c35d4414a1a2c1c] - -PCI device ids moved from common header into igb driver itself. - -KNI starts using pci_device_id from kni/ethtool/igb driver, this is only -for KNI ethtool support, KNI data path is not affected. - -Signed-off-by: Ferruh Yigit -(cherry picked from commit 109febfe58f93c5b425772563c35d4414a1a2c1c) -Signed-off-by: Rahul Kumar Gupta ---- - drivers/net/e1000/igb_ethdev.c | 55 +++++++++-- - lib/librte_eal/common/include/rte_pci_dev_ids.h | 107 --------------------- - lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 2 +- - lib/librte_eal/linuxapp/kni/kni_misc.c | 20 +--- - 4 files changed, 50 insertions(+), 134 deletions(-) - -diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c -index fbf4d09..4e9e6a3 100644 ---- a/drivers/net/e1000/igb_ethdev.c -+++ b/drivers/net/e1000/igb_ethdev.c -@@ -306,22 +306,57 @@ static enum e1000_fc_mode igb_fc_setting = e1000_fc_full; - * The set of PCI devices this driver supports - */ - static const struct rte_pci_id pci_id_igb_map[] = { -- --#define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, --#include "rte_pci_dev_ids.h" -- --{0}, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_FIBER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_QUAD_COPPER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_QUAD_COPPER_ET2) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_NS) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_NS_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_SERDES_QUAD) }, -+ -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575EB_COPPER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575EB_FIBER_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575GB_QUAD_COPPER) }, -+ -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_COPPER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_FIBER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_SGMII) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_COPPER_DUAL) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_QUAD_FIBER) }, -+ -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_COPPER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_FIBER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_SGMII) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_DA4) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER_OEM1) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER_IT) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_FIBER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_SGMII) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I211_COPPER) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_SGMII) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SGMII) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SERDES) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_BACKPLANE) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SFP) }, -+ { .vendor_id = 0, /* sentinel */ }, - }; - - /* - * The set of PCI devices this driver supports (for 82576&I350 VF) - */ - static const struct rte_pci_id pci_id_igbvf_map[] = { -- --#define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, --#include "rte_pci_dev_ids.h" -- --{0}, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_VF) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_VF_HV) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_VF) }, -+ { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_VF_HV) }, -+ { .vendor_id = 0, /* sentinel */ }, - }; - - static const struct rte_eth_desc_lim rx_desc_lim = { -diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h -index 1f9d372..1aae6f7 100644 ---- a/lib/librte_eal/common/include/rte_pci_dev_ids.h -+++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h -@@ -57,114 +57,7 @@ - * - */ - --#ifndef RTE_PCI_DEV_ID_DECL_IGB --#define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) --#endif -- --#ifndef RTE_PCI_DEV_ID_DECL_IGBVF --#define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) --#endif -- - #ifndef PCI_VENDOR_ID_INTEL - /** Vendor ID used by Intel devices */ - #define PCI_VENDOR_ID_INTEL 0x8086 - #endif -- --/******************** Physical IGB devices from e1000_hw.h ********************/ -- --#define E1000_DEV_ID_82576 0x10C9 --#define E1000_DEV_ID_82576_FIBER 0x10E6 --#define E1000_DEV_ID_82576_SERDES 0x10E7 --#define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8 --#define E1000_DEV_ID_82576_QUAD_COPPER_ET2 0x1526 --#define E1000_DEV_ID_82576_NS 0x150A --#define E1000_DEV_ID_82576_NS_SERDES 0x1518 --#define E1000_DEV_ID_82576_SERDES_QUAD 0x150D --#define E1000_DEV_ID_82575EB_COPPER 0x10A7 --#define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9 --#define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6 --#define E1000_DEV_ID_82580_COPPER 0x150E --#define E1000_DEV_ID_82580_FIBER 0x150F --#define E1000_DEV_ID_82580_SERDES 0x1510 --#define E1000_DEV_ID_82580_SGMII 0x1511 --#define E1000_DEV_ID_82580_COPPER_DUAL 0x1516 --#define E1000_DEV_ID_82580_QUAD_FIBER 0x1527 --#define E1000_DEV_ID_I350_COPPER 0x1521 --#define E1000_DEV_ID_I350_FIBER 0x1522 --#define E1000_DEV_ID_I350_SERDES 0x1523 --#define E1000_DEV_ID_I350_SGMII 0x1524 --#define E1000_DEV_ID_I350_DA4 0x1546 --#define E1000_DEV_ID_I210_COPPER 0x1533 --#define E1000_DEV_ID_I210_COPPER_OEM1 0x1534 --#define E1000_DEV_ID_I210_COPPER_IT 0x1535 --#define E1000_DEV_ID_I210_FIBER 0x1536 --#define E1000_DEV_ID_I210_SERDES 0x1537 --#define E1000_DEV_ID_I210_SGMII 0x1538 --#define E1000_DEV_ID_I210_COPPER_FLASHLESS 0x157B --#define E1000_DEV_ID_I210_SERDES_FLASHLESS 0x157C --#define E1000_DEV_ID_I211_COPPER 0x1539 --#define E1000_DEV_ID_I354_BACKPLANE_1GBPS 0x1F40 --#define E1000_DEV_ID_I354_SGMII 0x1F41 --#define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS 0x1F45 --#define E1000_DEV_ID_DH89XXCC_SGMII 0x0438 --#define E1000_DEV_ID_DH89XXCC_SERDES 0x043A --#define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C --#define E1000_DEV_ID_DH89XXCC_SFP 0x0440 -- --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD) -- --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER) -- --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER) -- --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE) --RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP) -- --/****************** Virtual IGB devices from e1000_hw.h ******************/ -- --#define E1000_DEV_ID_82576_VF 0x10CA --#define E1000_DEV_ID_82576_VF_HV 0x152D --#define E1000_DEV_ID_I350_VF 0x1520 --#define E1000_DEV_ID_I350_VF_HV 0x152F -- --RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF) --RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV) --RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF) --RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV) -- --/* -- * Undef all RTE_PCI_DEV_ID_DECL_* here. -- */ --#undef RTE_PCI_DEV_ID_DECL_IGB --#undef RTE_PCI_DEV_ID_DECL_IGBVF -diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -index 96acec5..bd803c0 100644 ---- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c -@@ -76,7 +76,7 @@ static const char igb_driver_string[] = - static const char igb_copyright[] = - "Copyright (c) 2007-2013 Intel Corporation."; - --static DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { -+DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { - { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, - { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) }, - { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, -diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c -index 66bf519..67e9b7d 100644 ---- a/lib/librte_eal/linuxapp/kni/kni_misc.c -+++ b/lib/librte_eal/linuxapp/kni/kni_misc.c -@@ -58,6 +58,7 @@ extern void ixgbe_kni_remove(struct pci_dev *pdev); - extern struct pci_device_id ixgbe_pci_tbl[]; - extern int igb_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); - extern void igb_kni_remove(struct pci_dev *pdev); -+extern struct pci_device_id igb_pci_tbl[]; - - static int kni_open(struct inode *inode, struct file *file); - static int kni_release(struct inode *inode, struct file *file); -@@ -356,15 +357,8 @@ kni_dev_remove(struct kni_dev *dev) - - if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev)) - ixgbe_kni_remove(dev->pci_dev); -- -- switch (dev->device_id) { -- #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): -- #include -+ else if (pci_match_id(igb_pci_tbl, dev->pci_dev)) - igb_kni_remove(dev->pci_dev); -- break; -- default: -- break; -- } - - if (dev->net_dev) { - unregister_netdev(dev->net_dev); -@@ -513,16 +507,10 @@ kni_ioctl_create(struct net *net, - - if (pci_match_id(ixgbe_pci_tbl, found_pci)) - ret = ixgbe_kni_probe(found_pci, &lad_dev); -- -- switch (dev_info.device_id) { -- #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): -- #include -+ else if (pci_match_id(igb_pci_tbl, found_pci)) - ret = igb_kni_probe(found_pci, &lad_dev); -- break; -- default: -+ else - ret = -1; -- break; -- } - - KNI_DBG("PCI found: pci=0x%p, lad_dev=0x%p\n", - pci, lad_dev); --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch deleted file mode 100644 index d8b04a9b..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch +++ /dev/null @@ -1,356 +0,0 @@ -From 11b4f5db07e4e48d1548671ac44f3d328523e93d Mon Sep 17 00:00:00 2001 -From: Ferruh Yigit -Date: Fri, 5 Aug 2016 15:09:29 +0100 -Subject: [PATCH 1/3] net/ixgbe: move PCI device IDs from EAL - -Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= -221fba3b987c49964aa2b3d14d7a07397bebdf73] - -PCI device ids moved from common header into ixgbe driver itself. - -KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is -only for KNI ethtool support, KNI data path is not affected. - -Signed-off-by: Ferruh Yigit -(cherry picked from commit 221fba3b987c49964aa2b3d14d7a07397bebdf73) -Signed-off-by: Rahul Kumar Gupta ---- - drivers/net/ixgbe/ixgbe_ethdev.c | 79 ++++++++++-- - lib/librte_eal/common/include/rte_pci_dev_ids.h | 156 ------------------------ - lib/librte_eal/linuxapp/kni/kni_misc.c | 17 ++- - 3 files changed, 76 insertions(+), 176 deletions(-) - -diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c -index d478a15..fb618ef 100644 ---- a/drivers/net/ixgbe/ixgbe_ethdev.c -+++ b/drivers/net/ixgbe/ixgbe_ethdev.c -@@ -429,23 +429,80 @@ static int ixgbe_dev_udp_tunnel_port_del(struct rte_eth_dev *dev, - * The set of PCI devices this driver supports - */ - static const struct rte_pci_id pci_id_ixgbe_map[] = { -- --#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, --#include "rte_pci_dev_ids.h" -- --{ .vendor_id = 0, /* sentinel */ }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_BX) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT2) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_SFP_LOM) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_CX4_DUAL_PORT) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_DA_DUAL_PORT) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_XF_LR) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4_MEZZ) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KR) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_COMBO_BACKPLANE) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_CX4) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_SFP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_RNDC) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_560FLR) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_ECNA_DP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BACKPLANE_FCOE) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_FCOE) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_EM) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF2) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF_QP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_QSFP_SF_QP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599EN_SFP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_XAUI_LOM) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_T3_LOM) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_LS) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T1) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_SFP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_10G_T) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_1G_T) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T1) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR_L) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP_N) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII_L) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_10G_T) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP_N) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T_L) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_KX4) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_KR) }, -+#ifdef RTE_NIC_BYPASS -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BYPASS) }, -+#endif -+ { .vendor_id = 0, /* sentinel */ }, - }; - -- - /* - * The set of PCI devices this driver supports (for 82599 VF) - */ - static const struct rte_pci_id pci_id_ixgbevf_map[] = { -- --#define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, --#include "rte_pci_dev_ids.h" --{ .vendor_id = 0, /* sentinel */ }, -- -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF_HV) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF_HV) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF_HV) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF_HV) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF) }, -+ { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF_HV) }, -+ { .vendor_id = 0, /* sentinel */ }, - }; - - static const struct rte_eth_desc_lim rx_desc_lim = { -diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h -index 6ec8ae8..1f9d372 100644 ---- a/lib/librte_eal/common/include/rte_pci_dev_ids.h -+++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h -@@ -65,14 +65,6 @@ - #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) - #endif - --#ifndef RTE_PCI_DEV_ID_DECL_IXGBE --#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) --#endif -- --#ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF --#define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev) --#endif -- - #ifndef PCI_VENDOR_ID_INTEL - /** Vendor ID used by Intel devices */ - #define PCI_VENDOR_ID_INTEL 0x8086 -@@ -159,128 +151,6 @@ RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES) - RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE) - RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP) - --/****************** Physical IXGBE devices from ixgbe_type.h ******************/ -- --#define IXGBE_DEV_ID_82598 0x10B6 --#define IXGBE_DEV_ID_82598_BX 0x1508 --#define IXGBE_DEV_ID_82598AF_DUAL_PORT 0x10C6 --#define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 --#define IXGBE_DEV_ID_82598AT 0x10C8 --#define IXGBE_DEV_ID_82598AT2 0x150B --#define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB --#define IXGBE_DEV_ID_82598EB_CX4 0x10DD --#define IXGBE_DEV_ID_82598_CX4_DUAL_PORT 0x10EC --#define IXGBE_DEV_ID_82598_DA_DUAL_PORT 0x10F1 --#define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM 0x10E1 --#define IXGBE_DEV_ID_82598EB_XF_LR 0x10F4 --#define IXGBE_DEV_ID_82599_KX4 0x10F7 --#define IXGBE_DEV_ID_82599_KX4_MEZZ 0x1514 --#define IXGBE_DEV_ID_82599_KR 0x1517 --#define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8 --#define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ 0x000C --#define IXGBE_DEV_ID_82599_CX4 0x10F9 --#define IXGBE_DEV_ID_82599_SFP 0x10FB --#define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 --#define IXGBE_SUBDEV_ID_82599_RNDC 0x1F72 --#define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0 --#define IXGBE_SUBDEV_ID_82599_ECNA_DP 0x0470 --#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152A --#define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 --#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 --#define IXGBE_DEV_ID_82599_SFP_SF2 0x154D --#define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A --#define IXGBE_DEV_ID_82599_QSFP_SF_QP 0x1558 --#define IXGBE_DEV_ID_82599EN_SFP 0x1557 --#define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC --#define IXGBE_DEV_ID_82599_T3_LOM 0x151C --#define IXGBE_DEV_ID_82599_LS 0x154F --#define IXGBE_DEV_ID_X540T 0x1528 --#define IXGBE_DEV_ID_X540T1 0x1560 --#define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC --#define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD --#define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE --#define IXGBE_DEV_ID_X550T 0x1563 --#define IXGBE_DEV_ID_X550T1 0x15D1 --#define IXGBE_DEV_ID_X550EM_A_KR 0x15C2 --#define IXGBE_DEV_ID_X550EM_A_KR_L 0x15C3 --#define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4 --#define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6 --#define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7 --#define IXGBE_DEV_ID_X550EM_A_10G_T 0x15C8 --#define IXGBE_DEV_ID_X550EM_A_QSFP 0x15CA --#define IXGBE_DEV_ID_X550EM_A_QSFP_N 0x15CC --#define IXGBE_DEV_ID_X550EM_A_SFP 0x15CE --#define IXGBE_DEV_ID_X550EM_A_1G_T 0x15E4 --#define IXGBE_DEV_ID_X550EM_A_1G_T_L 0x15E5 --#define IXGBE_DEV_ID_X550EM_X_KX4 0x15AA --#define IXGBE_DEV_ID_X550EM_X_KR 0x15AB -- --#ifdef RTE_NIC_BYPASS --#define IXGBE_DEV_ID_82599_BYPASS 0x155D --#endif -- --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ -- IXGBE_DEV_ID_82598AF_SINGLE_PORT) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ -- IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ -- IXGBE_DEV_ID_82599_COMBO_BACKPLANE) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ -- IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T1) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR_L) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_10G_T) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP_N) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4) --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR) -- --#ifdef RTE_NIC_BYPASS --RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS) --#endif -- - /****************** Virtual IGB devices from e1000_hw.h ******************/ - - #define E1000_DEV_ID_82576_VF 0x10CA -@@ -293,34 +163,8 @@ RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV) - RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF) - RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV) - --/****************** Virtual IXGBE devices from ixgbe_type.h ******************/ -- --#define IXGBE_DEV_ID_82599_VF 0x10ED --#define IXGBE_DEV_ID_82599_VF_HV 0x152E --#define IXGBE_DEV_ID_X540_VF 0x1515 --#define IXGBE_DEV_ID_X540_VF_HV 0x1530 --#define IXGBE_DEV_ID_X550_VF_HV 0x1564 --#define IXGBE_DEV_ID_X550_VF 0x1565 --#define IXGBE_DEV_ID_X550EM_A_VF 0x15C5 --#define IXGBE_DEV_ID_X550EM_A_VF_HV 0x15B4 --#define IXGBE_DEV_ID_X550EM_X_VF 0x15A8 --#define IXGBE_DEV_ID_X550EM_X_VF_HV 0x15A9 -- --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF_HV) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF) --RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV) -- - /* - * Undef all RTE_PCI_DEV_ID_DECL_* here. - */ - #undef RTE_PCI_DEV_ID_DECL_IGB - #undef RTE_PCI_DEV_ID_DECL_IGBVF --#undef RTE_PCI_DEV_ID_DECL_IXGBE --#undef RTE_PCI_DEV_ID_DECL_IXGBEVF -diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c -index 59d15ca..66bf519 100644 ---- a/lib/librte_eal/linuxapp/kni/kni_misc.c -+++ b/lib/librte_eal/linuxapp/kni/kni_misc.c -@@ -55,6 +55,7 @@ extern void kni_set_ethtool_ops(struct net_device *netdev); - - extern int ixgbe_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); - extern void ixgbe_kni_remove(struct pci_dev *pdev); -+extern struct pci_device_id ixgbe_pci_tbl[]; - extern int igb_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); - extern void igb_kni_remove(struct pci_dev *pdev); - -@@ -353,15 +354,14 @@ kni_dev_remove(struct kni_dev *dev) - if (!dev) - return -ENODEV; - -+ if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev)) -+ ixgbe_kni_remove(dev->pci_dev); -+ - switch (dev->device_id) { - #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): - #include - igb_kni_remove(dev->pci_dev); - break; -- #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) case (dev): -- #include -- ixgbe_kni_remove(dev->pci_dev); -- break; - default: - break; - } -@@ -510,16 +510,15 @@ kni_ioctl_create(struct net *net, - (PCI_SLOT(pci->devfn) == dev_info.devid) && - (PCI_FUNC(pci->devfn) == dev_info.function)) { - found_pci = pci; -+ -+ if (pci_match_id(ixgbe_pci_tbl, found_pci)) -+ ret = ixgbe_kni_probe(found_pci, &lad_dev); -+ - switch (dev_info.device_id) { - #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): - #include - ret = igb_kni_probe(found_pci, &lad_dev); - break; -- #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) \ -- case (dev): -- #include -- ret = ixgbe_kni_probe(found_pci, &lad_dev); -- break; - default: - ret = -1; - break; --- -1.9.1 - diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk_16.07.bb b/meta-isg/common/recipes-extended/dpdk/dpdk_16.07.bb deleted file mode 100644 index 55729cd9..00000000 --- a/meta-isg/common/recipes-extended/dpdk/dpdk_16.07.bb +++ /dev/null @@ -1,16 +0,0 @@ -include dpdk.inc - -SRC_URI += "\ - file://dpdk-16.04-add-config-variable-to-enable-disable-dpdk_qat.patch \ - file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \ - " - -SRC_URI[dpdk.md5sum] = "4afdc7951e21ff878a85ecade7f6f488" -SRC_URI[dpdk.sha256sum] = "cc982455a74357e465112bede5c29451b6eeb35f8c1c0dcea280dd3e7829f0e9" - -export EXAMPLES_BUILD_DIR = "${RTE_TARGET}" -export ARCHDIR = "generic" - -do_configure_prepend () { - sed -e "s#CONFIG_RTE_LIBRTE_POWER=y#CONFIG_RTE_LIBRTE_POWER=${CONFIG_EXAMPLE_VM_POWER_MANAGER}#" -i ${S}/config/common_linuxapp -} -- cgit v1.2.3-54-g00ecf