-
Notifications
You must be signed in to change notification settings - Fork 170
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
new(driver/modern_bpf,userspace/libpman): support multiple programs for each event #2255
base: master
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: FedeDP The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Perf diff from master - unit tests
Heap diff from master - unit tests
Heap diff from master - scap file
Benchmarks diff from master
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2255 +/- ##
==========================================
+ Coverage 75.16% 75.34% +0.17%
==========================================
Files 278 279 +1
Lines 34478 34368 -110
Branches 5922 5873 -49
==========================================
- Hits 25916 25893 -23
+ Misses 8562 8475 -87
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
X64 kernel testing matrix
ARM64 kernel testing matrix
|
6096d33
to
92df24d
Compare
Please double check driver/API_VERSION file. See versioning. /hold |
3bbfcfd
to
aa354b6
Compare
…or each event. Try to inject each of them until success. This allows us to inject `bpf_loop` sendmmsg and recvmmsg programs where supported, and fallback at just sending first message where it isn't. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
aa354b6
to
24581f6
Compare
Removed
This seems like a bug in the verifier since i cannot repro it locally, neither in arm64 CI, neither in kernel testing matrix. |
In the last commit i tried to split Note also that the exact same code for the 2 bpf programs wasn't failing some weeks ago (ie: at this commit: 67975da). |
0323c41
to
24581f6
Compare
/milestone next-driver |
b000c6f
to
d930932
Compare
Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
d930932
to
d4e2e2a
Compare
I tried to reproduce the amd64 failures using virtme-ng:
No luck :/ this should be the exact same version that is running on the amd64 runner; perhaps it is not? All i did was:
|
9ef11bc
to
68f966b
Compare
Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
bb4321f
to
ffb1207
Compare
Oh i should test with same clang version we use in the CI: |
Hi, I've rebased my #1842 PR on this branch, and tried to build it with Clang 13 in the environment. I'm getting an undeclared error:
|
Which libbpf version are you using? |
These are the dependencies I tested with:
|
That's weird, you are using correct versions; it seems like the build is using an older libbpf version though since its headers do not contain |
What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area driver-modern-bpf
/area libpman
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Allow to specify multiple program names for each event type and try to inject each of them until success.
This allows us to inject
bpf_loop
sendmmsg and recvmmsg programs where supported, and fallback at a program just sending first message where it isn't.Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
This superseedes #2233
Does this PR introduce a user-facing change?: