-
Notifications
You must be signed in to change notification settings - Fork 521
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
kernel-5.10: enable mellanox modules #2241
Conversation
70b4f79
to
9a07ec7
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.
Looks good pending a test!
🧙
CONFIG_NET_VENDOR_MELLANOX=y | ||
CONFIG_MLX5_CORE_EN=y | ||
CONFIG_NET_SWITCHDEV=y | ||
CONFIG_MLX5_BRIDGE=n |
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.
This option would not be interesting for 5.10, as it was introduced first in 5.14.
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.
Does that mean it's safe to assume it defaults to =n
and we wouldn't need to specify it here?
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.
In a way, yes.
The option does not exist in kernels prior to 5.14. It will be ignored as there is no code that switches anything off or on, no matter what we choose here. It will probably produce something like an unknown option log line somewhere, that is all.
No occurrence of MLX5_BRIDGE
in the kernel for 5.4.124:
HEAD is now at 4f3fee72a74c Linux 5.10.124
[foersleo@devbox linux]$ grep -nr MLX5_BRIDGE *
[foersleo@devbox linux]$
On kernels after 5.14 however, it will default to =y
:
config MLX5_BRIDGE
bool
depends on MLX5_ESWITCH && BRIDGE
default y
help
mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).
Enable adding representors of mlx5 uplink and VF ports to Bridge and
offloading rules for traffic between such ports. Supports VLANs (trunk and
access modes).
There is some handy webpages, that can show some info on which kernel versions have certain options, without having to go through the versions oneself. So far I have not seen any problems with regards to reliability of the data (probably automagically created). For example https://cateee.net/lkddb/web-lkddb/MLX5_BRIDGE.html
# Mellanox network support | ||
CONFIG_MLXFW=m | ||
CONFIG_MLX5_CORE=m | ||
CONFIG_MLX5_INFINIBAND=m |
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.
I am not sure if Infiniband is actually needed. If I read the Connect X-4 page at nvidia [1] correctly the Cards mentioned in the Overview do not support Infiniband. Connect X-[5,6,7] seem to be the infiniband offerings by Mellanox [2].
[1] https://www.nvidia.com/en-us/networking/ethernet/connectx-4-lx/
[2] https://www.nvidia.com/en-us/networking/infiniband-adapters/
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.
I think I was mistaken in assuming it was Connect X-4. I was just basing it off of a HP DL160 spec file I found but apparently DL160 has the option for Connect X-5 which is what the machine needing the driver has (see here). When the machine booted with ubuntu, we saw MLX5 drivers get loaded.
(I fixed the PR description)
This adds the kernel configs necessary for Mellanox NICs.
Push above removes |
Issue number:
N/A
Description of changes:
Testing done:
Built metal-k8s-1.23 without problem. Provisioned onto a HP DL160 with Mellanox Connect X-5 ethernet cards and the host booted up with network interfaces correctly configured.
Kernel configuration changes:
x86_64:
aarch64:
None, presumably it's already enabled from upstream kernel package for aarch64.
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.