Replies: 2 comments 1 reply
-
Can you say what your ultimate goal is? Modifying packets in the kernel might affect iperf3's dataflow. |
Beta Was this translation helpful? Give feedback.
-
Please provide more information by:
Regarding:
I am not familiar with eBPF, so can you explain what is done (and why)? Especially, is this only about messages sent from the server to the client? If not, what is meant by "sent back to the client"? This may be important, since when the server receive the first message from the client (connect), it deuces the clients IP address and port from the the received message. From the information you sent, it seems that the 4 byte message that the server sent to the client (probably the 0x39383736 UDP_CONNECT_REPLY) was not received by iperf3. |
Beta Was this translation helpful? Give feedback.
-
Context
Version of iperf3:
server: iperf3.7
client: iperf3.9
Hardware:
server: Intel(R) Core(TM) i5-9500T CPU @ 2.20GH
client: Intel(R) Core(TM) i7-10700F CPU @ 2.90GH
Operating system (and distribution, if any):
server: Linux 5.15.0-53-generic additional test summary info #59~20.04.1-Ubuntu
client: Linux 5.15.0-53-generic additional test summary info #59-Ubuntu 20.04.1
Description
I don't know whether it is a bug...
I load an XDP eBPF bytecodes in server, which changes the UDP packet's source and destination MAC, IP and port and sends back to the client. I've tested it manually, and it really works.
I use the cmd below in server and client respectively, want to test the throughput of the server with XDP eBPF:
Both the client and server hang out, like below:
server:
client:
And I use tcpdump to trace the process, there is only two records:
ebpf.zip
Beta Was this translation helpful? Give feedback.
All reactions