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
Best effort for xdp #28666
Best effort for xdp #28666
Conversation
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.
Thanks for the contribution @poblahblahblah
Added some config-related comments.
@borkmann Adding you as reviewer because it seems that you already have the context from the issue and the previous PR
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.
Thanks, just a couple nits.
Commits ec4e546, 454ce4b, 50367e6 do not match "(?m)^Signed-off-by:". Please follow instructions provided in https://docs.cilium.io/en/stable/contributing/development/contributing_guide/#developer-s-certificate-of-origin |
50367e6
to
f25d81e
Compare
I'll squash commits into a single commit once this is looking like it will be ready for merge. |
/test |
f15f0fc
to
4e08706
Compare
/test |
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 better, thanks! But now I don't understand where the new files install/kubernetes/cilium/Chart.yaml-e
, ...-ee
, and ...-eee
come from. Were they committed by mistake?
4824034
to
902c7ca
Compare
902c7ca
to
93b997d
Compare
@poblahblahblah I've merged #28308 in the meantime, so I gave this a rebase and moved the error check to |
/test |
I'm not super familiar with the failures we're seeing. Can/should these be run again? @qmonnet you've been very generous with your time and I appreciate that. It looks like there's another helm failure. Do you have any insight into this? |
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.
Approval for API.
Just as the workflow output says 🙂:
So please try running this command and committing the changes in |
The default behavior for enabling XDP support is to enable XDP on all interfaces. If an interface's driver does not support XDP then Cilium will bail. This change introduces a new mode, `best-effort`, which will swallows and logs the error when a device is encountered that does not support XDP. Signed-off-by: Patrick O’Brien <patrick.obrien@thetradedesk.com>
93b997d
to
c30f2d5
Compare
Can't believe I missed that. Apologies! Should be good now |
/test |
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.
Thank you!
Jussi, Daniel, Nate and I are all part of sig-datapath, so I think we can skip Louis' review. |
Thank you for the help, everyone! Great experience all around! |
👋 should the new
|
Please ensure your pull request adheres to the following guidelines:
description and a
Fixes: #XXX
line if the commit addresses a particularGitHub issue.
Fixes: <commit-id>
tag, thenplease add the commit author[s] as reviewer[s] to this issue.
This allows a user to specify a new mode,
best-effort
when enabling XDP. We need this ability since we are running physical hosts where the primary NICs do support XDP, but have additionalvlan
devices that do not have XDP support in the driver.More background can be found in #24768, but to summarize we have 1 physical device (ens785np0) per host and due to network design we need an additional
vlan
type interface (vlan3
). Regrettably thevlan
driver in the kernel does not support XDP. When enabling XDP without this change Cilium enters a crashloop with this error:With this change applied and by setting
loadBalancer.acceleration
tobest-effort
in our values.yaml file we get the following log output with XDP enabled only on devices that support it:I initially created #25870 and it was indicated in this comment thread that swallowing these errors if set to "best-effort" would be an acceptable solution.
Any and all feedback would be very welcome!
Fixes: #24768