At 9:53 PM +0200 6/15/00, Niels M�ller wrote:
>To me, a proper definition of the error offset seems possible but
>non-obvious, ..., so it needs to be spelled out clearly.
The error offset (in the ICMP Pointer field) is an index into the returned
packet or truncated packet carried in the payload of an ICMP error message,
pointing to the Next Header field that contains the unknown/unsupported
value that caused the ICMP error message to be sent. (In the unusual case
where the problematical Next Header field does not fall within that part
of the packet that fits within the ICMP error message, the offset points
beyond the end of the returned packet, to where the field would be if it
did fit.) I think that definition is clear enough. But that leaves open
the question of what the returned packet itself should look like, in some
of the unclear cases people have been talking about.
My own opinion is that the returned packet or truncated packet should just
be the packet in the form it (logically) appears in the memory of the
receiver at the point in time when the unrecognized Next Header value is
detected. By "logically", I mean assuming that the receiver is not
stripping off and discarding headers as they are processed (except as
specified for fragment reassembly) or scattering them around to separated
places in memory.
Thus, if the unrecognized value is in a header following a Fragment header,
then the returned packet is the reassembled packet (or as much of the
reassembled packet as will fit, if the whole packet doesn't fit). If the
unrecognized value was found after decompressing a packet, the returned
packet is the decompressed packet (if the security rules allow it to be
sent at all). I don't think it matters that the returned packet might
not be identical to something that was actually sent on the wire, and in
fact it is likely to be more useful as a diagnostic tool if it contains
the "processed" packet. I also think it would be an unwarranted burden
to require implementations to keep around a copy of an unprocessed
received packet, just in case an error message may have to be sent about it.
Comments?
Steve
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page: http://playground.sun.com/ipng
FTP archive: ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------