Subject: Re: Linux ip codeReply-to: (fwd)
To: None <darrenr@arbld.unimelb.edu.au>
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
List: current-users
Date: 05/05/1995 23:43:07
>Personally, I don't much like the tone of this guy's reply and think that
>this is probably typical of why the bug existed in the first place.
>
>But, he makes some interesting allegations...does anyone want to do
>anything about them ?  (I would, but for time)

I was saying to myself, "This wouldn't happen to have been Alan Cox who sent
this to you, would it?"  Should have guessed.  He's one of the more rabid
Linux weenies.

I generally don't like getting in these sorts of discussions, as these sorts
of things generally end up having each side argue that the advantages of their
system are the most important things in the world, and that gets silly rather
quickly.  I also don't have all the knowledge required to speak authoritatively
on these subjects, but I will say that to me, the first 3 items don't look all
that important, the 4th I don't understand, the 5th I will freely admit.

>> o	Broken connect()/bind() on RAW sockets
>> o	Abominable unconnected UDP performance
>> o	Prehistoric chained buffer packet management systems
>> o	Broken UDP error handling.
>> o	Easily Spoofable sequence numbering

But the last I _do_ feel like I can respond to, since we are doing ATM work
here.

>> o	Slow performance (Linux pre-1.3 is already doing >70Mbyte/second
>> 	UDP over ATM)

Only 70Mb/sec over ATM?  Sorry to hear that.  Alan of course doesn't mention
the TCP performance over ATM, as since they don't have the TCP large windows
extensions the throughput must be dreadful.

A couple of reasons that come to mind to use BSD networking are:

- multicast (AFAIK there is no multicast for Linux, but please correct me if
  I'm wrong).  All current multicast work that I know of is being developed on
  systems with BSD networking.  And if you don't think multicast is important,
  then you've already missed the boat.  The next release of multicast from
  Xerox PARC will support FreeBSD natively, and I imagine that the NetBSD
  import won't be too hard.
- The majority of IP research is being done with the BSD networking code, which
  means it will be easy to incorporate new features as they come down the
  road.  One group here at NRL had an (early) version of IPv6 running with
  the BSD networking code.

--Ken