Subject: (IPng 6483) RE: nit-picky error conditions

From: Richard Draves <[email-masked]>
Date: Wed, 16 Sep 1998 09:57:13 -0700

> > By implication one might assume that a host should not check the
> > hop limit at all, but that doesn't seem right.
> 
> Except for ND packets, why should the host ever check the hop limit?
> The network did the work to get a packet to the host, why waste it?

This is a good argument. Someone else mentioned the v4 host/router
requirements specs, and they are pretty clear about this situation in v4:
you should only check the TTL if you are forwarding a packet.

This means that the text in the ICMPv6 spec "If a router receives a packet
with a Hop Limit of zero, ..., it MUST discard the packet and send an ICMPv6
Time Exceeded" should be revised. The router should only be checking the Hop
Limit and sending ICMP errors if it is forwarding, not when it is receiving
packets sent to its own addresses.

Rich
--------------------------------------------------------------------
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-masked]
--------------------------------------------------------------------

---

From: Robert Elz <[email-masked]>
Date: Thu, 17 Sep 1998 19:24:54 +1000

Date:        Wed, 16 Sep 1998 09:57:13 -0700
    From:        Richard Draves <[email-masked]>
    Message-ID:  <4D0A23B3F74DD111ACCD00805F31D8100AF81297@RED-MSG-50>

    This means that the text in the ICMPv6 spec "If a router receives a packet
    with a Hop Limit of zero, ..., it MUST discard the packet and send an ICMPv6
    Time Exceeded" should be revised.

We might want some revision, but I doubt it is in that sentence.

    The router should only be checking the Hop Limit and sending ICMP
    errors if it is forwarding, not when it is receiving packets sent to
    its own addresses.

This is the problem - it needs to be made clear that a "router" isn't a
metal box kept somewhere in a cupboard, and a "host" isn't a plastic
box sitting on a desk, rather a "router" is a thing which accepts packets
not addressed to itself, and forwards them, and a "host" is a thing which
accepts packets destined to a local address, strips the IP level headers,
and passes the rest up the stack.

That is, a thing receiving packets sent to its own addresses is not a router
(whatever piece of hardware it might be living in, or what it might do
to other packets it receives) it is a host.

If that isn't already clear in the definitions, that is what needs to be
fixed.

kre