Re: want opinions on possible glitch in 2.4 network error reporti ng

From: Chris Friesen (cfriesen@nortelnetworks.com)
Date: Thu Feb 07 2002 - 16:06:47 EST


"Richard B. Johnson" wrote:
>
> On Thu, 7 Feb 2002, Chris Friesen wrote:

> > The possibility of random dropping of packets in the kernel means that an
> > infinite loop on sendto() will chew up the entire machine even if you've only
> > got a 10Mbit/s link. This seems just wrong.
> >
>
> This is the basic reason why the return-value of sento() should be
> ignored, even though Alan doesn't agree. Basically, if you give
> valid parameters to sendto() (correct socket, pointer to correct
> structure, etc), you can just ignore the return value. Its not useful
> in the overall scheme. If you must make sure that a UDP packet got
> to a receiver, then the receiver must (somehow) hand-shake with you.
> How you do the handshake is entirely up to you. UDP stands for
> User Datagram Protocol. It's a quick-fling out the spicket. How you
> handle lost messages is up to the user.

Okay, I buy the fact that sendto can't guarantee that the packet got anywhere.
Fine. Now what about sending packets out faster than the output device can
possibly handle them? We know the device is busy, it's under our control. It
seems to me to be logical to block the sender until the congestion goes away, or
return with an error code if the sender is non-blocking. This may not play nice
with the current kernel networking code (qdisc and all that) but doesn't it seem
like a good idea in principle?

Chris

-- 
Chris Friesen                    | MailStop: 043/33/F10  
Nortel Networks                  | work: (613) 765-0557
3500 Carling Avenue              | fax:  (613) 765-2986
Nepean, ON K2H 8E9 Canada        | email: cfriesen@nortelnetworks.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:01:07 EST