-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
T6231: Mellanox OFED #665
T6231: Mellanox OFED #665
Conversation
There are unrelated to this task commits |
Git fun it seems :-/ - I just checked out |
97a3ead
to
edd5236
Compare
Are there any examples of specific issues with upstream drivers fixed in OFED, or important for VyOS case benefits available in OFED and not available upstream? |
,
Addresses a few things: |
Can you confirm that in the described case a driver replacement was the only difference? The same device, same connections, same performance tester, same configuration, just another driver? I have no objections against adding OFED drivers, but we need to understand the real profit from this. |
Yes, same device rebooted to an image containing ofed |
Build OFED drivers and userspace components against the kernel source tree similar to Intel's NIC drivers. OFED installers create Debian packages of their own tageting the kernel version defined in the build invocation if DKMS is omitted. Script builds with supporting components for VPP to permit handoff of function to the underlying hardware as appropriate. Updating the version is fairly trivial along with adding patching as needed to handle kCFI and hardening measures as they are introduced. Testing: Tested against GCC-built Linux Hardened kernel with the various additions from PR 132 - sustained line-rate testing against 4x100g links on a single machine at a hair below 200g for each LACP pair.
edd5236
to
c0365df
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can both drivers co-exist or does the stock driver needs to be removed from the Kernel?
How does the system determine which to load? Or dies it go the usual way in detecting "there is a newer driver in /lib/modules/6.6.35/updates/dkms
?
Issue: -amd64-vyos
is missing from the installation path of the new modules, see KERNEL_SUFFIX
environment variable also present in packages/linux-kernel/kernel-vers
both can coexist and you can
the
i havent found this to be an issue on any distribution over the ages and all of our kernels on all of our own OS forks and upstream ones utilize suffixes while DKMS and many out-of-tree drivers don't. Remedy would require changing the vendors source which is doable, but adds hassle/maintenance burden as their code changes rev to rev. On that note, the suffix thing is rather constraining as implemented - we use different suffixes to denote specific kernel build types and tag our images with them (LLVM+hardened, GCC+hardened, GCC+grsec/pax, etc) because we cannot build an image with multiple kernels to let the user choose what to boot. IIRC this was was one of the big blockers to #132 - we couldn't get people to test anything to figure out what and how we should implement. I do have a much better "piecemeal it in" strategy for that code moving forward (actually been testing with this PR in our builders - |
All VyOS kernel modules must live in the appropriate module directory, example: /lib/modules/6.6.41-amd64-vyos/ In addition we do not abbreviate script options to make reading easier, without call --help all the time.
Moved drivers to appropriate directory and added some other minor changes to this pr
|
👍 |
Change Summary
Types of changes
Related Task(s)
T6231
Component(s) name
Mellanox (Nvidia) OFED kernel and userspace
Proposed changes
OFED stack: drivers, userspace utilities, libraries, and DPDK/VPP interfaces.
How to test
Checklist: