[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Possible TCP enqueue improvement

From: Kieran Mansley
Subject: Re: [lwip-users] Possible TCP enqueue improvement
Date: Fri, 25 Nov 2005 09:07:28 +0000

On Thu, 2005-11-24 at 16:25 +0000, Bob Grice wrote:
> I've noticed a minor issue in tcp_enqueue that results in segments <
> mss being sent.
> The enqueue function first splits the received data into segments all
> of mss size apart from the last, it then checks the last segment on
> the unsent queue and attempts to join the segments if the last is also
> < mss.
> Now, this works a treat when you are doing small writes, however if
> you do a writes (worst case is mss bytes +1) you end up with <mss> <1
> byte> <mss> <1 byte> rather than <mss> <mss> <2 bytes>.

That's interesting, and while it shouldn't be a huge problem for most
people, it could do with being fixed.

Also relevant at the moment is that yesterday it was suggested that we
can tell, for Nagle purposes, that there is MSS worth of data to be sent
if there is >1 segment in the send queue.  If your description of the
send queue is right, then clearly that wont always be the case, and the
suggested patch for Nagle will need some modification.

> Basically, the code needs to check the space available in the last of
> the unsent before it splits the new data into mss sized units, but I
> think this would need a fairly major re-arrangement of the existing
> function to achieve.

I'm unlikely to have time to do this, but again it sounds like a good


reply via email to

[Prev in Thread] Current Thread [Next in Thread]