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

Improve tracking of connectionless UDP syscalls #1741

Merged
merged 7 commits into from
Sep 30, 2024

Conversation

Molter73
Copy link
Collaborator

@Molter73 Molter73 commented Jul 12, 2024

Description

The recvmmsg and sendmmsg are used by passt in order to handle UDP messages. Because it does so in a stateless manner, we need to track these in order to support UDP on OCP Virt.

Checklist

  • Investigated and inspected CI test results
  • Updated documentation accordingly

Automated testing

  • Added unit tests
  • Added integration tests
  • Added regression tests

If any of these don't apply, please comment below.

Testing Performed

Added relevant tests to CI.

@Molter73 Molter73 force-pushed the mauro/track-mmsg-syscalls branch 2 times, most recently from a02f37b to 7bec1af Compare July 12, 2024 13:49
@Molter73 Molter73 force-pushed the mauro/track-mmsg-syscalls branch 2 times, most recently from fbace2b to 72968d3 Compare August 13, 2024 15:15
@Molter73 Molter73 force-pushed the mauro/track-mmsg-syscalls branch 4 times, most recently from 1efbff6 to 280469b Compare August 22, 2024 11:17
@Molter73 Molter73 force-pushed the mauro/track-mmsg-syscalls branch 2 times, most recently from 251ec76 to 75eae35 Compare September 10, 2024 10:22
@Molter73 Molter73 added the run-multiarch-builds Run steps for non-x86 archs. label Sep 10, 2024
@Molter73 Molter73 force-pushed the mauro/track-mmsg-syscalls branch 2 times, most recently from 4a5b583 to 17c6415 Compare September 13, 2024 10:31
@Molter73 Molter73 marked this pull request as ready for review September 18, 2024 14:23
@Molter73 Molter73 requested a review from a team as a code owner September 18, 2024 14:23
@Molter73
Copy link
Collaborator Author

RHEL-SAP 8.4 is failing due to a verifier error on an unimplemented ebpf instruction. After some investigation, the instruction seems to be trying to load the address to the handle_exit function that needs to be called, (see this comment for more details on why it needs to be called). I'll look to see if it's possible to make falco skip a program that fails the verifier and keeps loading the rest of them, but for now I would like to disable the test unless we have a good reason to not do so.

@Molter73 Molter73 changed the title Start tracking recvmmsg and sendmmsg in order to fully support OCP Virt Allow tracking of connectionless UDP syscalls Sep 18, 2024
@Molter73 Molter73 changed the title Allow tracking of connectionless UDP syscalls Improve tracking of connectionless UDP syscalls Sep 18, 2024
@Molter73
Copy link
Collaborator Author

I have a potential fix for the RHEL-SAP 8.4 verifier issue on these 2 PRs:

Basically we can circumvent the verifier error by not loading the offending probe if collector is not configured to track send/recv syscalls.

I need to investigate why the TestUdpNetworkFlow suite is not being run, that one should still hit the verifier issue and will require it to be excluded from the tests run on RHEL-SAP 8.4.

Copy link
Collaborator

@Stringy Stringy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of questions and comments, but overall LGTM!

integration-tests/suites/udp_networkflow.go Show resolved Hide resolved
integration-tests/suites/udp_networkflow.go Show resolved Hide resolved
integration-tests/suites/udp_networkflow.go Show resolved Hide resolved
integration-tests/suites/udp_networkflow.go Show resolved Hide resolved
@Molter73 Molter73 merged commit 2a06ef4 into master Sep 30, 2024
92 of 94 checks passed
@Molter73 Molter73 deleted the mauro/track-mmsg-syscalls branch September 30, 2024 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
run-multiarch-builds Run steps for non-x86 archs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants