Subject: Re: Melting down your network
To: Emmanuel Dreyfus <manu@netbsd.org>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-kern
Date: 03/28/2005 16:01:41
In message <1gu5sr0.14unfpg1vlsx9bM%manu@netbsd.org>Emmanuel Dreyfus writes
>Jonathan Stone <jonathan@dsg.stanford.edu> wrote:


>The quote was useless, as I did read the standard before opening the PR.

It was not useless; it was entirely on-point.  If you read that page,
but didn't understand it, then what does that say?  That you don't
possess a suitable technical background to read the SuSv3 spec as it
regards a networking primitive?  Is that _really_ your response?



>No whining here, I just tried to help the project on my leisure time. As
>a reward I get flammage.

There was whining, and repeated whining at that. But that said:

As this conversation has unfolded, it seems very unlikely that you
have no idea -- you genuinely do not have the background context -- to
appreciate just how ill-advised, and even potentially dangerous, your
design actually is.

Myself, I am (so to speak) surrounded by , or saturated with, or even
completely submerged in, that background context.  [[I have, after
all, a decade or more working and researching in the group which
originally created IP multicast, for.  and collaborating with other
researchers and participating in research discussions on several
multicast-based protocols and applications. (And other non-multicast
research, too).]]

I do not, and did not, expect that level of sophistication from you.
But (and here's the rub): once you released your application to the
world, the onus is on *you* to ensure that it's not ill-designed and
dangerous.

I tell you that three times. In all earnest and sincerity.  If you
don't, you will one day get much harsher responses, from _far_ more
unpleasant sources.




By now, it seems clear that you simply don't have the necessary
background to attempt what you are attempting, or to understand the
consequences.  If we treat the SUSv3 spec as a comprehension test, you
have failed to understand even the behaviour of the system-calls you
were issuing are supposed to do, let alone the area of congestion
control your application *NEEDS* to have, to succeed at your (other)
stated aims.

And whether you appreciate it (even now) or not, you biting off a
problem which, to solve well in anything like a general case, would
quite probably earn you a Ph.D from a top-flight graduate school.  Yet
that problem domain is far from completely unknown: we know enough to
know that *some* approaches are actively harmful, either to a given
broadcast domain or to a private Internet, or (with suitable very
changes) to the wider Internet.

And thus, through no deliberate malice or harmful intent on your part
you fell into the trap of repeating a classic mistakes.  (technically,
I think you compounded several common mistakes, with synergistic bad
effects; but lets skip that for now.)

You then complained, that the necessary and expected response to
congestion created by your application, was somehow a "bug".  You
continued to complain about this "bug" this even after several people
(not just me) pointed out that current behaviour was entirely correct,
and in conformance with standards, and (I add) entirely appropriate
and necessary.

You have even managed to compound several normally distinct mistakes
in a way which is actively *harmful*, and which (in some jurisdictions)
could conceivably lead to prosecution or civil liability, under some scenarios,
possibly as a contributor to malicious acts by third parties. (IANAL,) Surely
you'd sooner hear that here, albeit in the most unflattering of terms,
than end up involved in litigation?



>What people do with multicast on their own LAN and with TTL = 1 is not
>your business. Please stop whining about it, that's getting rude.  

*If* it is on their own LAN and private. So: sure just as soon as you
cease being obnoxious to the community as a whole, by:

1.  Cease and withdraw complaints that NetBSD has a bug, simply
    because NetBSD is (quite properly and by design, like all
    other *BSD code), dropping packets under congestion;

and 

2.  You *make* your app a private application, by removing your
    badly-designed and potentially dangerous app from pkgsrc,
    to prevent any innocent parties from inadvertently using it.
    It should  not be made available in pkgsrc until it does implement
    appropriate behaviour under congestion.