Hi Tim > At the UNH-IOL we recently received a router implementation that > discards a packet when it receives a packet with a hop > limit of zero. Based on the following quote from RFC 2460, > "The packet is discarded if Hop Limit is decremented to > zero." If router is the end-node it should still process > the the packet, as the hop-limit isn't decremented until > the packet is forwarded.
That is the intended behavior. You only discard a packet if you decrement the TTL and it reaches zero. > According to RFC 4443 Section 3.3 "If a router receives a > packet with a Hop Limit of zero, or if a router decrements a > packet's Hop Limit to zero, it MUST discard the packet and originate > an ICMPv6 Time Exceeded message with Code 0 to the source of the > packet." The UNH-IOL had interpreted router to be a device that is > forwarding a packet, therefore the packet should still be processed > when it's the end receiver. The implementation viewed this quote as > stating that a router should discard the packet regardless of being > the end receiver. This section refers to the generation of a Time Exceeded Message. You shouldn't be executing this section of the spec unless you had already decided to generate such a message. (That said, the wording above could be better.) > So I would like to ask the working group should a router always > discard a packet with a hop limit of zero even when it's > the end receiver of the packet? IMO, only if it decrements the TTL and it reaches zero. One only decrements if one is about to forward a packet... Also, RFC 2460 says: > Hop Limit 8-bit unsigned integer. Decremented by 1 by > each node that forwards the packet. The packet > is discarded if Hop Limit is decremented to > zero. Thomas -------------------------------------------------------------------- IETF IPv6 working group mailing list ipv6@ietf.org Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6 --------------------------------------------------------------------