Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Jul 2000 15:40:45 -0700
From:      Peter Wemm <peter@netplex.com.au>
To:        Charlie Younghusband <cwy@xiphos.ca>
Cc:        "'freebsd-net@freebsd.org'" <freebsd-net@FreeBSD.ORG>
Subject:   Re: supported features in BSD TCP 
Message-ID:  <200007042240.PAA54662@netplex.com.au>
In-Reply-To: Message from Charlie Younghusband <cwy@xiphos.ca>  of "Tue, 04 Jul 2000 17:53:21 EDT." <39625CD1.57B64231@xiphos.ca> 

next in thread | previous in thread | raw e-mail | index | archive | help
Charlie Younghusband wrote:
> Hi folks,
> 
> My company is considering working on some extensions to TCP for space
> communications.  So I'm shopping around for a good modifiable TCP stack,
> with many questions I haven't found concisely in any docs
> 
> Does the FreeBSD TCP implementation support:
> -Full RFC 1122 (general good behaviour for internet hosts), 768 (UDP)
> and 793 (standard TCP circa '81)

Yes.

> -RFC 1323 "TCP Extensions for High Performance" aka big fat pipes,
> including round trip time measurement and PAWS

Yes, controllable by a sysctl on/off switch.

> -T/TCP -- TCP Extensions for Transactions (RFC 1644)

Yes, controllable by a sysctl on/off switch.

> -TCP Vegas

No.  (General opinion of this is that it would be bad for the internet)

> -Selective Negative Acknowledgements (SNACKs)

If you mean SACK, yes (patches available, not yet integrated).  SNACK I had
not heard of.  We have a TCP newreno implementation as well.

> -TCP Header compression (RFC 1144)

Yes.

Some others:
- Precision TCP timers.  We use our enhanced callout mechanism to provide
  precise scalable performance with large connection counts.  Traditional
  BSD network stacks have a 1/2 second "service" list where all the connections
  are serviced from.  Under load (hundreds of thousands of connections) our
  stack stands up better than most BSD stacks.  (Which is why it is used
  at Yahoo).
- kqueue (this is more a FreeBSD feature than a TCP stack feature though)
- IPV6
- TCP checksum offloading
- Experimental patches for zero-copy TCP/IP are around.
- Can be made to saturate a gigabit ethernet link.

> And the BSD newbie questions:
> -What's the deal with FreeBSD/NetBSD/OpenBSD?  Which one should I be
> using?  (not intended to be flamebait, sorry...)

I believe neither NetBSD/OpenBSD have T/TCP.  I am not certain about
rfc1323.  I believe NetBSD are about to implement TCP timers.

> -What are my options if I make modifications to the TCP stack (and new
> code) regarding licensing?  I'm told that I can repackage it and sell
> it?  (My boss wants to keep our options open, free open source is harder
> to pay my salary ;)

You can pretty much do whatever you like, but remember that copyright on
large chunks is still held by UC Berkeley.

> And any other suggestions as to what direction I should take with
> this...the work will involve some custom space-standard services (aka
> breaking the normal TCP stack) as well as trying to fill out the TCP
> stack with high performance options described above...I looked briefly
> at some of the FreeBSD TCP source which seemed readable but a little too
> simple to include some of the features I hoped to start with...

Code does not have to be complicated to have features. Just be sure you
are looking at a recent version - the older stuff was pretty light.
(ie: 4.x at a minimum, 5.0 preferably)

> TIA
> Charlie

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007042240.PAA54662>