[netperf-talk] SCTP and Nagle's Algorithm
Chris Lydick
lydick at ksu.edu
Thu Jul 5 12:48:53 PDT 2007
Rick,
Thanks for the reply. To cut down on the extent of the text file, here's
a little before and a after the setsockopt() call.
..
write(1, "SCTP STREAM TEST from 0.0.0.0 (0"..., 105) = 105
socket(PF_INET, SOCK_STREAM, 0x84 /* IPPROTO_??? */) = 4
getsockopt(4, SOL_SOCKET, SO_SNDBUF, [110592], [4]) = 0
getsockopt(4, SOL_SOCKET, SO_RCVBUF, [110592], [4]) = 0
setsockopt(4, 0x84 /* SOL_?? */, 1, [1], 4) = -1 EINVAL (Invalid
argument)
write(1, "netperf: create_data_socket: nod"..., 47) = 47
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(4, {sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("0.0.0.0")}, 16) = 0
brk(0x80c7000) = 0x80c7000
send(3, "\0\0\1\364\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
256, 0) = 256
..
For the full text file, I've uploaded it to the following location:
http://tinyurl.com/2qn46d
Thanks,
Chris Lydick
Quoting Rick Jones <rick.jones2 at hp.com>:
> Chris Lydick wrote:
> > List,
> >
> > I am receiving an error when attempting to disable Nagle's
> Algorithm.
> > I've read that the LKSCTP library enables Nagle by default, but I'm
> > unable to disable the algorithm. Any ideas? Is this more of a
> LKSCTP
> > issue? And, if I pass messages size larger than my MSS (ie. -m
> MSS*2),
> > is it possible to passively bypass it?
> >
> > I'm using Ubuntu 7.04 with libsctp1 and libsctp-dev libraries.
> >
> > $ ./netperf -t SCTP_STREAM -H x.x.x.x -c -C -l 30 -- -m 8952 -S
> 16777216
> > -s 16777216 -D L,R
> >
> > WARNING! getaddrinfo on this platform does not accept IPPROTO_SCTP!
> > Please contact your vendor for a fix to this bug in getaddrinfo().
> > SCTP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to x.x.x.x
> > (x.x.x.x) port 0 AF_INET : nodelay
> > netperf: create_data_socket: nodelay: errno 22
> > ..
> >
> > I've dug through the code a bit, and the line in question is
> > nettest_bsd.c:981(ish), the setsockopt() command is returning that
> > error. I'm using Netperf 2.4.3.
> >
> > Error 22: Invalid Argument.
>
> First thing to do is drop the L,R since they will be ignored - the
> options parsing, upon seeing a -D option will set both loc_nodelay
> and
> rem_nodelay to 1 arbitrarily.
>
> I cannot imagine why that would be the root cause, but it would be a
> cleanup. When it still fails, then getting a system call trace of
> the
> behaviour would be good. It would be nice to see exactly what values
> are being passed-in on the setsockopt() call.
>
> rick jones
>
> >
> > Thanks,
> > Chris Lydick
> >
> > _______________________________________________
> > netperf-talk mailing list
> > netperf-talk at netperf.org
> > http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk
>
>
More information about the netperf-talk
mailing list