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

OVS: Enrich UFIDs using ovs-appctl #440

Open
amorenoz opened this issue Oct 30, 2024 · 0 comments
Open

OVS: Enrich UFIDs using ovs-appctl #440

amorenoz opened this issue Oct 30, 2024 · 0 comments

Comments

@amorenoz
Copy link
Contributor

Context: #439

If retis was able to extract UFIDs from the kernel, we would need to talk to OVS to enrich them.

There are currently two interesting ways to enrich UFIDs:

ovs-appctl dpctl/get-flow [dp] ufid:ufid prints the datapath flow, given a UFID
ovs-appctl ofproto/detrace prints the Openflow flows that generated the datapath flow, given a UFID.

This all looks awesome right? What's the catch? Well, the catch is that UFIDs are very volatile. Any change in the OpenFlow flows can make them disappear or if traffic stops matching it, they are expired.

So, the only good way of doing this enrichment is to do it live! That is the challenge: send live requests to OVS without overloading it or delaying event processing too much.

An initial idea (tentative) is:

  • Main thread will send UFIDs to an secondary thread.
  • The secondary thread will throttle (configurable requests/sec) and cache requests and create metadata events with the enriched information
  • sort command will find metadata events associated with (past or future) events
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant