From: Albert Date: Fri, 26 Aug 2016 19:13:04 +0000 (+0300) Subject: Update i40e-dkms to the latest 1.5.19 stable version for Ubuntu X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=8140778945b8c25cf85fb200aa9507da357db803;p=packages%2Ftrusty%2Fi40e-dkms.git Update i40e-dkms to the latest 1.5.19 stable version for Ubuntu Change-Id: I065fcfe8d82b468d4ba65a1f336a621a9a2f68a1 Closes-Bug: #1617425 --- diff --git a/debian/changelog b/debian/changelog index 4fab518..8819fb0 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +i40e-dkms (1.5.19-1~u14.04+mos1) MOS; urgency=low + + * Update the driver i40e version up to 1.5.19 + + -- Mirantis Openstack Linux Team Fri, 26 Aug 2016 22:02:07 +0200 + -- The sources were taken from http://sourceforge.net/projects/e1000/files/i40e%20stable/1.5.19/ + i40e-dkms (1.5.18-1~u14.04+mos1) MOS 10.0; urgency=low * Update the driver i40e version up to 1.5.18 diff --git a/debian/prerm b/debian/prerm index d4b9bc1..b130c79 100755 --- a/debian/prerm +++ b/debian/prerm @@ -1,7 +1,7 @@ #!/bin/sh NAME=i40e -VERSION=1.5.18 +VERSION=1.5.19 set -e diff --git a/debian/rules b/debian/rules index b054023..179c96a 100755 --- a/debian/rules +++ b/debian/rules @@ -6,7 +6,7 @@ DEB_NAME=i40e NAME=i40e -VERSION=1.5.18 +VERSION=1.5.19 configure: configure-stamp configure-stamp: diff --git a/i40e-dkms/i40e-1.5.18/SUMS b/i40e-dkms/i40e-1.5.18/SUMS deleted file mode 100644 index 290f44f..0000000 --- a/i40e-dkms/i40e-1.5.18/SUMS +++ /dev/null @@ -1,46 +0,0 @@ -36453 5 i40e-1.5.18/pci.updates -33977 7 i40e-1.5.18/scripts/set_irq_affinity -20875 2 i40e-1.5.18/scripts/dump_tables -05363 3 i40e-1.5.18/i40e.7 -24081 6 i40e-1.5.18/src/i40e_diag.c -09578 46 i40e-1.5.18/src/i40e_nvm.c -64861 6 i40e-1.5.18/src/i40e_virtchnl_pf.h -22166 6 i40e-1.5.18/src/i40e_lan_hmc.h -48944 84 i40e-1.5.18/src/i40e_debugfs.c -14633 9 i40e-1.5.18/src/i40e_dcb_nl.c -58183 4 i40e-1.5.18/src/i40e_fcoe.h -63581 11 i40e-1.5.18/src/i40e_hmc.c -29827 72 i40e-1.5.18/src/i40e_adminq_cmd.h -10518 37 i40e-1.5.18/src/i40e_dcb.c -27208 30 i40e-1.5.18/src/i40e_adminq.c -17176 8 i40e-1.5.18/src/common.mk -54442 78 i40e-1.5.18/src/i40e_virtchnl_pf.c -63972 8 i40e-1.5.18/src/i40e_hmc.h -27994 7 i40e-1.5.18/src/Makefile -51547 23 i40e-1.5.18/src/i40e_ptp.c -59117 2 i40e-1.5.18/src/i40e_diag.h -17075 47 i40e-1.5.18/src/i40e_fcoe.c -30612 55 i40e-1.5.18/src/i40e_type.h -21794 54 i40e-1.5.18/src/kcompat.c -44588 1 i40e-1.5.18/src/Module.supported -52213 24 i40e-1.5.18/src/i40e_prototype.h -20223 194 i40e-1.5.18/src/i40e_common.c -07981 3 i40e-1.5.18/src/i40e_alloc.h -06064 364 i40e-1.5.18/src/i40e_register.h -10029 16 i40e-1.5.18/src/i40e_txrx.h -49924 145 i40e-1.5.18/src/kcompat.h -33326 135 i40e-1.5.18/src/i40e_ethtool.c -61620 91 i40e-1.5.18/src/i40e_txrx.c -20253 5 i40e-1.5.18/src/i40e_adminq.h -56064 7 i40e-1.5.18/src/i40e_dcb.h -63399 41 i40e-1.5.18/src/i40e_lan_hmc.c -60171 4 i40e-1.5.18/src/i40e_status.h -60497 36 i40e-1.5.18/src/i40e.h -43933 334 i40e-1.5.18/src/i40e_main.c -57941 4 i40e-1.5.18/src/i40e_helper.h -23798 14 i40e-1.5.18/src/i40e_virtchnl.h -32236 2 i40e-1.5.18/src/i40e_devids.h -58990 5 i40e-1.5.18/src/i40e_osdep.h -64761 10 i40e-1.5.18/i40e.spec -02733 18 i40e-1.5.18/COPYING -65334 46 i40e-1.5.18/README diff --git a/i40e-dkms/i40e-1.5.18/COPYING b/i40e-dkms/i40e-1.5.19/COPYING old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/COPYING rename to i40e-dkms/i40e-1.5.19/COPYING diff --git a/i40e-dkms/i40e-1.5.18/README b/i40e-dkms/i40e-1.5.19/README similarity index 100% rename from i40e-dkms/i40e-1.5.18/README rename to i40e-dkms/i40e-1.5.19/README diff --git a/i40e-dkms/i40e-1.5.19/SUMS b/i40e-dkms/i40e-1.5.19/SUMS new file mode 100755 index 0000000..7eb81df --- /dev/null +++ b/i40e-dkms/i40e-1.5.19/SUMS @@ -0,0 +1,46 @@ +36453 5 i40e-1.5.19/pci.updates +57941 4 i40e-1.5.19/src/i40e_helper.h +44588 1 i40e-1.5.19/src/Module.supported +29827 72 i40e-1.5.19/src/i40e_adminq_cmd.h +47545 149 i40e-1.5.19/src/kcompat.h +48944 84 i40e-1.5.19/src/i40e_debugfs.c +61620 91 i40e-1.5.19/src/i40e_txrx.c +22166 6 i40e-1.5.19/src/i40e_lan_hmc.h +09578 46 i40e-1.5.19/src/i40e_nvm.c +27994 7 i40e-1.5.19/src/Makefile +27208 30 i40e-1.5.19/src/i40e_adminq.c +07981 3 i40e-1.5.19/src/i40e_alloc.h +54442 78 i40e-1.5.19/src/i40e_virtchnl_pf.c +56064 7 i40e-1.5.19/src/i40e_dcb.h +59117 2 i40e-1.5.19/src/i40e_diag.h +52213 24 i40e-1.5.19/src/i40e_prototype.h +51547 23 i40e-1.5.19/src/i40e_ptp.c +17294 10 i40e-1.5.19/src/common.mk +10518 37 i40e-1.5.19/src/i40e_dcb.c +58990 5 i40e-1.5.19/src/i40e_osdep.h +14633 9 i40e-1.5.19/src/i40e_dcb_nl.c +25797 334 i40e-1.5.19/src/i40e_main.c +06064 364 i40e-1.5.19/src/i40e_register.h +36665 54 i40e-1.5.19/src/kcompat.c +20253 5 i40e-1.5.19/src/i40e_adminq.h +64861 6 i40e-1.5.19/src/i40e_virtchnl_pf.h +17075 47 i40e-1.5.19/src/i40e_fcoe.c +63972 8 i40e-1.5.19/src/i40e_hmc.h +30612 55 i40e-1.5.19/src/i40e_type.h +13567 135 i40e-1.5.19/src/i40e_ethtool.c +60171 4 i40e-1.5.19/src/i40e_status.h +23798 14 i40e-1.5.19/src/i40e_virtchnl.h +24081 6 i40e-1.5.19/src/i40e_diag.c +32236 2 i40e-1.5.19/src/i40e_devids.h +63581 11 i40e-1.5.19/src/i40e_hmc.c +20223 194 i40e-1.5.19/src/i40e_common.c +63399 41 i40e-1.5.19/src/i40e_lan_hmc.c +58183 4 i40e-1.5.19/src/i40e_fcoe.h +60497 36 i40e-1.5.19/src/i40e.h +10029 16 i40e-1.5.19/src/i40e_txrx.h +33977 7 i40e-1.5.19/scripts/set_irq_affinity +20875 2 i40e-1.5.19/scripts/dump_tables +02733 18 i40e-1.5.19/COPYING +52431 10 i40e-1.5.19/i40e.spec +65334 46 i40e-1.5.19/README +05363 3 i40e-1.5.19/i40e.7 diff --git a/i40e-dkms/i40e-1.5.18/dkms.conf b/i40e-dkms/i40e-1.5.19/dkms.conf old mode 100644 new mode 100755 similarity index 90% rename from i40e-dkms/i40e-1.5.18/dkms.conf rename to i40e-dkms/i40e-1.5.19/dkms.conf index 0628ac6..0e13a59 --- a/i40e-dkms/i40e-1.5.18/dkms.conf +++ b/i40e-dkms/i40e-1.5.19/dkms.conf @@ -4,5 +4,5 @@ BUILT_MODULE_NAME[0]=i40e BUILT_MODULE_LOCATION[0]=src/ DEST_MODULE_LOCATION[0]="/updates" PACKAGE_NAME=i40e-dkms -PACKAGE_VERSION=1.5.18 +PACKAGE_VERSION=1.5.19 REMAKE_INITRD=yes diff --git a/i40e-dkms/i40e-1.5.18/i40e.7 b/i40e-dkms/i40e-1.5.19/i40e.7 similarity index 100% rename from i40e-dkms/i40e-1.5.18/i40e.7 rename to i40e-dkms/i40e-1.5.19/i40e.7 diff --git a/i40e-dkms/i40e-1.5.18/i40e.spec b/i40e-dkms/i40e-1.5.19/i40e.spec old mode 100644 new mode 100755 similarity index 99% rename from i40e-dkms/i40e-1.5.18/i40e.spec rename to i40e-dkms/i40e-1.5.19/i40e.spec index 118d304..3228d9a --- a/i40e-dkms/i40e-1.5.18/i40e.spec +++ b/i40e-dkms/i40e-1.5.19/i40e.spec @@ -1,6 +1,6 @@ Name: i40e Summary: Intel(R) Ethernet Connection XL710 Linux Driver -Version: 1.5.18 +Version: 1.5.19 Release: 1 Source: %{name}-%{version}.tar.gz Vendor: Intel Corporation diff --git a/i40e-dkms/i40e-1.5.18/pci.updates b/i40e-dkms/i40e-1.5.19/pci.updates old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/pci.updates rename to i40e-dkms/i40e-1.5.19/pci.updates diff --git a/i40e-dkms/i40e-1.5.18/scripts/dump_tables b/i40e-dkms/i40e-1.5.19/scripts/dump_tables similarity index 100% rename from i40e-dkms/i40e-1.5.18/scripts/dump_tables rename to i40e-dkms/i40e-1.5.19/scripts/dump_tables diff --git a/i40e-dkms/i40e-1.5.18/scripts/set_irq_affinity b/i40e-dkms/i40e-1.5.19/scripts/set_irq_affinity similarity index 100% rename from i40e-dkms/i40e-1.5.18/scripts/set_irq_affinity rename to i40e-dkms/i40e-1.5.19/scripts/set_irq_affinity diff --git a/i40e-dkms/i40e-1.5.18/src/Makefile b/i40e-dkms/i40e-1.5.19/src/Makefile old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/Makefile rename to i40e-dkms/i40e-1.5.19/src/Makefile diff --git a/i40e-dkms/i40e-1.5.18/src/Module.supported b/i40e-dkms/i40e-1.5.19/src/Module.supported old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/Module.supported rename to i40e-dkms/i40e-1.5.19/src/Module.supported diff --git a/i40e-dkms/i40e-1.5.18/src/common.mk b/i40e-dkms/i40e-1.5.19/src/common.mk old mode 100644 new mode 100755 similarity index 78% rename from i40e-dkms/i40e-1.5.18/src/common.mk rename to i40e-dkms/i40e-1.5.19/src/common.mk index 8e129b5..1823a3a --- a/i40e-dkms/i40e-1.5.18/src/common.mk +++ b/i40e-dkms/i40e-1.5.19/src/common.mk @@ -22,6 +22,14 @@ ################################################################################ # common Makefile rules useful for out-of-tree Linux driver builds +# +# Usage: include common.mk +# +# After including, you probably want to add a minimum_kver_check call +# +# Required Variables: +# DRIVER +# -- Set to the lowercase driver name ##################### # Helpful functions # @@ -45,16 +53,12 @@ cmd_depmod = /sbin/depmod $(if ${SYSTEM_MAP_FILE},-e -F ${SYSTEM_MAP_FILE}) \ -a ${KVER} ################ -# initrd Macro # +# dracut Macro # ################ cmd_initrd := $(shell \ if which dracut > /dev/null 2>&1 ; then \ echo "dracut --force"; \ - elif which mkinitrd > /dev/null 2>&1 ; then \ - echo "mkinitrd"; \ - elif which update-initramfs > /dev/null 2>&1 ; then \ - echo "update-initramfs -u"; \ fi ) ##################### @@ -230,3 +234,60 @@ ifeq (,${MANDIR}) # fallback to /usr/man MANDIR := /usr/man endif + +#################### +# CCFLAGS variable # +#################### + +# set correct CCFLAGS variable for kernels older than 2.6.24 +ifeq (0,$(shell [ ${KVER_CODE} -lt $(call get_kvercode,2,6,24) ]; echo $$?)) +CCFLAGS_VAR := EXTRA_CFLAGS +else +CCFLAGS_VAR := ccflags-y +endif + +################# +# KBUILD_OUTPUT # +################# + +# Only set KBUILD_OUTPUT if KOBJ differs from KSRC +ifneq (${KSRC},${KOBJ}) +export KBUILD_OUTPUT ?= ${KOBJ} +endif + +############################ +# Module Install Directory # +############################ + +# Default to using updates/drivers/net/ethernet/intel/ path, since depmod since +# v3.1 defaults to checking updates folder first, and only checking kernels/ +# and extra afterwards. We use updates instead of kernel/* due to desire to +# prevent over-writing built-in modules files. +export INSTALL_MOD_DIR ?= updates/drivers/net/ethernet/intel/${DRIVER} + +###################### +# Kernel Build Macro # +###################### + +# kernel build function +# ${1} is the kernel build target +# ${2} may contain any extra rules to pass directly to the sub-make process +# +# This function is expected to be executed by +# @+$(call kernelbuild,,) +# from within a Makefile recipe. +# +# The following variables are expected to be defined for its use: +# +# *) GCC_I_SYS -- if set it will enable use of gcc-i-sys.sh wrapper to use -isystem +# *) CCFLAGS_VAR -- the CCFLAGS variable to set extra CFLAGS +# *) EXTRA_CFLAGS -- a set of extra CFLAGS to pass into the ccflags-y variable +# *) KSRC -- the location of the kernel source tree to build against +# *) DRIVER_UPPERCASE -- the uppercase name of the kernel module, set from DRIVER +# +kernelbuild = ${MAKE} $(if ${GCC_I_SYS},CC="${GCC_I_SYS}") \ + ${CCFLAGS_VAR}="${EXTRA_CFLAGS}" \ + -C "${KSRC}" \ + CONFIG_${DRIVER_UPPERCASE}=m \ + M="${CURDIR}" \ + ${2} ${1}; diff --git a/i40e-dkms/i40e-1.5.18/src/i40e.h b/i40e-dkms/i40e-1.5.19/src/i40e.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e.h rename to i40e-dkms/i40e-1.5.19/src/i40e.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_adminq.c b/i40e-dkms/i40e-1.5.19/src/i40e_adminq.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_adminq.c rename to i40e-dkms/i40e-1.5.19/src/i40e_adminq.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_adminq.h b/i40e-dkms/i40e-1.5.19/src/i40e_adminq.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_adminq.h rename to i40e-dkms/i40e-1.5.19/src/i40e_adminq.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_adminq_cmd.h b/i40e-dkms/i40e-1.5.19/src/i40e_adminq_cmd.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_adminq_cmd.h rename to i40e-dkms/i40e-1.5.19/src/i40e_adminq_cmd.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_alloc.h b/i40e-dkms/i40e-1.5.19/src/i40e_alloc.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_alloc.h rename to i40e-dkms/i40e-1.5.19/src/i40e_alloc.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_common.c b/i40e-dkms/i40e-1.5.19/src/i40e_common.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_common.c rename to i40e-dkms/i40e-1.5.19/src/i40e_common.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_dcb.c b/i40e-dkms/i40e-1.5.19/src/i40e_dcb.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_dcb.c rename to i40e-dkms/i40e-1.5.19/src/i40e_dcb.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_dcb.h b/i40e-dkms/i40e-1.5.19/src/i40e_dcb.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_dcb.h rename to i40e-dkms/i40e-1.5.19/src/i40e_dcb.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_dcb_nl.c b/i40e-dkms/i40e-1.5.19/src/i40e_dcb_nl.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_dcb_nl.c rename to i40e-dkms/i40e-1.5.19/src/i40e_dcb_nl.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_debugfs.c b/i40e-dkms/i40e-1.5.19/src/i40e_debugfs.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_debugfs.c rename to i40e-dkms/i40e-1.5.19/src/i40e_debugfs.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_devids.h b/i40e-dkms/i40e-1.5.19/src/i40e_devids.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_devids.h rename to i40e-dkms/i40e-1.5.19/src/i40e_devids.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_diag.c b/i40e-dkms/i40e-1.5.19/src/i40e_diag.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_diag.c rename to i40e-dkms/i40e-1.5.19/src/i40e_diag.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_diag.h b/i40e-dkms/i40e-1.5.19/src/i40e_diag.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_diag.h rename to i40e-dkms/i40e-1.5.19/src/i40e_diag.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_ethtool.c b/i40e-dkms/i40e-1.5.19/src/i40e_ethtool.c old mode 100644 new mode 100755 similarity index 99% rename from i40e-dkms/i40e-1.5.18/src/i40e_ethtool.c rename to i40e-dkms/i40e-1.5.19/src/i40e_ethtool.c index 1456ac5..a7d3378 --- a/i40e-dkms/i40e-1.5.18/src/i40e_ethtool.c +++ b/i40e-dkms/i40e-1.5.19/src/i40e_ethtool.c @@ -4162,11 +4162,14 @@ static int i40e_get_rxfh_indir(struct net_device *netdev, u32 *indir) int ret; u16 i; +#if defined(ETHTOOL_GRSSH) && !defined(HAVE_ETHTOOL_GSRSSH) #ifdef HAVE_RXFH_HASHFUNC if (hfunc) *hfunc = ETH_RSS_HASH_TOP; #endif +#endif /* ETHTOOl_GRSSH */ + if (!indir) return 0; @@ -4262,10 +4265,14 @@ static int i40e_set_rxfh_indir(struct net_device *netdev, const u32 *indir) u8 *seed = NULL; u16 i; + +#if defined(ETHTOOL_SRSSH) && !defined(HAVE_ETHTOOL_GSRSSH) #ifdef HAVE_RXFH_HASHFUNC if (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP) return -EOPNOTSUPP; #endif +#endif /* ETHTOOl_SRSSH */ + if (!indir) return 0; diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_fcoe.c b/i40e-dkms/i40e-1.5.19/src/i40e_fcoe.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_fcoe.c rename to i40e-dkms/i40e-1.5.19/src/i40e_fcoe.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_fcoe.h b/i40e-dkms/i40e-1.5.19/src/i40e_fcoe.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_fcoe.h rename to i40e-dkms/i40e-1.5.19/src/i40e_fcoe.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_helper.h b/i40e-dkms/i40e-1.5.19/src/i40e_helper.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_helper.h rename to i40e-dkms/i40e-1.5.19/src/i40e_helper.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_hmc.c b/i40e-dkms/i40e-1.5.19/src/i40e_hmc.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_hmc.c rename to i40e-dkms/i40e-1.5.19/src/i40e_hmc.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_hmc.h b/i40e-dkms/i40e-1.5.19/src/i40e_hmc.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_hmc.h rename to i40e-dkms/i40e-1.5.19/src/i40e_hmc.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_lan_hmc.c b/i40e-dkms/i40e-1.5.19/src/i40e_lan_hmc.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_lan_hmc.c rename to i40e-dkms/i40e-1.5.19/src/i40e_lan_hmc.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_lan_hmc.h b/i40e-dkms/i40e-1.5.19/src/i40e_lan_hmc.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_lan_hmc.h rename to i40e-dkms/i40e-1.5.19/src/i40e_lan_hmc.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_main.c b/i40e-dkms/i40e-1.5.19/src/i40e_main.c old mode 100644 new mode 100755 similarity index 99% rename from i40e-dkms/i40e-1.5.18/src/i40e_main.c rename to i40e-dkms/i40e-1.5.19/src/i40e_main.c index d0051cf..dc6b95a --- a/i40e-dkms/i40e-1.5.18/src/i40e_main.c +++ b/i40e-dkms/i40e-1.5.19/src/i40e_main.c @@ -51,7 +51,7 @@ static const char i40e_driver_string[] = #define DRV_VERSION_MAJOR 1 #define DRV_VERSION_MINOR 5 -#define DRV_VERSION_BUILD 18 +#define DRV_VERSION_BUILD 19 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \ __stringify(DRV_VERSION_MINOR) "." \ __stringify(DRV_VERSION_BUILD) \ diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_nvm.c b/i40e-dkms/i40e-1.5.19/src/i40e_nvm.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_nvm.c rename to i40e-dkms/i40e-1.5.19/src/i40e_nvm.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_osdep.h b/i40e-dkms/i40e-1.5.19/src/i40e_osdep.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_osdep.h rename to i40e-dkms/i40e-1.5.19/src/i40e_osdep.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_prototype.h b/i40e-dkms/i40e-1.5.19/src/i40e_prototype.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_prototype.h rename to i40e-dkms/i40e-1.5.19/src/i40e_prototype.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_ptp.c b/i40e-dkms/i40e-1.5.19/src/i40e_ptp.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_ptp.c rename to i40e-dkms/i40e-1.5.19/src/i40e_ptp.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_register.h b/i40e-dkms/i40e-1.5.19/src/i40e_register.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_register.h rename to i40e-dkms/i40e-1.5.19/src/i40e_register.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_status.h b/i40e-dkms/i40e-1.5.19/src/i40e_status.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_status.h rename to i40e-dkms/i40e-1.5.19/src/i40e_status.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_txrx.c b/i40e-dkms/i40e-1.5.19/src/i40e_txrx.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_txrx.c rename to i40e-dkms/i40e-1.5.19/src/i40e_txrx.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_txrx.h b/i40e-dkms/i40e-1.5.19/src/i40e_txrx.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_txrx.h rename to i40e-dkms/i40e-1.5.19/src/i40e_txrx.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_type.h b/i40e-dkms/i40e-1.5.19/src/i40e_type.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_type.h rename to i40e-dkms/i40e-1.5.19/src/i40e_type.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_virtchnl.h b/i40e-dkms/i40e-1.5.19/src/i40e_virtchnl.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_virtchnl.h rename to i40e-dkms/i40e-1.5.19/src/i40e_virtchnl.h diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_virtchnl_pf.c b/i40e-dkms/i40e-1.5.19/src/i40e_virtchnl_pf.c old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_virtchnl_pf.c rename to i40e-dkms/i40e-1.5.19/src/i40e_virtchnl_pf.c diff --git a/i40e-dkms/i40e-1.5.18/src/i40e_virtchnl_pf.h b/i40e-dkms/i40e-1.5.19/src/i40e_virtchnl_pf.h old mode 100644 new mode 100755 similarity index 100% rename from i40e-dkms/i40e-1.5.18/src/i40e_virtchnl_pf.h rename to i40e-dkms/i40e-1.5.19/src/i40e_virtchnl_pf.h diff --git a/i40e-dkms/i40e-1.5.18/src/kcompat.c b/i40e-dkms/i40e-1.5.19/src/kcompat.c old mode 100644 new mode 100755 similarity index 99% rename from i40e-dkms/i40e-1.5.18/src/kcompat.c rename to i40e-dkms/i40e-1.5.19/src/kcompat.c index 9459c1d..1a31719 --- a/i40e-dkms/i40e-1.5.18/src/kcompat.c +++ b/i40e-dkms/i40e-1.5.19/src/kcompat.c @@ -697,7 +697,7 @@ int _kc_skb_pad(struct sk_buff *skb, int pad) ntail = skb->data_len + pad - (skb->end - skb->tail); if (likely(skb_cloned(skb) || ntail > 0)) { - if (pskb_expand_head(skb, 0, ntail, GFP_ATOMIC)); + if (pskb_expand_head(skb, 0, ntail, GFP_ATOMIC)) goto free_skb; } @@ -780,8 +780,7 @@ void _kc_free_netdev(struct net_device *netdev) { struct adapter_struct *adapter = netdev_priv(netdev); - if (adapter->config_space != NULL) - kfree(adapter->config_space); + kfree(adapter->config_space); #ifdef CONFIG_SYSFS if (netdev->reg_state == NETREG_UNINITIALIZED) { kfree((char *)netdev - netdev->padded); diff --git a/i40e-dkms/i40e-1.5.18/src/kcompat.h b/i40e-dkms/i40e-1.5.19/src/kcompat.h old mode 100644 new mode 100755 similarity index 97% rename from i40e-dkms/i40e-1.5.18/src/kcompat.h rename to i40e-dkms/i40e-1.5.19/src/kcompat.h index 9c9f3ca..7fa0f4b --- a/i40e-dkms/i40e-1.5.18/src/kcompat.h +++ b/i40e-dkms/i40e-1.5.19/src/kcompat.h @@ -349,6 +349,34 @@ struct _kc_vlan_hdr { #define VLAN_PRIO_SHIFT 13 #endif +#ifndef PCI_EXP_LNKSTA_CLS_2_5GB +#define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 +#endif + +#ifndef PCI_EXP_LNKSTA_CLS_5_0GB +#define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 +#endif + +#ifndef PCI_EXP_LNKSTA_CLS_8_0GB +#define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 +#endif + +#ifndef PCI_EXP_LNKSTA_NLW_X1 +#define PCI_EXP_LNKSTA_NLW_X1 0x0010 +#endif + +#ifndef PCI_EXP_LNKSTA_NLW_X2 +#define PCI_EXP_LNKSTA_NLW_X2 0x0020 +#endif + +#ifndef PCI_EXP_LNKSTA_NLW_X4 +#define PCI_EXP_LNKSTA_NLW_X4 0x0040 +#endif + +#ifndef PCI_EXP_LNKSTA_NLW_X8 +#define PCI_EXP_LNKSTA_NLW_X8 0x0080 +#endif + #ifndef __GFP_COLD #define __GFP_COLD 0 #endif @@ -722,6 +750,16 @@ struct _kc_ethtool_pauseparam { #define RHEL_RELEASE_CODE 0 #endif +/* RHEL 7 didn't backport the parameter change in + * create_singlethread_workqueue. + * If/when RH corrects this we will want to tighten up the version check. + */ +#if (RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,0)) +#undef create_singlethread_workqueue +#define create_singlethread_workqueue(name) \ + alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM, name) +#endif + /* Ubuntu Release ABI is the 4th digit of their kernel version. You can find * it in /usr/src/linux/$(uname -r)/include/generated/utsrelease.h for new * enough versions of Ubuntu. Otherwise you can simply see it in the output of @@ -751,7 +789,8 @@ struct _kc_ethtool_pauseparam { * ABI value. Otherwise, it becomes impossible to correlate ABI to version for * ordering checks. */ -#define UBUNTU_VERSION_CODE (((LINUX_VERSION_CODE & ~0xFF) << 8) + (UTS_UBUNTU_RELEASE_ABI)) +#define UBUNTU_VERSION_CODE (((~0xFF & LINUX_VERSION_CODE) << 8) + \ + UTS_UBUNTU_RELEASE_ABI) #if UTS_UBUNTU_RELEASE_ABI > 255 #error UTS_UBUNTU_RELEASE_ABI is too large... @@ -3278,6 +3317,11 @@ extern int _kc_ethtool_op_set_flags(struct net_device *, u32, u32); extern u32 _kc_ethtool_op_get_flags(struct net_device *); #define ethtool_op_get_flags _kc_ethtool_op_get_flags +enum { + WQ_UNBOUND = 0, + WQ_RESCUER = 0, +}; + #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS #ifdef NET_IP_ALIGN #undef NET_IP_ALIGN @@ -3353,6 +3397,7 @@ static inline void skb_tx_timestamp(struct sk_buff __always_unused *skb) /*****************************************************************************/ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) ) +#define HAVE_NON_CONST_PCI_DRIVER_NAME #ifndef netif_set_real_num_tx_queues static inline int _kc_netif_set_real_num_tx_queues(struct net_device *dev, unsigned int txq) @@ -3385,6 +3430,8 @@ static inline int __kc_netif_set_real_num_rx_queues(struct net_device __always_u #define ETH_FLAG_RXVLAN (1 << 8) #endif /* ETH_FLAG_RXVLAN */ +#define WQ_MEM_RECLAIM WQ_RESCUER + static inline void _kc_skb_checksum_none_assert(struct sk_buff *skb) { WARN_ON(skb->ip_summed != CHECKSUM_NONE); @@ -3786,6 +3833,46 @@ static inline void __kc_skb_frag_unref(skb_frag_t *frag) #endif /*****************************************************************************/ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) ) +/* NOTE: the order of parameters to _kc_alloc_workqueue() is different than + * alloc_workqueue() to avoid compiler warning from -Wvarargs + */ +static inline struct workqueue_struct * __attribute__ ((format(printf, 3, 4))) +_kc_alloc_workqueue(__maybe_unused int flags, __maybe_unused int max_active, + const char *fmt, ...) +{ + struct workqueue_struct *wq; + va_list args, temp; + unsigned int len; + char *p; + + va_start(args, fmt); + va_copy(temp, args); + len = vsnprintf(NULL, 0, fmt, temp); + va_end(temp); + + p = kmalloc(len + 1, GFP_KERNEL); + if (!p) { + va_end(args); + return NULL; + } + + vsnprintf(p, len + 1, fmt, args); + va_end(args); +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) ) + wq = create_workqueue(p); +#else + wq = alloc_workqueue(p, flags, max_active); +#endif + kfree(p); + + return wq; +} +#ifdef alloc_workqueue +#undef alloc_workqueue +#endif +#define alloc_workqueue(fmt, flags, max_active, args...) \ + _kc_alloc_workqueue(flags, max_active, fmt, ##args) + #if !(RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,5)) typedef u32 netdev_features_t; #endif @@ -4054,8 +4141,7 @@ static inline u8 pci_pcie_type(struct pci_dev *pdev) u16 reg16; pos = pci_find_capability(pdev, PCI_CAP_ID_EXP); - if (!pos) - BUG(); + BUG_ON(!pos); pci_read_config_word(pdev, pos + PCI_EXP_FLAGS, ®16); return (reg16 & PCI_EXP_FLAGS_TYPE) >> 4; } @@ -4367,7 +4453,9 @@ extern int __kc_pcie_get_minimum_link(struct pci_dev *dev, #if ( SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(12,0,0)) #define HAVE_NDO_SELECT_QUEUE_ACCEL_FALLBACK #endif +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0) ) #define HAVE_VXLAN_RX_OFFLOAD +#endif /* < 4.8.0 */ #define HAVE_NDO_GET_PHYS_PORT_ID #endif /* >= 3.12.0 */ @@ -4386,6 +4474,10 @@ extern int __kc_dma_set_mask_and_coherent(struct device *dev, u64 mask); #undef HAVE_STRUCT_PAGE_PFMEMALLOC #define HAVE_DCBNL_OPS_SETAPP_RETURN_INT #endif +#ifndef list_next_entry +#define list_next_entry(pos, member) \ + list_entry((pos)->member.next, typeof(*(pos)), member) +#endif #else /* >= 3.13.0 */ #define HAVE_VXLAN_CHECKS @@ -4590,6 +4682,7 @@ static inline void __kc_dev_mc_unsync(struct net_device __maybe_unused *dev, #endif #else +#define HAVE_PCI_ERROR_HANDLER_RESET_NOTIFY #define HAVE_NDO_SET_VF_MIN_MAX_TX_RATE #endif /* 3.16.0 */ @@ -4736,13 +4829,20 @@ static inline struct sk_buff *__kc_napi_alloc_skb(struct napi_struct *napi, unsi #define __napi_alloc_skb(napi,len,mask) __kc_napi_alloc_skb(napi,len) #endif /* SKB_ALLOC_NAPI */ #define HAVE_CONFIG_PM_RUNTIME +#if (RHEL_RELEASE_CODE && (RHEL_RELEASE_CODE > RHEL_RELEASE_VERSION(6,7)) && \ + (RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(7,0))) +#define HAVE_RXFH_HASHFUNC +#endif /* 6.7 < RHEL < 7.0 */ #if RHEL_RELEASE_CODE && (RHEL_RELEASE_CODE > RHEL_RELEASE_VERSION(7,1)) -#define NDO_DFLT_BRIDGE_GETLINK_HAS_BRFLAGS #define HAVE_RXFH_HASHFUNC -#endif /* RHEL_RELEASE_CODE */ +#define NDO_DFLT_BRIDGE_GETLINK_HAS_BRFLAGS +#endif /* RHEL > 7.1 */ #ifndef napi_schedule_irqoff #define napi_schedule_irqoff napi_schedule #endif +#ifndef READ_ONCE +#define READ_ONCE(_x) ACCESS_ONCE(_x) +#endif #else /* 3.19.0 */ #define HAVE_NDO_FDB_ADD_VID #define HAVE_RXFH_HASHFUNC @@ -4806,8 +4906,43 @@ static inline bool page_is_pfmemalloc(struct page __maybe_unused *page) #endif /* 4.2.0 */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4,4,0)) +#ifndef CONFIG_64BIT +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) +#include /* 32-bit readq/writeq */ +#else /* 3.3.0 => 4.3.x */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)) +#include +#endif /* 2.6.26 => 3.3.0 */ +#ifndef readq +static inline __u64 readq(const volatile void __iomem *addr) +{ + const volatile u32 __iomem *p = addr; + u32 low, high; + + low = readl(p); + high = readl(p + 1); + + return low + ((u64)high << 32); +} +#define readq readq +#endif + +#ifndef writeq +static inline void writeq(__u64 val, volatile void __iomem *addr) +{ + writel(val, addr); + writel(val >> 32, addr + 4); +} +#define writeq writeq +#endif +#endif /* < 3.3.0 */ +#endif /* !CONFIG_64BIT */ #else #define HAVE_NDO_SET_VF_TRUST + +#ifndef CONFIG_64BIT +#include /* 32-bit readq/writeq */ +#endif /* !CONFIG_64BIT */ #endif /* 4.4.0 */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4,5,0)) @@ -4819,17 +4954,26 @@ static inline bool page_is_pfmemalloc(struct page __maybe_unused *page) #define NETIF_F_SCTP_CRC NETIF_F_SCTP_CSUM #endif /* NETIF_F_SCTP_CRC */ #else +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0) ) #define HAVE_GENEVE_RX_OFFLOAD +#endif /* < 4.8.0 */ #define HAVE_NETIF_NAPI_ADD_CALLS_NAPI_HASH_ADD #endif /* 4.5.0 */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)) +#if !(UBUNTU_VERSION_CODE && UBUNTU_VERSION_CODE >= UBUNTU_VERSION(4,4,0,21)) static inline void napi_consume_skb(struct sk_buff *skb, int __always_unused budget) { dev_consume_skb_any(skb); } +#endif /* UBUNTU_VERSION(4,4,0,21) */ +static inline void csum_replace_by_diff(__sum16 *sum, __wsum diff) +{ + * sum = csum_fold(csum_add(diff, ~csum_unfold(*sum))); +} + static inline void page_ref_inc(struct page *page) { atomic_inc(&page->_count); @@ -4837,4 +4981,23 @@ static inline void page_ref_inc(struct page *page) #endif /* 4.6.0 */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)) +#else +#define HAVE_NETIF_TRANS_UPDATE +#endif /* 4.7.0 */ + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)) +enum udp_parsable_tunnel_type { + UDP_TUNNEL_TYPE_VXLAN, + UDP_TUNNEL_TYPE_GENEVE, +}; +struct udp_tunnel_info { + unsigned short type; + sa_family_t sa_family; + __be16 port; +}; +#else +#define HAVE_UDP_ENC_RX_OFFLOAD +#endif /* 4.8.0 */ + #endif /* _KCOMPAT_H_ */