[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTike9biiUvAhckJKHCB6dyS4PzHgFFPF5RNEw4PP@mail.gmail.com>
Date: Tue, 7 Sep 2010 01:20:57 -0300
From: ツ Leandro Melo de Sales <leandroal@...il.com>
To: netdev@...r.kernel.org
Subject: TCP packet size and delivery packet decisions
Hi all,
We are facing a not expected behavior (at least for us) from the
TCP stack under Linux. We need to write 78 bytes per writing using
write() function. But instead of sending 78 bytes TCP implementation
in Linux sends 48 bytes and later 30 bytes. We then started to debug
the implementation, but although we got some progress on this, I have
decided to ask in this list if someone can anticipate provide me more
information why TCP is not sending 78 at once, in addition to have any
clarification about if it is possible to force TCP sends 78 bytes in
each write() function call.
I have tried many alternatives: set TCP_CORK; used socket API to
write a fixed 78 bytes per write() function call; and so forth). Also,
I know that TCP is a byte-stream protocol and this decision is made by
many different factors, such as cwd size, mss and so forth, but 78
bytes is too small to split it in two different packets. Our
application works as expected under Windows, it sends 78 bytes at
once.
In this way, any comment from the list regarding this issue will be
kindly accepted and helpful.
Thank you,
Leandro.
--
Leandro Melo de Sales
Professor in Computer Science at Federal University of Alagoas, Brazil
Pervasive and Embedded Computing Laboratory, UFCG
PhD candidate in Computer Science at UFCG
Download attachment "result.png" of type "image/png" (110510 bytes)
Powered by blists - more mailing lists