All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Doug Graham" <dgraham@nortel.com>
To: linux-sctp@vger.kernel.org
Subject: Re: [PATCH 0/2] Re: Do piggybacked ACKs work
Date: Sat, 05 Sep 2009 04:41:07 +0000	[thread overview]
Message-ID: <4AA1EBE3.3050009@nortel.com> (raw)
In-Reply-To: <1251131172-20602-1-git-send-email-vladislav.yasevich@hp.com>

Vlad Yasevich wrote:
> Doug Graham wrote:
>   
>> Hi Vlad,
>>
>> I'm probably just being stupid, but I can't figure out which version of
>> output.c your patch
>> is supposed to be applied against.  Is it supposed to be applied on top
>> of any of the other
>> patches that Wei or I provided, or does it replace them all?
>>
>> The main reason I ask is that as far as I can tell, your patch doesn't
>> change the original
>> mysterious condition for bundling a SACK, which was "if (asoc->a_rwnd >
>> asoc->rwnd)".
>>     
>
>
> Well, I took your patch verbatum for that code.  These two would apply on
> top of that.
>
> You can see the final code here:
> 	http://git.kernel.org/?p=linux/kernel/git/vxy/lksctp-dev.git;a=shortlog;h=net-next
>
> You can fetch from it like this:
>
> # git fetch git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev.git \
> refs/heads/net-next:refs/heads/<name that branch here>
>
> That will dump the net-next branch into a local branch that you named (can be
> any new name).
>   

Sorry, haven't had a lot of time to play with this until now.  The 
behaviour for
small unfragmented message looks fine, but if the message has to be 
fragmented,
things don't look so good.  I'm ping-ponging a 1500 byte message around: 
client
sends 1500 bytes, server reads that and replies with the same message, 
client
reads the reply then sleeps 2 seconds before doing it all over again.  I 
see no
piggybacking happening at all.  A typical cycle looks like:

 12 2.007226    10.0.0.248    10.0.0.249    SCTP     DATA (1452 bytes data)
 13 2.007268    10.0.0.248    10.0.0.249    SCTP     DATA (48 bytes data)
 14 2.007313    10.0.0.249    10.0.0.248    SCTP     SACK
 15 2.007390    10.0.0.249    10.0.0.248    SCTP     SACK
 16 2.007542    10.0.0.249    10.0.0.248    SCTP     DATA
 17 2.007567    10.0.0.249    10.0.0.248    SCTP     DATA
 18 2.007615    10.0.0.248    10.0.0.249    SCTP     SACK
 19 2.007661    10.0.0.248    10.0.0.249    SCTP     SACK

Those back-to-back SACKs look wasteful too.  One should have done the job,
although I suppose I can't be sure that SACKs aren't crossing DATA
on the wire.  But the real mystery is why the SACKs were
sent immediately after the DATA was received.  Looks like delayed SACKs
might be broken, although they are working for unfragmented messages.

--Doug


  parent reply	other threads:[~2009-09-05  4:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-24 16:26 [PATCH 0/2] Re: Do piggybacked ACKs work Vlad Yasevich
2009-09-02  0:25 ` Doug Graham
2009-09-02 14:29 ` Vlad Yasevich
2009-09-05  4:41 ` Doug Graham [this message]
2009-09-05  4:54 ` Doug Graham
2009-09-06  2:06 ` Vlad Yasevich
2009-09-06  4:27 ` Doug Graham
2009-09-08 19:31 ` Vlad Yasevich
2009-09-08 20:21 ` Doug Graham
2009-09-08 21:05 ` Vlad Yasevich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AA1EBE3.3050009@nortel.com \
    --to=dgraham@nortel.com \
    --cc=linux-sctp@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.