Subject: Re: Linux ip codeReply-to: (fwd)
To: None <ghudson@MIT.EDU>
From: Charles M. Hannum <mycroft@ai.mit.edu>
List: current-users
Date: 05/06/1995 03:50:33
	    4.1.3.3  ICMP Messages

	       UDP MUST pass to the application layer all ICMP error
	       messages that it receives from the IP layer.  Conceptually
	       at least, this may be accomplished with an upcall to the
	       ERROR_REPORT routine (see Section 4.2.4.1).

	       DISCUSSION:
		    Note that ICMP error messages resulting from sending a
		    UDP datagram are received asynchronously.  A UDP-based
		    application that wants to receive ICMP error messages
		    is responsible for maintaining the state necessary to
		    demultiplex these messages when they arrive; for
		    example, the application may keep a pending receive
		    operation for this purpose.

The last part of that indicates that the application may be required
to take some explicit action to received ICMP messages.  In BSD, this
action is simply using the connect() call.