diff --git a/centos_guest_image.inc b/centos_guest_image.inc index c72cec857..1dd8f28fd 100644 --- a/centos_guest_image.inc +++ b/centos_guest_image.inc @@ -10,8 +10,8 @@ perf # Network Drivers # -# i40evf-kmod -kmod-i40evf +# iavf-kmod +kmod-iavf # i40e-kmod kmod-i40e diff --git a/centos_guest_image_rt.inc b/centos_guest_image_rt.inc index 7990eee28..c80892cad 100644 --- a/centos_guest_image_rt.inc +++ b/centos_guest_image_rt.inc @@ -7,8 +7,8 @@ # Network Drivers # -# i40evf-kmod -kmod-i40evf-rt +# iavf-kmod +kmod-iavf-rt # i40e-kmod kmod-i40e-rt diff --git a/centos_iso_image.inc b/centos_iso_image.inc index 35ba4863f..8634a8590 100644 --- a/centos_iso_image.inc +++ b/centos_iso_image.inc @@ -80,9 +80,9 @@ kmod-e1000e-rt kmod-i40e kmod-i40e-rt -# i40evf-kmod -kmod-i40evf -kmod-i40evf-rt +# iavf-kmod +kmod-iavf +kmod-iavf-rt # ixgbevf-kmod kmod-ixgbevf diff --git a/centos_pkg_dirs b/centos_pkg_dirs index 52f22c54a..843a3e3b4 100644 --- a/centos_pkg_dirs +++ b/centos_pkg_dirs @@ -65,7 +65,7 @@ kubernetes/etcd kubernetes/helm grub/grubby kernel/kernel-modules/intel-e1000e -kernel/kernel-modules/intel-i40evf +kernel/kernel-modules/intel-iavf kernel/kernel-modules/intel-i40e kernel/kernel-modules/intel-ixgbevf kernel/kernel-modules/intel-ixgbe diff --git a/centos_pkg_dirs_rt b/centos_pkg_dirs_rt index 2c504494b..51a2ed799 100644 --- a/centos_pkg_dirs_rt +++ b/centos_pkg_dirs_rt @@ -3,7 +3,7 @@ networking/mellanox/libibverbs kernel/kernel-modules/mlnx-ofa_kernel networking/mellanox/rdma-core kernel/kernel-modules/intel-e1000e -kernel/kernel-modules/intel-i40evf +kernel/kernel-modules/intel-iavf kernel/kernel-modules/intel-i40e kernel/kernel-modules/intel-ixgbevf kernel/kernel-modules/intel-ixgbe diff --git a/kernel/kernel-modules/intel-i40e/centos/build_srpm.data b/kernel/kernel-modules/intel-i40e/centos/build_srpm.data index 47321e589..2410f7041 100644 --- a/kernel/kernel-modules/intel-i40e/centos/build_srpm.data +++ b/kernel/kernel-modules/intel-i40e/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ - $STX_BASE/downloads/i40e-2.7.29.tar.gz" + $STX_BASE/downloads/i40e-2.10.19.30.tar.gz" TIS_PATCH_VER=1 diff --git a/kernel/kernel-modules/intel-i40e/centos/i40e-kmod.spec b/kernel/kernel-modules/intel-i40e/centos/i40e-kmod.spec index 04cd3eb34..6221c006b 100644 --- a/kernel/kernel-modules/intel-i40e/centos/i40e-kmod.spec +++ b/kernel/kernel-modules/intel-i40e/centos/i40e-kmod.spec @@ -8,7 +8,7 @@ %define kmod_name i40e Name: %{kmod_name}-kmod%{?bt_ext} -Version: 2.7.29 +Version: 2.10.19.30 Release: 0%{?_tis_dist}.%{tis_patch_ver} Group: System Environment/Kernel License: GPLv2 @@ -25,7 +25,6 @@ Source11: modules-load.conf Patch01: i40e-Enable-getting-link-status-from-VF.patch Patch02: i40e-add-more-debug-info-for-VFs-still-in-reset.patch -Patch03: ndo_get_vf_config-poll-for-out-of-vf-reset.patch %define kversion %(rpm -q kernel%{?bt_ext}-devel | sort --version-sort | tail -1 | sed 's/kernel%{?bt_ext}-devel-//') diff --git a/kernel/kernel-modules/intel-i40e/files/i40e-Enable-getting-link-status-from-VF.patch b/kernel/kernel-modules/intel-i40e/files/i40e-Enable-getting-link-status-from-VF.patch index 9807529d0..747f567e5 100644 --- a/kernel/kernel-modules/intel-i40e/files/i40e-Enable-getting-link-status-from-VF.patch +++ b/kernel/kernel-modules/intel-i40e/files/i40e-Enable-getting-link-status-from-VF.patch @@ -1,8 +1,8 @@ -From 412fdc8c0d51500e42e76e788ece3ca7dd260ced Mon Sep 17 00:00:00 2001 -Message-Id: <412fdc8c0d51500e42e76e788ece3ca7dd260ced.1528830095.git.Jim.Somerville@windriver.com> +From b8c666367cd98a2b0033c043f6f206abd8e238a6 Mon Sep 17 00:00:00 2001 +Message-Id: From: Vadim Suraev Date: Mon, 8 Feb 2016 15:57:30 -0500 -Subject: [PATCH 1/3] i40e: Enable getting link status from VF +Subject: [PATCH 1/2] i40e: Enable getting link status from VF Add handling of custom OP code sent from the PMD VF to get link status via the virtual channel interface. @@ -16,10 +16,10 @@ Signed-off-by: Jim Somerville 2 files changed, 79 insertions(+) diff --git a/src/i40e_virtchnl_pf.c b/src/i40e_virtchnl_pf.c -index 020bacb..126ec19 100644 +index 9e48f0d..21b4606 100644 --- a/src/i40e_virtchnl_pf.c +++ b/src/i40e_virtchnl_pf.c -@@ -2559,6 +2559,81 @@ static int i40e_vc_config_promiscuous_mode_msg(struct i40e_vf *vf, u8 *msg) +@@ -2467,6 +2467,81 @@ err_out: aq_ret); } @@ -101,7 +101,7 @@ index 020bacb..126ec19 100644 /** * i40e_vc_config_queues_msg * @vf: pointer to the VF info -@@ -4300,6 +4375,9 @@ int i40e_vc_process_vf_msg(struct i40e_pf *pf, s16 vf_id, u32 v_opcode, +@@ -4166,6 +4241,9 @@ int i40e_vc_process_vf_msg(struct i40e_pf *pf, s16 vf_id, u32 v_opcode, case VIRTCHNL_OP_REQUEST_QUEUES: ret = i40e_vc_request_queues_msg(vf, msg); break; @@ -112,17 +112,17 @@ index 020bacb..126ec19 100644 case VIRTCHNL_OP_ENABLE_CHANNELS: ret = i40e_vc_add_qch_msg(vf, msg); diff --git a/src/virtchnl.h b/src/virtchnl.h -index afde603..b9b38c0 100644 +index a22cc43..d3d9324 100644 --- a/src/virtchnl.h +++ b/src/virtchnl.h -@@ -124,6 +124,7 @@ enum virtchnl_ops { +@@ -128,6 +128,7 @@ enum virtchnl_ops { VIRTCHNL_OP_DISABLE_CHANNELS = 31, VIRTCHNL_OP_ADD_CLOUD_FILTER = 32, VIRTCHNL_OP_DEL_CLOUD_FILTER = 33, + VIRTCHNL_OP_GET_LINK_STAT = 0x101, - }; + /* These macros are used to generate compilation errors if a structure/union -- 1.8.3.1 diff --git a/kernel/kernel-modules/intel-i40e/files/i40e-add-more-debug-info-for-VFs-still-in-reset.patch b/kernel/kernel-modules/intel-i40e/files/i40e-add-more-debug-info-for-VFs-still-in-reset.patch index 530aada97..7f1fba6e6 100644 --- a/kernel/kernel-modules/intel-i40e/files/i40e-add-more-debug-info-for-VFs-still-in-reset.patch +++ b/kernel/kernel-modules/intel-i40e/files/i40e-add-more-debug-info-for-VFs-still-in-reset.patch @@ -1,10 +1,10 @@ -From d60e87567eb5418fbb848bf30f72d3d8bec3bad6 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <412fdc8c0d51500e42e76e788ece3ca7dd260ced.1528830095.git.Jim.Somerville@windriver.com> -References: <412fdc8c0d51500e42e76e788ece3ca7dd260ced.1528830095.git.Jim.Somerville@windriver.com> +From 40b257ecf5d36abf14a4ef98fc2e44dba7100fea Mon Sep 17 00:00:00 2001 +Message-Id: <40b257ecf5d36abf14a4ef98fc2e44dba7100fea.1572295393.git.Jim.Somerville@windriver.com> +In-Reply-To: +References: From: Jim Somerville Date: Mon, 26 Mar 2018 11:03:47 -0400 -Subject: [PATCH 2/3] i40e add more debug info for VFs still in reset +Subject: [PATCH 2/2] i40e add more debug info for VFs still in reset Signed-off-by: Jim Somerville --- @@ -12,10 +12,21 @@ Signed-off-by: Jim Somerville 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/i40e_virtchnl_pf.c b/src/i40e_virtchnl_pf.c -index 126ec19..da29fc3 100644 +index 21b4606..dfb9568 100644 --- a/src/i40e_virtchnl_pf.c +++ b/src/i40e_virtchnl_pf.c -@@ -4650,8 +4650,8 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev, +@@ -4363,8 +4363,8 @@ static int i40e_set_vf_mac(struct i40e_vf *vf, struct i40e_vsi *vsi, + msleep(20); + } + if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { +- dev_err(&pf->pdev->dev, "VF %d still in reset. Try again.\n", +- vf->vf_id); ++ dev_err(&pf->pdev->dev, "%s: VF %d still in reset. Try again.\n", ++ __func__, vf->vf_id); + ret = -EAGAIN; + goto error_param; + } +@@ -4522,8 +4522,8 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev, vf = &pf->vf[vf_id]; vsi = pf->vsi[vf->lan_vsi_idx]; if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { @@ -26,7 +37,7 @@ index 126ec19..da29fc3 100644 ret = -EAGAIN; goto error_pvid; } -@@ -4784,8 +4784,8 @@ int i40e_ndo_set_vf_bw(struct net_device *netdev, int vf_id, int max_tx_rate) +@@ -4678,8 +4678,8 @@ int i40e_ndo_set_vf_bw(struct net_device *netdev, int vf_id, int max_tx_rate) vf = &pf->vf[vf_id]; vsi = pf->vsi[vf->lan_vsi_idx]; if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { @@ -37,18 +48,7 @@ index 126ec19..da29fc3 100644 ret = -EAGAIN; goto error; } -@@ -4844,8 +4844,8 @@ int i40e_ndo_get_vf_config(struct net_device *netdev, - /* first vsi is always the LAN vsi */ - vsi = pf->vsi[vf->lan_vsi_idx]; - if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { -- dev_err(&pf->pdev->dev, "VF %d still in reset. Try again.\n", -- vf_id); -+ dev_err(&pf->pdev->dev, "%s: VF %d still in reset. Try again.\n", -+ __func__, vf_id); - ret = -EAGAIN; - goto error_param; - } -@@ -4989,8 +4989,8 @@ int i40e_ndo_set_vf_spoofchk(struct net_device *netdev, int vf_id, bool enable) +@@ -4881,8 +4881,8 @@ int i40e_ndo_set_vf_spoofchk(struct net_device *netdev, int vf_id, bool enable) vf = &(pf->vf[vf_id]); if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { diff --git a/kernel/kernel-modules/intel-i40e/files/ndo_get_vf_config-poll-for-out-of-vf-reset.patch b/kernel/kernel-modules/intel-i40e/files/ndo_get_vf_config-poll-for-out-of-vf-reset.patch deleted file mode 100644 index e8b6ffb38..000000000 --- a/kernel/kernel-modules/intel-i40e/files/ndo_get_vf_config-poll-for-out-of-vf-reset.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 25b521f58b33bf070c0b31d077333c13c3ad25e8 Mon Sep 17 00:00:00 2001 -Message-Id: <25b521f58b33bf070c0b31d077333c13c3ad25e8.1528830095.git.Jim.Somerville@windriver.com> -In-Reply-To: <412fdc8c0d51500e42e76e788ece3ca7dd260ced.1528830095.git.Jim.Somerville@windriver.com> -References: <412fdc8c0d51500e42e76e788ece3ca7dd260ced.1528830095.git.Jim.Somerville@windriver.com> -From: Jim Somerville -Date: Mon, 2 Apr 2018 15:35:12 -0400 -Subject: [PATCH 3/3] ndo_get_vf_config poll for out of vf reset - -Same solution as 028daf80117376b22909becd9720daaefdfceff4 from the -net-next tree as supplied by Intel, but we apply it to -ndo_get_vf_config instead. - -Signed-off-by: Jim Somerville ---- - src/i40e_virtchnl_pf.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/i40e_virtchnl_pf.c b/src/i40e_virtchnl_pf.c -index da29fc3..d5935d6 100644 ---- a/src/i40e_virtchnl_pf.c -+++ b/src/i40e_virtchnl_pf.c -@@ -4829,6 +4829,7 @@ int i40e_ndo_get_vf_config(struct net_device *netdev, - struct i40e_pf *pf = vsi->back; - struct i40e_vf *vf; - int ret = 0; -+ u8 i; - - if (test_and_set_bit(__I40E_VIRTCHNL_OP_PENDING, pf->state)) { - dev_warn(&pf->pdev->dev, "Unable to configure VFs, other operation is pending.\n"); -@@ -4843,6 +4844,16 @@ int i40e_ndo_get_vf_config(struct net_device *netdev, - vf = &pf->vf[vf_id]; - /* first vsi is always the LAN vsi */ - vsi = pf->vsi[vf->lan_vsi_idx]; -+ -+ /* When the VF is resetting wait until it is done. -+ * It can take up to 200 milliseconds, -+ * but wait for up to 300 milliseconds to be safe. -+ */ -+ for (i = 0; i < 15; i++) { -+ if (test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) -+ break; -+ msleep(20); -+ } - if (!test_bit(I40E_VF_STATE_INIT, &vf->vf_states)) { - dev_err(&pf->pdev->dev, "%s: VF %d still in reset. Try again.\n", - __func__, vf_id); --- -1.8.3.1 - diff --git a/kernel/kernel-modules/intel-i40evf/files/modules-load.conf b/kernel/kernel-modules/intel-i40evf/files/modules-load.conf deleted file mode 100644 index c647f0ef7..000000000 --- a/kernel/kernel-modules/intel-i40evf/files/modules-load.conf +++ /dev/null @@ -1 +0,0 @@ -i40evf diff --git a/kernel/kernel-modules/intel-i40evf/centos/build_srpm.data b/kernel/kernel-modules/intel-iavf/centos/build_srpm.data similarity index 53% rename from kernel/kernel-modules/intel-i40evf/centos/build_srpm.data rename to kernel/kernel-modules/intel-iavf/centos/build_srpm.data index ee17d7021..8833d2d6a 100644 --- a/kernel/kernel-modules/intel-i40evf/centos/build_srpm.data +++ b/kernel/kernel-modules/intel-iavf/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ - $STX_BASE/downloads/i40evf-3.6.15.tar.gz" + $STX_BASE/downloads/iavf-3.7.61.20.tar.gz" TIS_PATCH_VER=1 diff --git a/kernel/kernel-modules/intel-i40evf/centos/i40evf-kmod.spec b/kernel/kernel-modules/intel-iavf/centos/iavf-kmod.spec similarity index 80% rename from kernel/kernel-modules/intel-i40evf/centos/i40evf-kmod.spec rename to kernel/kernel-modules/intel-iavf/centos/iavf-kmod.spec index c02915217..6a4a37726 100644 --- a/kernel/kernel-modules/intel-i40evf/centos/i40evf-kmod.spec +++ b/kernel/kernel-modules/intel-iavf/centos/iavf-kmod.spec @@ -5,10 +5,10 @@ %endif # Define the kmod package name here. -%define kmod_name i40evf +%define kmod_name iavf Name: %{kmod_name}-kmod%{?bt_ext} -Version: 3.6.15 +Version: 3.7.61.20 Release: 0%{?_tis_dist}.%{tis_patch_ver} Group: System Environment/Kernel License: GPLv2 @@ -25,52 +25,52 @@ Source11: modules-load.conf %define kversion %(rpm -q kernel%{?bt_ext}-devel | sort --version-sort | tail -1 | sed 's/kernel%{?bt_ext}-devel-//') -%package -n kmod-i40evf%{?bt_ext} -Summary: i40evf kernel module(s) +%package -n kmod-iavf%{?bt_ext} +Summary: iavf kernel module(s) Group: System Environment/Kernel %global _use_internal_dependency_generator 0 Provides: kernel-modules >= %{kversion} -Provides: i40evf-kmod = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: iavf-kmod = %{?epoch:%{epoch}:}%{version}-%{release} Requires(post): /usr/sbin/depmod Requires(postun): /usr/sbin/depmod -%description -n kmod-i40evf%{?bt_ext} -This package provides the i40evf kernel module(s) built +%description -n kmod-iavf%{?bt_ext} +This package provides the iavf kernel module(s) built for the Linux kernel using the %{_target_cpu} family of processors. -%post -n kmod-i40evf%{?bt_ext} +%post -n kmod-iavf%{?bt_ext} echo "Working. This may take some time ..." if [ -e "/boot/System.map-%{kversion}" ]; then /usr/sbin/depmod -aeF "/boot/System.map-%{kversion}" "%{kversion}" > /dev/null || : fi -modules=( $(find /lib/modules/%{kversion}/extra/i40evf | grep '\.ko$') ) +modules=( $(find /lib/modules/%{kversion}/extra/iavf | grep '\.ko$') ) if [ -x "/sbin/weak-modules" ]; then printf '%s\n' "${modules[@]}" | /sbin/weak-modules --add-modules fi echo "Done." -%preun -n kmod-i40evf%{?bt_ext} -rpm -ql kmod-i40evf%{?bt_ext}-%{version}-%{release}.x86_64 | grep '\.ko$' > /var/run/rpm-kmod-i40evf%{?bt_ext}-modules +%preun -n kmod-iavf%{?bt_ext} +rpm -ql kmod-iavf%{?bt_ext}-%{version}-%{release}.x86_64 | grep '\.ko$' > /var/run/rpm-kmod-iavf%{?bt_ext}-modules -%postun -n kmod-i40evf%{?bt_ext} +%postun -n kmod-iavf%{?bt_ext} echo "Working. This may take some time ..." if [ -e "/boot/System.map-%{kversion}" ]; then /usr/sbin/depmod -aeF "/boot/System.map-%{kversion}" "%{kversion}" > /dev/null || : fi -modules=( $(cat /var/run/rpm-kmod-i40evf%{?bt_ext}-modules) ) -rm /var/run/rpm-kmod-i40evf%{?bt_ext}-modules +modules=( $(cat /var/run/rpm-kmod-iavf%{?bt_ext}-modules) ) +rm /var/run/rpm-kmod-iavf%{?bt_ext}-modules if [ -x "/sbin/weak-modules" ]; then printf '%s\n' "${modules[@]}" | /sbin/weak-modules --remove-modules fi echo "Done." -%files -n kmod-i40evf%{?bt_ext} +%files -n kmod-iavf%{?bt_ext} %defattr(644,root,root,755) /lib/modules/%{kversion}/ -%config(noreplace)/etc/depmod.d/kmod-i40evf.conf -%doc /usr/share/doc/kmod-i40evf-%{version}/ +%config(noreplace)/etc/depmod.d/kmod-iavf.conf +%doc /usr/share/doc/kmod-iavf-%{version}/ %doc /usr/share/man/man7/ -%{_sysconfdir}/modules-load.d/i40evf.conf +%{_sysconfdir}/modules-load.d/iavf.conf # Disable the building of the debug package(s). %define debug_package %{nil} @@ -102,7 +102,7 @@ popd >/dev/null %{__install} -d %{buildroot}%{_mandir}/man7/ %{__install} %{kmod_name}.7.gz %{buildroot}%{_mandir}/man7/ %{__install} -d %{buildroot}%{_sysconfdir}/modules-load.d -%{__install} -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/modules-load.d/i40evf.conf +%{__install} -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/modules-load.d/iavf.conf # Strip the modules(s). find %{buildroot} -type f -name \*.ko -exec %{__strip} --strip-debug \{\} \; diff --git a/kernel/kernel-modules/intel-i40evf/files/GPL-v2.0.txt b/kernel/kernel-modules/intel-iavf/files/GPL-v2.0.txt similarity index 100% rename from kernel/kernel-modules/intel-i40evf/files/GPL-v2.0.txt rename to kernel/kernel-modules/intel-iavf/files/GPL-v2.0.txt diff --git a/kernel/kernel-modules/intel-iavf/files/modules-load.conf b/kernel/kernel-modules/intel-iavf/files/modules-load.conf new file mode 100644 index 000000000..54c14c832 --- /dev/null +++ b/kernel/kernel-modules/intel-iavf/files/modules-load.conf @@ -0,0 +1 @@ +iavf