Pekka Savola wrote:
> On kernel based on 2.6.20.3-rc1 (FC6), 'ip -6 r l' shows:
> 
> default via fe80::212:f0ff:fe5f:c4ec dev eth1  proto kernel  metric
> 1024  expires 7191sec mtu 1500 advmss 1440 hoplimit 4294967295
> 
> (this is the same with iproute2-ss061214 and iproute2-ss070313.)
> 
> So, it seems that the data length for hoplimit is not quite right, or
> it's reported as 2^32-1 instead of 2^8-1...


Does this fix it?

Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 0e1f4b2..ec347e5 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1216,7 +1216,7 @@ install_route:
        }
 
        if (rt->u.dst.metrics[RTAX_HOPLIMIT-1] == 0)
-               rt->u.dst.metrics[RTAX_HOPLIMIT-1] = -1;
+               rt->u.dst.metrics[RTAX_HOPLIMIT-1] = 255;
        if (!rt->u.dst.metrics[RTAX_MTU-1])
                rt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(dev);
        if (!rt->u.dst.metrics[RTAX_ADVMSS-1])
@@ -1821,7 +1821,7 @@ struct rt6_info *addrconf_dst_alloc(stru
        rt->rt6i_idev = idev;
        rt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(rt->rt6i_dev);
        rt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_mtu(&rt->u.dst));
-       rt->u.dst.metrics[RTAX_HOPLIMIT-1] = -1;
+       rt->u.dst.metrics[RTAX_HOPLIMIT-1] = 255;
        rt->u.dst.obsolete = -1;
 
        rt->rt6i_flags = RTF_UP | RTF_NONEXTHOP;

Reply via email to