Subject: Re: [PATCH] ipv4/ipv6: check hop limit field on input

From: Nicolas Dichtel <[email-masked]>
Date: Tue, 02 Jun 2009 11:30:56 +0200

Brian Haley wrote:
> Eric Dumazet wrote:
>> Nicolas Dichtel a écrit :
>>> Le 01.06.2009 18:19, Florian Westphal a écrit :
>>>> Nicolas Dichtel <[email-masked]> wrote:
>>>>> when network stack receives a packet, it didn't check value of
>>>>> ttl/hop limit
>>>>> field. RFC indicates that a router must drop the packet if this field
>>>>> is 0.
>>>> Whats wrong with the checks in ip(6)_forward?
>>> It's on forward, not on input. Router must not process it.
>>> For example, if you try to ping (with ttl set to 0) the router, you will
>>> receive a reply.
>>>
>> You seem to mix requirements for routers and hosts. ttl processing
>> is relevant for a gateway only, not for a host.
>>
>> (terminology : gateway / host in rfc 792)
>>
>> I would say : who sent this ttl=0 packet at first ?
>>
>> ping -t 0 host
>> ping: can't set unicast time-to-live: Invalid argument
>>
>> So Linux is not able to do that, unless using tricks of course, or patching IP_TTL
> 
> 'ping6 -t 0 host' does work however.  The problem I see is that if you ping a system,
> if it's a host it will respond, if it's a router it won't - the RFCs don't
> explicitly state the host should drop the packet.  I don't know if that difference
> in behavior is desired.  Do we know how any other OSes behave?
I've ask the IETF mailing list about host case. Response was:
"process as normal."

Nicolas

> 
> -Brian
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html