Page MenuHomeVyOS Platform

Update the Intel ixgbe driver due to issues with Intel X533
Closed, ResolvedPublic

Description

I think the driver should be updated (or the upstream out-of-tree driver installed) that's included in kernel as it seems to be the culprit of an Intel X533 nic not linking up properly when it does work fine in OPNsense.

I wasn't able to find the version that's included and I'm not sure how I would build and install my own due to no kernel headers.

Details

Difficulty level
Unknown (require assessment)
Version
1.4-rolling-202310020306
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Unspecified (please specify)

Event Timeline

samip537 triaged this task as Normal priority.Sep 28 2023, 2:32 PM
samip537 raised the priority of this task from Normal to Requires assessment.
samip537 created this task.
samip537 created this object in space S1 VyOS Public.
samip537 changed Version from 1.4-rolling-202308040306 to 1.4-rolling-202310020306.Oct 3 2023, 10:14 PM

This has been verified to be a driver issue as the Intel's out-of-tree module for ixgbe does indeed work when I compilied my own version of the ISO with the Intel's out-of-tree-module installed.

Latest working VyOS without the out-of-tree kernel driver is 1.3.

This image can be tested from https://s3.skym.fi/public/vyos-1.5-rolling-202310181635-amd64.iso

samip537 triaged this task as Unbreak Now! priority.Oct 18 2023, 6:29 PM
samip537 added a project: VyOS 1.5 Circinus.

I'm building 1.4 rolling with the ixgbe out-of-tree driver if anyone cares.

Releases are at: https://github.com/samipsolutions/vyos-build/releases and the source sauce is also in that repo.

Viacheslav lowered the priority of this task from Unbreak Now! to Normal.Jan 21 2024, 11:26 AM

Why did you @Viacheslav lower the priority? It's basically broken currently.

It is more of an upstream issue.
In addition, the PR already exists https://github.com/vyos/vyos-build/pull/438

Will take care about it after my vacation

Viacheslav changed the task status from Open to Needs testing.Feb 1 2024, 9:54 AM
c-po moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.
c-po moved this task from Need Triage to Finished on the VyOS 1.5 Circinus board.

Unfortunately I haven't seen this before, for me this choice of using the out-of-tree driver is extremely wrong!

Most of the community's development is done on the mainline kernel driver (where among other things I'm working on sending patches to improve the ixgbe driver), if there are issues in the mainline driver they should be reported or resolved with a patch to be applied in vyos downstream and then send it to the Intel-wired-lan mailing list.

Please @samip537 can you tell me in a short list what exactly problems you encounter with the mainline Linux driver?

@ErnyTech This has been discussed at the forums in length what the problems are, but most of them seem to come from an link-related commit in the in-tree driver: https://marc.info/?l=linux-netdev&m=170113799914642. Meaning that no matter what one does, with the built-in driver, one cannot establish a link between X533 and eg. Juniper switch but they do see each other according to transceiver information but just no link.

It works on BSD, but the driver is not the same as on Linux.

recently mentioned on netdev (upstream bugs and other threads linked as well):

https://lore.kernel.org/netdev/[email protected]/

I can verify @samip537's comments -- the X553 interface won't establish link state using the default ixgbe driver included in Linux kernel 6.1 or 6.6. In my case, I'm testing hardware with X553 interfaces against a Dell PowerConnect 8132F. Qualified/Non-Qualified modules or DAC-cables make no difference. Using the OOT Intel driver, however, does work as one would expect.

I have hardware with the X553 readily available if there is specific testing you wish I would do, however I can't promise anything in regards to timeframes.

Unfortunately I haven't seen this before, for me this choice of using the out-of-tree driver is extremely wrong!

Most of the community's development is done on the mainline kernel driver (where among other things I'm working on sending patches to improve the ixgbe driver), if there are issues in the mainline driver they should be reported or resolved with a patch to be applied in vyos downstream and then send it to the Intel-wired-lan mailing list.

Please @samip537 can you tell me in a short list what exactly problems you encounter with the mainline Linux driver?

According to Intels own page regarding the source code only the e1000 and e1000e can currently be trusted to be up2date when using the in-tree drivers (aka "kernel-only support"):

https://sourceforge.net/projects/e1000/

For all the others the out-of-tree drivers are recommended.

I have no idea why Intel is lagging this much with commiting the out-of-tree drivers into the in-tree drivers but it is obvious that there are several issues that have existed for some time with the in-tree drivers which since long have been fixed in the out-of-tree drivers.

Because of above I would highly recommend to use the out-of-tree drivers by default in VyOS but that the in-tree drivers (if possible) should be included for those who prefers them (for whatever reason). Perhaps through a config-option to make it easier to switch from the out-of-tree drivers to the in-tree drivers.