Open NicoEspla opened 2 years ago
The tcpdumps info (which is very useful) shows that the client successfully sent on the control stream (TCP) the cookie (seq 1:38) and the parameters (seq 42-140) and that the server acked receiving them. The server also received the first 4 bytes UDP message - the Connect message, but for some reason did not reply to it.
The following information may help further evaluation:
-V -d --timestamp
..... finally appear the "Connecting to host..." msg. I always see this pattern when running ptp4l. ...
Although it is strange that it always happen when running ptp4l, it seems to happen only because of the output to screen buffering. Per tcpdump, in both cases it takes about 48ms between the ... ack 2, win 440 ...
and the ... ack 42, win 437 ...
messages.
The tcpdumps info (which is very useful) shows that the client successfully sent on the control stream (TCP) the cookie (seq 1:38) and the parameters (seq 42-140) and that the server acked receiving them. The server also received the first 4 bytes UDP message - the Connect message, but for some reason did not reply to it.
The following information may help further evaluation:
- Run the client and server with the following parameters to get more info
-V -d --timestamp
.- How long does it take between the client "Connection to host ..." message and the the "iperf3 - error: unable ..."? Mainly, does the error occur immediately or it seems that it happens after a timeout?
- After running the ptp4l , will a second try of running the client/server/both also fails?
- Is it required that ptp4l will be run on both sides to cause the error, or is running it only on the client or server machines enough to cause the error?
.... finally appear the "Connecting to host..." msg. I always see this pattern when running ptp4l. ...
Although it is strange that it always happen when running ptp4l, it seems to happen only because of the output to screen buffering. Per tcpdump, in both cases it takes about 48ms between the
... ack 2, win 440 ...
and the... ack 42, win 437 ...
messages.
Hi David! I really appreciate your help on this....
Answering to your questions:
1. Run the client and server with the following parameters to get more info -V -d --timestamp
.
I got an error if I run the command with the "--timestamp" flag: iperf3: unrecognized option `--timestamp'
This is the result of running iperf with the other flags:
2. How long does it take between the client "Connection to host ..." message and the the "iperf3 - error: unable ..."? Mainly, does the error occur immediately or it seems that it happens after a timeout? It seems to be a time out, if I measure the time the error message is thrown after ~30 seconds of getting "Connection to host ..." message
3. After running the ptp4l , will a second try of running the client/server/both also fails? Yes, After running ptp4l I cannot get iperf working until I restart the machine. In the other case, if I do not run ptp4l I can get iperf working every time I run it.
4. Is it required that ptp4l will be run on both sides to cause the error, or is running it only on the client or server machines enough to cause the error? I got different results.
If I run ptp4l only on the server side I get the same result.
If I run ptp4l only on the client side I get the result shown below. What I notice here is that iperf is not ending after 3 seconds (as specified by -t 3) instead it just keep running and printing the same message in the server side.
Best regards
Hi @NicoEspla, it seems that ptp4l cause some side effects on the server's machine, although it is terminated. I am not sure what they may be, but few suggestion to help with the analysis:
@Genericreqd,
-u
option?-d -V
options may give more info.
Context
Version of iperf3: Iperf 3.1.1
Hardware: macB cadence, Power PC E550
Operating system (and distribution, if any): Linux 4.1.38
Bug Report
Expected Behavior I am trying to make iperf3 work with PTP4l at the same time, I expect to have clock synchronization while testing the network bandwidth.
Actual Behavior When running iperf3 without running ptp4l I get a successful network test:
Then, If I run PTP4l, I can have the clocks synchronization working:
If I try to run iperf3 again, I got "iperf3: error - unable to read from stream socket: Resource temporarily unavailable":
Running tcpdump I see one pattern:
This is the server side, on the left the capture before running PTP4l, on the rigth after running PTP4l
This is the client side, on the left the capture before running PTP4l, on the rigth after running PTP4l. In this capture I see: -In the left side a message is sent from the client to the server, then appear the "Connecting to host..." msg, and finally a second message is sent from the client to the server. -In the rigth side a message is sent from the client to the server, then a second message is sent from the client to the server, and finally appear the "Connecting to host..." msg.
I always see this pattern when running ptp4l.
Can someone help me to find the reason for this? or maybe give me some guidance to try to figure out why I am getting this issue?
Best regards