ACK: [SRU][Trusty][PATCH 0/6] i40e NIC not recognized (LP: #1789215)
Kleber Souza
kleber.souza at canonical.com
Wed Sep 5 15:44:56 UTC 2018
On 08/31/18 13:29, Juerg Haefliger wrote:
> This patch series adds Xenial's i40e driver as an additional Ubuntu-specific
> i40e_bpo driver to Trusty. A compatibility layer has been added so that it
> compiles for Trusty's 3.13 kernel. The driver has also been modified to only
> recognize devices that the 3.13 in-tree driver doesn't support to prevent
> introducing a regression.
>
> Successfully tested on real HW.
>
>
> BugLink: https://bugs.launchpad.net/bugs/1789215
>
> == SRU Justification ==
>
> Booting Trusty with kernel 3.13.0-156-generic on a fairly new Intel box with a
> i40e NIC results in no network. The 3.13 i40e driver doesn't support the
> following HW:
>
> 3d:00.0 Ethernet controller: Intel Corporation Device 37d2 (rev 02)
> Subsystem: Intel Corporation Device 35ce
> Flags: bus master, fast devsel, latency 0, IRQ 37
> Memory at ac000000 (64-bit, prefetchable) [size=16M]
> Memory at ad808000 (64-bit, prefetchable) [size=32K]
> Expansion ROM at ad980000 [disabled] [size=512K]
> Capabilities: <access denied>
>
> Base Board Information
> Manufacturer: Intel Corporation
> Product Name: S2600WFT
>
> This is a Canonical test system and having functional networking with a Trusty
> kernel would help with - well - testing :-)
>
> == Fix ==
>
> Add a backport driver in addition to the in-tree driver that supports newer
> versions of the i40e NIC.
>
> == Regression Potential ==
>
> Low. The new driver will only load for NICs that are not supported by the
> current in-tree driver.
>
> == Test Case ==
>
> Boot a patched kernel and verify the NIC is recognized and the network
> comes up.
>
> Signed-off-by: Juerg Haefliger <juergh at canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
>
>
> Juerg Haefliger (6):
> UBUNTU: SAUCE: i40e_bpo: Import the i40e driver from Xenial 4.4
> UBUNTU: SAUCE: i40e_bpo: Add a compatibility layer
> UBUNTU: SAUCE: i40e_bpo: Don't probe for NICs supported by the in-tree
> driver
> UBUNTU: SAUCE: i40e_bpo: Rename the driver to i40e_bpo
> UBUNTU: SAUCE: i40e_bpo: Hook the driver into the kernel tree
> UBUNTU: [Config] Add CONFIG_I40E_BPO=m
>
> debian.master/config/config.common.ubuntu | 3 +
> ubuntu/Kconfig | 4 +
> ubuntu/Makefile | 4 +
> ubuntu/i40e/Kconfig | 39 +
> ubuntu/i40e/Makefile | 51 +
> ubuntu/i40e/i40e.h | 856 ++
> ubuntu/i40e/i40e_adminq.c | 1068 ++
> ubuntu/i40e/i40e_adminq.h | 160 +
> ubuntu/i40e/i40e_adminq_cmd.h | 2502 +++++
> ubuntu/i40e/i40e_alloc.h | 58 +
> ubuntu/i40e/i40e_common.c | 4701 ++++++++
> ubuntu/i40e/i40e_dcb.c | 969 ++
> ubuntu/i40e/i40e_dcb.h | 151 +
> ubuntu/i40e/i40e_dcb_nl.c | 320 +
> ubuntu/i40e/i40e_debugfs.c | 2009 ++++
> ubuntu/i40e/i40e_devids.h | 52 +
> ubuntu/i40e/i40e_diag.c | 151 +
> ubuntu/i40e/i40e_diag.h | 51 +
> ubuntu/i40e/i40e_ethtool.c | 2888 +++++
> ubuntu/i40e/i40e_fcoe.c | 1581 +++
> ubuntu/i40e/i40e_fcoe.h | 127 +
> ubuntu/i40e/i40e_hmc.c | 357 +
> ubuntu/i40e/i40e_hmc.h | 238 +
> ubuntu/i40e/i40e_lan_hmc.c | 1142 ++
> ubuntu/i40e/i40e_lan_hmc.h | 181 +
> ubuntu/i40e/i40e_main.c | 11619 ++++++++++++++++++++
> ubuntu/i40e/i40e_nvm.c | 1382 +++
> ubuntu/i40e/i40e_osdep.h | 86 +
> ubuntu/i40e/i40e_prototype.h | 360 +
> ubuntu/i40e/i40e_ptp.c | 731 ++
> ubuntu/i40e/i40e_register.h | 5353 +++++++++
> ubuntu/i40e/i40e_status.h | 100 +
> ubuntu/i40e/i40e_txrx.c | 3015 +++++
> ubuntu/i40e/i40e_txrx.h | 447 +
> ubuntu/i40e/i40e_type.h | 1535 +++
> ubuntu/i40e/i40e_virtchnl.h | 370 +
> ubuntu/i40e/i40e_virtchnl_pf.c | 2537 +++++
> ubuntu/i40e/i40e_virtchnl_pf.h | 138 +
> ubuntu/i40e/kcompat.c | 19 +
> ubuntu/i40e/kcompat.h | 65 +
> 40 files changed, 47420 insertions(+)
> create mode 100644 ubuntu/i40e/Kconfig
> create mode 100644 ubuntu/i40e/Makefile
> create mode 100644 ubuntu/i40e/i40e.h
> create mode 100644 ubuntu/i40e/i40e_adminq.c
> create mode 100644 ubuntu/i40e/i40e_adminq.h
> create mode 100644 ubuntu/i40e/i40e_adminq_cmd.h
> create mode 100644 ubuntu/i40e/i40e_alloc.h
> create mode 100644 ubuntu/i40e/i40e_common.c
> create mode 100644 ubuntu/i40e/i40e_dcb.c
> create mode 100644 ubuntu/i40e/i40e_dcb.h
> create mode 100644 ubuntu/i40e/i40e_dcb_nl.c
> create mode 100644 ubuntu/i40e/i40e_debugfs.c
> create mode 100644 ubuntu/i40e/i40e_devids.h
> create mode 100644 ubuntu/i40e/i40e_diag.c
> create mode 100644 ubuntu/i40e/i40e_diag.h
> create mode 100644 ubuntu/i40e/i40e_ethtool.c
> create mode 100644 ubuntu/i40e/i40e_fcoe.c
> create mode 100644 ubuntu/i40e/i40e_fcoe.h
> create mode 100644 ubuntu/i40e/i40e_hmc.c
> create mode 100644 ubuntu/i40e/i40e_hmc.h
> create mode 100644 ubuntu/i40e/i40e_lan_hmc.c
> create mode 100644 ubuntu/i40e/i40e_lan_hmc.h
> create mode 100644 ubuntu/i40e/i40e_main.c
> create mode 100644 ubuntu/i40e/i40e_nvm.c
> create mode 100644 ubuntu/i40e/i40e_osdep.h
> create mode 100644 ubuntu/i40e/i40e_prototype.h
> create mode 100644 ubuntu/i40e/i40e_ptp.c
> create mode 100644 ubuntu/i40e/i40e_register.h
> create mode 100644 ubuntu/i40e/i40e_status.h
> create mode 100644 ubuntu/i40e/i40e_txrx.c
> create mode 100644 ubuntu/i40e/i40e_txrx.h
> create mode 100644 ubuntu/i40e/i40e_type.h
> create mode 100644 ubuntu/i40e/i40e_virtchnl.h
> create mode 100644 ubuntu/i40e/i40e_virtchnl_pf.c
> create mode 100644 ubuntu/i40e/i40e_virtchnl_pf.h
> create mode 100644 ubuntu/i40e/kcompat.c
> create mode 100644 ubuntu/i40e/kcompat.h
>
More information about the kernel-team
mailing list