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

Behavior on version mismatch between netperf and netserver #64

Open
thatsdone opened this issue Oct 11, 2021 · 0 comments
Open

Behavior on version mismatch between netperf and netserver #64

thatsdone opened this issue Oct 11, 2021 · 0 comments

Comments

@thatsdone
Copy link

I got the following error message when run netperf in my lab.

$ netperf  -H 172.20.110.227
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.20.110.227 () port 0 AF_INET
netperf: send_omni: connect_data_socket failed: Connection refused

At first, I checked netserver side iptables configuration etc., and
after some more analysis, I noticed that there was a version mismatch between
netperf (2.5.0) and netserver (2.7.0) while I was seeing strace log of netserver side.

$ ss -antp  | grep 12865
LISTEN      0        128                     *:12865                  *:*        users:(("netserver",pid=154671,fd=3))

$ sudo strace -p 154671 -f
strace: Process 154671 attached
select(4, [3], [], [], NULL)            = 1 (in [3])
accept(3, {sa_family=AF_INET6, sin6_port=htons(37730), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:172.20.105.106", &sin6_addr), sin6_scope_id=0}, [128->28]) = 6

(snip)

I noticed that there could be a version mismatch when I saw the trace line below.

[pid 158337] write(3, "unknown test number 0\n", 22) = 22
[pid 158337] sendto(6, "\0\0\0b\0\0\3\346\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0"..., 256, 0, NULL, 0) = 256
[pid 158337] recvfrom(6, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256, 0, NULL, NULL) = 144
[pid 158337] recvfrom(6, 0x55deaa20e250, 112, 0, NULL, NULL) = -1 ECONNRESET (Connection reset by peer)
[pid 158337] write(3, "recv_request: error on recv  err"..., 39) = 39
[pid 158337] exit_group(1)              = ?
[pid 158337] +++ exited with 1 +++
^Cstrace: Process 154671 detached

I do understand that we should use the same version for both netserver and netperf,
but still this error message is hard to find out what is going on().

Here, my point is that this is a bit tricky, and I think it's better to output more information on the client (netperf) side.

What do you think about?

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