Skip to content

Conversation

@bugie
Copy link

@bugie bugie commented Jan 9, 2026

Description

This change will add support for TCX in the Packetparser plugin using the ebpf link package.

This PR introduces a new environment variable to enable TCX, RETINA_FORCE_TCX_MODE. For backward compatibility this must be set to "true" to be enabled. If set to true and TCX is not found to be supported, TC is the fall back.

Related Issue

#1958

Checklist

  • I have read the contributing documentation.
  • I signed and signed-off the commits (git commit -S -s ...). See this documentation on signing commits.
  • I have correctly attributed the author(s) of the code.
  • I have tested the changes locally.
  • I have followed the project's style guidelines.
  • I have updated the documentation, if necessary.
  • I have added tests, if applicable.

Screenshots (if applicable) or Testing Completed

Please add any relevant screenshots or GIFs to showcase the changes made.

Additional Notes

Add any additional notes or context about the pull request here.


Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.

@bugie bugie requested a review from a team as a code owner January 9, 2026 21:47
@bugie bugie requested review from ibezrukavyi and mugeshsp January 9, 2026 21:47
@bugie
Copy link
Author

bugie commented Jan 9, 2026

@microsoft-github-policy-service agree company="Adobe"

@nddq nddq added type/enhancement New feature or request area/ebpf scope/M Change is Medium labels Jan 9, 2026
@bugie bugie force-pushed the 1958/Packetparser-TCX branch from 5135bf7 to 6d5f64f Compare January 12, 2026 20:40
@bugie bugie changed the title Issue 1958: Add TCX support to the packetparser plugin fix: Add TCX support to the packetparser plugin Jan 12, 2026
bugie added 3 commits January 16, 2026 13:59
Signed-off-by: Brian Ugie <brian@ugie.org>
Signed-off-by: Brian Ugie <brian@ugie.org>
@bugie bugie force-pushed the 1958/Packetparser-TCX branch from e3aa8be to 758bfef Compare January 16, 2026 21:59
bugie added 2 commits January 20, 2026 09:07
Signed-off-by: Brian Ugie <brian@ugie.org>
Signed-off-by: Brian Ugie <brian@ugie.org>
@bugie
Copy link
Author

bugie commented Jan 20, 2026

I am finding it difficult to reproduce the CI errors locally. Could use some guidance.

  • Running make golangci-lint yields an error about m2c not found. Could not find a reference on what this is or where to obtain it.
  • Earlier, running make lint was successful locally but I see CI here caught a few things and now locally, I get lint errors for an unrelated file. pkg/capture/crd_to_job.go:740:1: The line is 134 characters long, which exceeds the maximum of 120 characters. Seems a bit inconsistent.

Could I get some help with how to run CI locally to reproduce that is run via Github Actions to help avoid this commit noise? I am running Ubuntu 24.04

@anubhabMajumdar
Copy link
Contributor

Hi @bugie Thanks for raising the PR. With TCX available in newer kernels, adding support for it a great idea.
I envision that TCX will be the default in near future, with TC as fallback only when support in missing on the node. With that in mind, let's refactor this PR to add support for long term usage.

  1. We should start by adding a new configuration for using TCX, something like EnableTCX: auto/always/off . auto can be the default option. We should add check for TCX support and based on that use TCX or TC.
  2. We shouldn't add the support in existing packetparser plugin. Instead, let's add a new packetparser plugin for TCX. Based on above config and kernel version, etc, during runtime with packetparser_TC/TCX gets activated.
  3. We can move the parse function in C code to common lib and use it for both plugin.

@anubhabMajumdar anubhabMajumdar self-requested a review January 22, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ebpf scope/M Change is Medium type/enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Packetparser metrics missing when Cilium uses TCX (TC/TCX attachment conflict)

3 participants