Skip to content
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

bpf: complexity-tests: split kernel capabilities into separate file #32161

Open
julianwiedmann opened this issue Apr 24, 2024 · 2 comments
Open
Assignees
Labels
area/CI-improvement Topic or proposal to improve the Continuous Integration workflow good-first-issue Good starting point for new developers, which requires minimal understanding of Cilium. kind/complexity-issue Relates to BPF complexity or program size issues sig/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages.

Comments

@julianwiedmann
Copy link
Member

Part of the BPF complexity test configuration is to spell out the capabilities of the tested kernel. For example

-DHAVE_FIB_IFINDEX=1
-DHAVE_FIB_NEIGH=1

But for a given kernel version, these capabilities are identical across all tested configurations and all programs. Thus it would be much less maintenance effort to have a single capabilities.txt file in each kernel directory.

And then have https://github.com/cilium/cilium/blob/main/test/verifier/verifier_test.go mix the file content into the test configuration.

@julianwiedmann julianwiedmann added good-first-issue Good starting point for new developers, which requires minimal understanding of Cilium. sig/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. area/CI-improvement Topic or proposal to improve the Continuous Integration workflow kind/complexity-issue Relates to BPF complexity or program size issues labels Apr 24, 2024
@avi028
Copy link

avi028 commented Apr 24, 2024

Hi @julianwiedmann I would like to solve this issue. Can you assign this to me

@julianwiedmann
Copy link
Member Author

Hi @julianwiedmann I would like to solve this issue. Can you assign this to me

Absolutely, thank you! Please don't hesitate to ask for help (here or on Slack) when you've had time to dig in.

Note that you can test your changes locally doing something like

go test -exec sudo -v -run TestVerifier/bpf_host/1 ./test/verifier/ -cilium-base-path $(pwd) -ci-kernel-version netnext

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/CI-improvement Topic or proposal to improve the Continuous Integration workflow good-first-issue Good starting point for new developers, which requires minimal understanding of Cilium. kind/complexity-issue Relates to BPF complexity or program size issues sig/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages.
Projects
Status: No status
Development

No branches or pull requests

2 participants