Subject: Re: Melting down your network [Subject changed]
To: None <tech-kern@netbsd.org>
From: Christos Zoulas <christos@tac.gw.com>
List: tech-kern
Date: 03/28/2005 18:54:25
In article <E1DG3gL-0007l4-00@smeg.dsg.stanford.edu>,
Jonathan Stone  <jonathan@dsg.stanford.edu> wrote:

>Emmanuel,
>
>That's the whole point: what you are doing *is* harmful.
>
>I used the word 'evil' advisedly and literally. It may may even well
>be a crime or liable under civil law, in some jurisdictions.  I
>honestly don't know, but (as an expert in the field) it seems entirely
>possible.  I would not like to rely on ignorance as a defense,
>if it ever came to that.
>
>I would much, much rather we stop it now, before it ever gets anywhere
>near that stage.  Wouldn't you?
>


I don't understand how the discussion got sidetracked to: if this
is the right thing to do, or how the application should be programmed,
and what protocol it should be using. The point is much simpler:
How send(2) should behave when the interface queue gets full. Let's
concentrate on that please instead of hijacking the discussion.

At this point we know the following:

- linux does not return an error. From the time that it takes to complete
  the test, it appears to be waiting for the interface queue.
- FreeBSD/NetBSD do return an error [ENOBUFS].
- I don't know what other OS's do, but I would be interested to know.

As a side-note, I don't think that returning ENOBUFS is a SUS compliance
issue, I just think that it is lame.

christos