Closed gujun4990 closed 1 year ago
@gujun4990 thanks for the report. It's perhaps because the tcp flags was not set, causing the packet to be dropped by connection state check (a TCP packet with neither of SYN, ACK, ... flags is considered invalid). You may add "tcp_flags=2" to construct a SYN packet.
That being said, I'm not sure why the example in antctl traceflow
doesn't set tcp_flags. Perhaps there was a default flags set on server side but removed sometime ago or the example never worked. Regardless, this is indeed an issue which should be fixed, as the other two prococols, udp and icmp can handle the defaulting correctly.
Thanks for your reply, I add "tcp_flags=2" options and traceflow is succeed. The shouldn't a bug, but maybe need to optimize the documents about traceflow. BTW, I found only a request packet from orig to dest, not a reply packet. If the reply packet is dropped, the connection should be failed among pods. But the traceflow is succeed actually. So I wonder whether the openflow table do something that I miss.
Thanks for your reply, I add "tcp_flags=2" options and traceflow is succeed. The shouldn't a bug, but maybe need to optimize the documents about traceflow. BTW, I found only a request packet from orig to dest, not a reply packet. If the reply packet is dropped, the connection should be failed among pods. But the traceflow is succeed actually. So I wonder whether the openflow table do something that I miss.
The injected Traceflow packets are discarded intentionally (even if the trace result is ALLOW) before being forwarded to Pod interface to avoid affecting applications.
Describe the bug I have two pod: antrea-octant and nginx. I would like to traceflow packet from antrea-octant to nginx using tcp protocol.
To Reproduce
root@master:/# antctl traceflow -S kube-system/antrea-octant-d446dfb7f-sxs69 -D ns-test/nginx-deployment-f6dc544c7-szxv7 -f tcp,tcp_dst=80 name: kube-system-antrea-octant-d446dfb7f-sxs69-to-ns-test-nginx-deployment-f6dc544c7-szxv7-7c6lfq22 phase: Failed reason: Traceflow timeout source: kube-system/antrea-octant-d446dfb7f-sxs69 destination: ns-test/nginx-deployment-f6dc544c7-szxv7
Expected Traceflow is succeed when using tcp protocol from a pod to anther.
Actual behavior Traceflow is failed.
Versions:
openvswitch debug information:
I found have no packet_in information from openvswitch to antrea-agent controller.