public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: TCP_NOPUSH on FreeBSD, TCP_CORK on Linux (was: Is sendfile all that
@ 2001-02-08  1:27 Dan Kegel
  2001-02-08  3:58 ` Tony Finch
  0 siblings, 1 reply; 7+ messages in thread
From: Dan Kegel @ 2001-02-08  1:27 UTC (permalink / raw)
  To: kuznet, linux-kernel@vger.kernel.org, dot

Alexy wrote:

> > > How close is TCP_NOPUSH to behaving identically to TCP_CORK now? 
> 
> They have not so much of common. 
> 
> TCP_NOPUSH enables T/TCP and its presense used to mean that 
> T/TCP is possible on this system. Linux headers cannot 
> even contain TCP_NOPUSH.

But Tony Finch wrote:
> They are exactly the same. 

Alexy, Tony just checked in a change to FreeBSD to make TCP_NOPUSH behave the
same as TCP_CORK.

Tony, are people using the TCP_NOPUSH define as a way to detect
the presence of T/TCP support?  In that case, perhaps the right
thing to do to achieve source compatibility would be for FreeBSD
to also define TCP_CORK (and give it TCP_NOPUSH as a value, perhaps).

- Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 7+ messages in thread
* TCP_NOPUSH on FreeBSD, TCP_CORK on Linux (was: Is sendfile all that  sexy?)
@ 2001-02-05 23:15 Dan Kegel
  2001-02-05 23:20 ` TCP_NOPUSH on FreeBSD, TCP_CORK on Linux (was: Is sendfile all that Alan Cox
  0 siblings, 1 reply; 7+ messages in thread
From: Dan Kegel @ 2001-02-05 23:15 UTC (permalink / raw)
  To: Tony Finch; +Cc: Linus Torvalds, linux-kernel@vger.kernel.org

Tony Finch wrote:
> 
> Tony Finch <dot@dotat.at> wrote:
> >Linus Torvalds <torvalds@transmeta.com> wrote:
> >>
> >>Without proper uncorking (and it really shouldn't be that hard to
> >>add), TCP_NOPUSH simply can't be used in the generic sense.
> >
> >It was easy :-) I've put up a patch for FreeBSD that adds proper
> >uncorking on my homepage <http://apache.org/~fanf/> in the "Stuff"
> >section.
> 
> ... and it has been committed to -CURRENT, too.

How very cool.

How close is TCP_NOPUSH to behaving identically to TCP_CORK now?
If it does behave identically, it might be time to standardize
the symbolic name for this option, to make apps more portable
between the two OS's.  (It'd be nice to also standardize the
numeric value, in the interest of making the ABI's more compatible, too.)

Here are the definitions in the two OS's at the moment:

FreeBSD: netinet/tcp.h (from 
http://minnie.cs.adfa.oz.au/FreeBSD-srctree/newsrc/netinet/tcp.h.html#TCP_NOPUSH )

/*
 * User-settable options (used with setsockopt).
 */
#define TCP_NODELAY     0x01    /* don't delay send to coalesce packets */
#define TCP_MAXSEG      0x02    /* set maximum segment size */
#define TCP_NOPUSH      0x04    /* don't push last block of write */

Linux: netinet/tcp.h:

/*
 * User-settable options (used with setsockopt).
 */
#define TCP_NODELAY 0x01    /* don't delay send to coalesce packets */
#define TCP_MAXSEG  0x02    /* set maximum segment size */
#define TCP_CORK    0x03    /* control sending of partial frames */      

- Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-02-08 19:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-02-08  1:27 TCP_NOPUSH on FreeBSD, TCP_CORK on Linux (was: Is sendfile all that Dan Kegel
2001-02-08  3:58 ` Tony Finch
2001-02-08 19:52   ` Linus Torvalds
  -- strict thread matches above, loose matches on Subject: below --
2001-02-05 23:15 TCP_NOPUSH on FreeBSD, TCP_CORK on Linux (was: Is sendfile all that sexy?) Dan Kegel
2001-02-05 23:20 ` TCP_NOPUSH on FreeBSD, TCP_CORK on Linux (was: Is sendfile all that Alan Cox
2001-02-05 23:24   ` Dan Kegel
2001-02-05 23:49   ` Tony Finch
2001-02-06 18:41   ` kuznet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox