From: Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>
Date: Thu, 14 Jan 2010 12:22:16 +0100
It's just
+ if (iph->ttl < inet_sk(sk)->min_ttl)
+ goto discard_and_relse;
I'm probably missing something, but naively I would expect all
packets with ttl > 0 to be discarded then when min_ttl is zero.
Andi, the feature works from top to bottom.
The idea is that the min_ttl is set very high, so that
you'll only accept packets from hosts that started with
a ttl of 255 and are within a hop or two from you. (therefore
you'd set min_ttl to 254 or 253, something like that)
Since the ttl can never be less than zero, the test
will never hit when min_ttl is zero, and thus this is
that state where the socket option is not enabled.