forked from bpfman/bpfman
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR introduces support for TCX based on the current implementation in the astoycos Aya TCX branch. While minor API changes are anticipated before Aya TCX merges, these are expected to be cosmetic and should not significantly affect bpfman. The PR implements a priority-based API, similar to the existing TC API, with a key difference: TCX does not support "proceed_on" configuration as it's not available in the kernel API. Flow continuation is determined by the return value of the current program. It's important to note that neither the Aya nor the kernel APIs directly support priority. They utilize a relative positioning system, requiring new TCX programs to be placed relative to existing ones. To maintain usability across multiple independent applications, we’ve preserved a TC-like priority API in bpfman, which internally maps to Aya’s relative-ordering API. This PR also adds an integration test and example programs for TCX, which have been successfully tested with Mohammed’s TCX bpfman-operator PR (bpfman/bpfman-operator#102). Additionally, due to TCX's requirement for kernel version 6.6 or higher, GitHub Actions have been updated to use ubuntu-24.04. Signed-off-by: Andre Fredette <[email protected]>
- Loading branch information
1 parent
bf12447
commit b3d8a82
Showing
46 changed files
with
2,167 additions
and
367 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.