From: Jon G. <jg...@us...> - 2002-11-20 22:14:00
|
Hi Pawel, Care to post your test progs? Also grab Ethereal and post the trace data if possible. The mailing list might not handle it all, so probably cc: sr...@us... and jg...@us... I'm interested if a_rwnd ever go to 0 with the SACKs that are going back to the sender. I wonder if the client is blocking, since the it doesn't have enough room at the peer side? I'm guessing that since we don't do an unsolicited SACK when the server reads data out it takes the rwnd probe to find out that there is room left. The etheral trace should be able to show if this is occuring. Thanks, Jon Pawel Hadam wrote: > > Welcome everybody > > While experimenting with lksctp I found a problem. But at first: > - I am using SUSE Linux with kernel 2.5.47, and before I was using > kernel 2.5.44 and the problem was the same, > - I am using only IPv6, > > I have written two simple programs: > - client - sends as much data as possible, > - server - counts the received data, > I would like to use it to measure a bandwith in my network using SCTP. > > I can see that SOMETIMES (it does NOT happen always) my client "sleeps". > As I can see in strace and tcpdump everything looks fine, and there is > no reason to "sleep". It happens when both client and server work on the > same machine (via loopback) and also while they work on separate > machines (connected via 100Mb ethernet). > > When my soft works well, I can see a bandwidth on loopback reaching more > than 20MB/sec. While it is not working well the bandwidth drops to > 157-159 kB/sec, and it always drops to the value between 157 and 159 > kB/sec. > > Here below I attach some parts of strace and tcpdump dump, where you may > have a look at what is going on. HADAM is a sending machine, SUMIP6 is a > receiving machine. > > Does anybody have any idea about WHAT IS WRONG ??? I would be very > grateful if you could give some hint what to do?? > Or maybe it is a bug... > > With best regards from Grenoble > Pawel > > <STRACE DUMP> > 20:45:07.093882 getsockopt(3, 0x84 /* SOL_??? */, 11, [-922943488], > [176]) = 0 > 20:45:07.093952 select(4, NULL, [3], NULL, {0, 1}) = 1 (out [3], left > {0, 1000}) > 20:45:07.094123 sendmsg(3, {msg_name(28)={sin_family=AF_INET6, > sin6_port=htons(2345), inet_pton(AF_INET6, > "2001:660:181:26:202:3fff:fe37:7705", &sin6_addr), sin6_flowinfo=0, > sin6_scope_id=0}, msg_iov(1)=[{"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"..., > 1000}], msg_controllen=40, msg_control=0x80535c0, , msg_flags=0}, 0) = > 1000 > 20:45:07.094268 gettimeofday({1037821507, 94292}, NULL) = 0 > 20:45:07.094339 getsockopt(3, 0x84 /* SOL_??? */, 11, [-922943488], > [176]) = 0 > 20:45:07.094421 select(4, NULL, [3], NULL, {0, 1}) = 1 (out [3], left > {0, 1000}) > 20:45:07.094594 sendmsg(3, {msg_name(28)={sin_family=AF_INET6, > sin6_port=htons(2345), inet_pton(AF_INET6, > "2001:660:181:26:202:3fff:fe37:7705", &sin6_addr), sin6_flowinfo=0, > sin6_scope_id=0}, msg_iov(1)=[{"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"..., > 1000}], msg_controllen=40, msg_control=0x80535c0, , msg_flags=0}, 0) = > 1000 > 20:45:07.094726 gettimeofday({1037821507, 94750}, NULL) = 0 > 20:45:07.094799 getsockopt(3, 0x84 /* SOL_??? */, 11, [-922943488], > [176]) = 0 > 20:45:07.094869 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.095428 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.096812 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.097855 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.098806 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.099794 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.101409 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.102437 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.104425 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.105429 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.106426 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.108405 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.109792 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.110792 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.111792 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.112791 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.113791 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.114791 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.115803 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.117404 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.118791 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.119800 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.120790 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.121790 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.123403 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.124403 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.125402 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.126402 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.127402 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.128402 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.129402 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.130402 select(4, NULL, [3], NULL, {0, 1}) = 0 (Timeout) > 20:45:07.131402 select(4, NULL, [3], NULL, {0, 1}) = 1 (out [3], left > {0, 1000}) > 20:45:07.133541 sendmsg(3, {msg_name(28)={sin_family=AF_INET6, > sin6_port=htons(2345), inet_pton(AF_INET6, > "2001:660:181:26:202:3fff:fe37:7705", &sin6_addr), sin6_flowinfo=0, > sin6_scope_id=0}, msg_iov(1)=[{"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"..., > 1000}], msg_controllen=40, msg_control=0x80535c0, , msg_flags=0}, 0) = > 1000 > 20:45:07.133711 gettimeofday({1037821507, 133735}, NULL) = 0 > 20:45:07.133786 getsockopt(3, 0x84 /* SOL_??? */, 11, [-922943488], > [176]) = 0 > 20:45:07.133860 select(4, NULL, [3], NULL, {0, 1}) = 1 (out [3], left > {0, 1000}) > 20:45:07.134035 sendmsg(3, {msg_name(28)={sin_family=AF_INET6, > sin6_port=htons(2345), inet_pton(AF_INET6, > "2001:660:181:26:202:3fff:fe37:7705", &sin6_addr), sin6_flowinfo=0, > sin6_scope_id=0}, msg_iov(1)=[{"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"..., > 1000}], msg_controllen=40, msg_control=0x80535c0, , msg_flags=0}, 0) = > 1000 > 20:45:07.134169 gettimeofday({1037821507, 134193}, NULL) = 0 > 20:45:07.134240 getsockopt(3, 0x84 /* SOL_??? */, 11, [-922943488], > [176]) = 0 > 20:45:07.134311 select(4, NULL, [3], NULL, {0, 1}) = 1 (out [3], left > {0, 1000}) > 20:45:07.134495 sendmsg(3, {msg_name(28)={sin_family=AF_INET6, > sin6_port=htons(2345), inet_pton(AF_INET6, > "2001:660:181:26:202:3fff:fe37:7705", &sin6_addr), sin6_flowinfo=0, > sin6_scope_id=0}, msg_iov(1)=[{"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"..., > 1000}], msg_controllen=40, msg_control=0x80535c0, , msg_flags=0}, 0) = > 1000 > 20:45:07.134633 gettimeofday({1037821507, 134657}, NULL) = 0 > </STRACE DUMP> > > <TCPDUMP DUMP> > 20:45:07.091378 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.091406 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.091432 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.091456 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.092437 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.092466 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.131657 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.131716 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.131785 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > 20:45:07.131814 hadam > sumip6: ip-proto-132 1028 [class 0x2] (len 1028, > hlim 64) > </TCPDUMP DUMP> > > ------------------------------------------------------- > This sf.net email is sponsored by: > Battle your brains against the best in the Thawte Crypto > Challenge. Be the first to crack the code - register now: > http://www.gothawte.com/rd521.html > _______________________________________________ > Lksctp-developers mailing list > Lks...@li... > https://lists.sourceforge.net/lists/listinfo/lksctp-developers |