-
Notifications
You must be signed in to change notification settings - Fork 370
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
Support tracing live traffic in Traceflow #2030
Comments
|
Hi @jianjuns , Interesting feature with traceflow. Is it possible to capture this packet on the receiver node as well? I think this can be useful to figure out if the packet of a flow reached the destination or dropped somewhere in the underlay. |
Yes, it does trace the forwarding path from sender to receiver just like a normal Traceflow, but I meant only the sender will report the packet header info. |
Thanks Jianjun. What I meant is could the antrea agent on the receiver node also report these packet headers with a different traceflow request? |
So of now a sender/source Pod must be specified for a Traceflow, and then I feel it is good enough for only the sender to report packet headers (but the receiver will report NodeResult too which proves the packet is received on the receiver Node and is delivered to the destination Pod or dropped). |
Got it. Thanks for clarifying, Jianjun. |
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment, or this will be closed in 180 days |
Describe what you are trying to solve
Support tracing real traffic going on between Pods, besides tracing the injected Traceflow packet.
Collect the captured packet headers for live-traffic tracing.
Support tracing only the packets dropped by NetworkPolicies.
Examples:
Describe the solution you have in mind
Add a flag - LiveTraffic - in Traceflow.Spec to indicate live-traffic tracing. When it is set, instead of generating and injecting a Traceflow packet, the sender Node should just add flows to tag the first packet of the first connection from the Source Pod that matches the Traceflow spec. The tag should be removed before the packet leaving the Antrea pipeline (e.g. outputing to the destination Pod, or sending to external).
Addd a new field to Traceflow.Status for collecting the (IP/TCP/UDP) header information of the captured packet. Antrea Agent on the Sender Node should report the captured packet headers to Traceflow.Status.CapturePacket.
Add a flag - DroppedOnly - Traceflow.Spec to indicate only the dropped packet should be traced/captured. Antrea Agent should add flows to capture only the packets dropped by NetworkPolicies (and match the Traceflow spec).
Add a Timeout attribute to Traceflow.Spec to specify the timeout time of a Traceflow session.
Extend antctl and Octant UI to support live-traffic Traceflow.
Example antctl command
The text was updated successfully, but these errors were encountered: