tech-net archive

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

Re: so_rerror



> 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.

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.

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?

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index