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: dedicated functions for per-packet lb xlate #23715

Merged
merged 1 commit into from Feb 21, 2023

Conversation

ldelossa
Copy link
Contributor

House-keeping task which introduces dedicated inline functions for per-packet-lb service translation on pod egress.

Cleans up the __handle_ip* methods in bpf_lxc.c so they can be dedicated to expressing the packet flow.

Signed-off-by: Louis DeLosSantos louis.delos@isovalent.com

introduces dedicated inline functions for per-packet-lb service translation on pod egress

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Feb 13, 2023
@ldelossa ldelossa force-pushed the ldelossa/bpf-lxc-svc-xlate branch 6 times, most recently from 6b70775 to e1be799 Compare February 14, 2023 14:21
@ldelossa ldelossa added the release-note/minor This PR changes functionality that users may find relevant to operating Cilium. label Feb 14, 2023
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Feb 14, 2023
@ldelossa
Copy link
Contributor Author

Hold in draft until: #22936 merged, then rebase.

@ldelossa ldelossa marked this pull request as ready for review February 17, 2023 21:03
@ldelossa ldelossa requested a review from a team as a code owner February 17, 2023 21:03
@ldelossa
Copy link
Contributor Author

/test

@ldelossa
Copy link
Contributor Author

/test

@ldelossa
Copy link
Contributor Author

/test-1.25-4.19

@ldelossa
Copy link
Contributor Author

Some combination of macro defs are causing a preprocessor failure:

2023-02-18T16:03:44.512566091Z level=error msg="Failed to compile bpf_lxc.dbg.o: exit status 1" compiler-pid=569 linker-pid=573 subsys=datapath-loader
2023-02-18T16:03:44.512582579Z level=warning msg="/var/lib/cilium/bpf/bpf_lxc.c:721:6: error: expected value in expression" subsys=datapath-loader
2023-02-18T16:03:44.512584803Z level=warning msg="#elif" subsys=datapath-loader
2023-02-18T16:03:44.512586851Z level=warning msg="     ^" subsys=datapath-loader
2023-02-18T16:03:44.512588449Z level=warning msg="/var/lib/cilium/bpf/bpf_lxc.c:1217:6: error: expected value in expression" subsys=datapath-loader
2023-02-18T16:03:44.512589996Z level=warning msg="#elif" subsys=datapath-loader
2023-02-18T16:03:44.512591526Z level=warning msg="     ^" subsys=datapath-loader
2023-02-18T16:03:44.512593196Z level=warning msg="2 errors generated." subsys=datapath-loader
2023-02-18T16:03:44.512676230Z level=debug msg="JoinEP: Failed to compile" debug=true error="Failed to compile bpf_lxc.dbg.o: exit status 1" params="&{Source:bpf_lxc.c Output:bpf_lxc.dbg.o OutputType:obj Options:[]}" subsys=datapath-loader

Odd that we don't catch this is make build or make build_all but must be a combination used for the particular failing ginkgo test: K8sPolicyTestExtended_Validate_toEntities_KubeAPIServer_Allows_connection_to_KubeAPIServer

House-keeping task which introduces dedicated inline functions for
per-packet-lb service translation on pod egress.

Cleans up the __handle_ip* methods in bpf_lxc.c so they can be dedicated
to expressing the packet flow.

Signed-off-by: Louis DeLosSantos <louis.delos@isovalent.com>
@ldelossa
Copy link
Contributor Author

ldelossa commented Feb 21, 2023

/test

Job 'Cilium-PR-K8s-1.25-kernel-4.19' failed:

Click to show.

Test Name

K8sDatapathConfig Host firewall With VXLAN

Failure Output

FAIL: Failed to reach 192.168.56.11:80 from testserver-host-hb5lv

If it is a flake and a GitHub issue doesn't already exist to track it, comment /mlh new-flake Cilium-PR-K8s-1.25-kernel-4.19 so I can create one.

@ldelossa
Copy link
Contributor Author

/test-1.25-4.19

@ldelossa
Copy link
Contributor Author

/mlh new-flake Cilium-PR-K8s-1.25-kernel-4.19

@ldelossa
Copy link
Contributor Author

/test-1.26-net-next

@ldelossa
Copy link
Contributor Author

Spoke with @jibi and the net-next errors can be ignored, they are unrelated to this PR.

@ldelossa ldelossa requested review from julianwiedmann and a team February 21, 2023 14:35
@ldelossa ldelossa added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Feb 21, 2023
@pchaigno
Copy link
Member

Spoke with @jibi and the net-next errors can be ignored, they are unrelated to this PR.

Yep, they are another case of #15474 because Jenkins rebased to include the test changes from #23448 but you're PR branch doesn't include the functional changes. Merging.

@pchaigno pchaigno merged commit 0498c74 into cilium:master Feb 21, 2023
@pchaigno pchaigno added release-note/misc This PR makes changes that have no direct user impact. and removed release-note/minor This PR changes functionality that users may find relevant to operating Cilium. labels Feb 21, 2023
@ldelossa ldelossa deleted the ldelossa/bpf-lxc-svc-xlate branch February 21, 2023 20:49
@pchaigno
Copy link
Member

I've changed the release-note label given there is no user-visible impact here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/misc This PR makes changes that have no direct user impact.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants