tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: so_rerror



On 05/11/2018 23:10, Havard Eidnes wrote:
Whether it arrived at the kernel by UDP or carrier pigeon and
could not be delivered for reason X, we should not be discarding
this silently.

You can not rely on the implemented error reporting to report all lost
packets sent via UDP.  That's the nature of the UDP protocol, which is
just a tiny demux layer on top of IP, as IP packets can be discarded
in a queue (e.g. as part of executing random early discard as a queue
management scheme) anywhere on the path between the two participating
hosts.

But that's they key point isn't it? Two participating hosts.


My argument is that if I create a client/server setup using UDP on one host only, I would expect the receiver to log an error if it could not receive something the sender claimed it sent because at this point it's all self contained.

Protocols such as TCP and UDP are designed for on the wire, but in this instance there is no wire.

Therefore, to my mind it makes no sense to insist that a particular
type of packet loss event (receive buffer overflow) *must* always be
reported, as there are other packet loss events which will never be
reported to the receiver.

With more than one host I agree entirely, but for a single host I disagree.

I'm with Christos: if you want some sort of reliability and still
insists on using UDP, you need a protocol layer above UDP, with
sequencing, retransmissions, performance enhancements with large
windows, flow control, fairness, etc., so ... perhaps the insistence
on UDP isn't well-thought-out and instead TCP begins to make more
sense as a choice?

This is the thing I don't understand though.
I'm not trying to make anything more reliable.
I'm advocating that we should report things that are unreliable - we got something but could not deliver it. How the unreliable is solved I leave as an exercise to the reader, but we should at least empower them with knowledge that it happened so they can try to fix it if they so want.

Roy


Home | Main Index | Thread Index | Old Index