-
Notifications
You must be signed in to change notification settings - Fork 50
add support for specifying the anchor to use when tcx attaching programs to ingress and egress #822
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
base: main
Are you sure you want to change the base?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Hi @awprice. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Will need some guidance on the checklist. |
…ams to ingress and egress Signed-off-by: Alex Price <aprice@atlassian.com>
c47ac5d to
1e71eed
Compare
|
Sounds like a nice addition, thanks @awprice |
|
Thanks @awprice do u mind while u there to use anchor to pca TCX hooks too, we can use the same configuration knob for both ? |
|
@awprice: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
@msherif1234 Thanks - I've already done this:
|
oh sorry somehow I missed them thank you!! |
|
@jotak there will be operator work for bpfman plugin to leverage anchor settings, just FYI for tracking |
Description
As per title, this adds supports for specifying the anchor to use when TCX attaching programs to ingress and egress.
We'd like to use netobserv-ebpf-agent in our clusters, however we've found that when running alongside Cilium, the agent's ingress and egress BPF programs are inserted after Cilium's BPF programs. This is due to no particular anchor being used, which generally results in the program being placed last.
For example:
(Cilium's programs are prefixed with
cil_)Due to Cilium's use of
TC_ACT_REDIRECT(which is a perfectly fine optimisation) often the agent's BPF program isn't run and we cannot capture flows.To remedy, we've found placing the agent's BPF program at the head of the program list using
anchor.Head(), which allows flows to be captured and then Cilium to continue processing as normal.When using the new configuration options
TCX_ATTACH_ANCHOR_INGRESS=headandTCX_ATTACH_ANCHOR_EGRESS=headwe now see:I've kept default behaviour by having a
nilanchor whenTCX_ATTACH_ANCHOR_INGRESSorTCX_ATTACH_ANCHOR_EGRESSis either not specified or set tonone.Dependencies
n/a
Checklist
If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.
To run a perfscale test, comment with:
/test ebpf-node-density-heavy-25nodes