I'm using NutTCP 5.3.1 to test UDP performance on an IPv6 network. The server is running on another machine. This is running under Windows with the supplied Cygwin DLL.
The client command is:
nuttcp-5-3.1.exe -R1m -u -l512 -6 fe80::.....f40c
The server command is "nuttcp-5.3.1.exe –S -6 -u"
When running, the client side displays this: "nuttcp-t: Warning: IP frags or no data reception since buflen=512 > ctlconnmss=0). In the source I find that ctrconnmss is “control connection maximum segment size”
Here's the relevant section:
if (udp) {
optlen = sizeof(ctlconnmss);
if (getsockopt(fd[0], IPPROTO_TCP, TCP_MAXSEG, (void *)&ctlconnmss, &optlen) < 0)
err("get ctlconn maximum segment size didn't work\n");
if (format & DEBUGMTU)
fprintf(stderr, "ctlconnmss = %d\n", ctlconnmss);
if (buflenopt) {
if (buflen > ctlconnmss) {
if (format & PARSE)
fprintf(stderr, "nuttcp%s%s: Warning=\"IP_frags_or_no_data_reception_since_buflen=%d_>_ctlconnmss=%d\"\n", trans?"-t":"-r", ident, buflen, ctlconnmss);
else
fprintf(stderr, "nuttcp%s%s: Warning: IP frags or no data reception since buflen=%d > ctlconnmss=%d\n", trans?"-t":"-r", ident, buflen, ctlconnmss);
fflush(stderr);
}
}
It appears the code is trying to set the ctlconnmss value with a call to getsockopt. The call doesn't return an error, but returns 0 for ctlconnmss. That value then triggers the warning when compared to the buffer length.
So it it safe to assume the warning is meaningless?