[OmniOS-discuss] Intel X550 testers wanted

Dale Ghent daleg at omniti.com
Thu Jun 16 21:18:43 UTC 2016


All; below is a mail I sent today to the developers at illumos list, submitting my ixgbe patch for review. It adds Intel X550 support. While the coding parts may not be of interest, please skip down to the "What's needed to help" section and, if you can afford some resources and time, follow the instructions on installing a new ixgbe driver to test with.

I'm interested in those with ANY model of card supported by ixgbe, especially if you have one of those old 82598 cards, as it was the one part I could not get ahold of to test with (it's the original ixgbe card and fairly dated now)

I'll welcome feedback either in this thread or directly to myself.

/dale
==================

The following webrev serves to introduce Intel X550 (including X552 and X557) support to ixgbe(7D)

http://elemental.org/webrevs/x550-final/

One may find it in git patch format here:
http://elemental.org/webrevs/0001-6064-ixgbe-needs-X550-support.patch

New adapters supported (and tested) with this patch:
* X550-T2 - PCIe add-on card supporting speeds of 10Gb, 1Gb, 100Mb baseT, as well as 2.5Gb and 5.0Gb NBASE-T (Intel’s pre-802.3bz feature)
* X550EM - Xeon-D SoC embedded X550 MAC, utilizing one of two models of external PHYs: X552 (for SFP+) and X557 (10Gb, 1Gb baseT)

Existing adapters tested with this patch:
* X540-T1
* 82599 SFP (aka X520)

Patch Description
==============

At a high level, there were two intertwined goals with this patch:

1) To introduce support for the Intel X550 family of adapters.
2) To bring the illumos version of the Intel Common Code (ICC) up to date after ~4 years of deltas accumulating between it and FreeBSD (our source for the ICC)

As worked progressed, it became clear that simply adding case statements for the new hardware and a few changes to accommodate adjustments in ICC APIs were not going to be sufficient, and several specific areas required heavy re-working to not only support X550, but also maintain expected behavior with existing adapters. Among these areas of heavy focus are:

* Rewrite of autonegotiation management and its interfacing with GLD
* RSS (Receive-Side Scaling) overhaul to account for differences between new and legacy adapters
* Basic adapter initialization

This patch also piggy-backs on Robert’s recent commit which relocated the ixgbe ICC files to their own directory, allowing us to cleanly exempt them from the prying eyes of lint(1). The updated ICC source files are very lint-noisy now, to such an extent that it would be beyond reasonable effort to add and maintain local corrections.

I would like the thank and acknowledge Robert Mustacchi and Dan McDonald for their patient guidance and encouragement throughout this project.

What’s needed to help test
====================

Since this patch is fairly wide-reaching, touching all previously supported adapters as well as the new ones, my hope is that enough interested parties here can assist in vetting it. These adapters include:

82598 - Important, as this is the one part I do not have
82599 (X520)
X540
X550 (and X550EM on Xeon-D SoC systems)

To encourage testing, I am providing updated ixgbe packages for OmniOS r151014, r15108, and Bloody. Robert Mustacchi has kindly assembled SmartOS images containing this new ixgbe driver code as well.

OmniOS users:
--------------------
OmniOS Bloody users need only to utter 'pkg update' to upgrade their Bloody systems to the latest bits, which include this new ixgbe driver code. For users of OmniOS r151014 or r151018, package archive download and installation instructions may be found here:

http://omnios.omniti.com/media/x550/INSTALL.txt

SmartOS users:
---------------------
SmartOS users can download the following images:

SmartOS ISO:
https://us-east.manta.joyent.com/rmustacc/public/preview/x550/platform-20160616T055400Z.iso

SmartOS USB:
https://us-east.manta.joyent.com/rmustacc/public/preview/x550/platform-20160616T055400Z.usb.bz2

SmartOS Raw Platform:
https://us-east.manta.joyent.com/rmustacc/public/preview/x550/platform-20160616T055400Z.tgz

But wait! There’s more (work)!
=======================

During the course of this work, it became apparent that a few additional areas deserve some attention, but are areas which are more suitable as follow-ups to this initial support patch. Among these areas are:

* Interrupt handler task queue overhaul to convert them to taskq_dispatch_ent
* SFP setup and interrupt handling, with further refinements to autonegotiation logic to accommodate multispeed fiber correctly
* Additional interrupt handlers for currently unclaimed types - 82599 (and newer) thermal sensor alarms and uncorrectable ECC events

I will be filing bugs for these follow-ups once they can be fully (and properly) characterized.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://omniosce.org/ml-archive/attachments/20160616/b18eae69/attachment.bin>


More information about the OmniOS-discuss mailing list