Subject: Re: iproute2: prints bogus hoplimit

From: David Miller <[email-masked]>
Date: Wed, 18 Mar 2009 17:54:59 -0700 (PDT)

From: Stephen Hemminger <[email-masked]>
Date: Wed, 18 Mar 2009 16:29:28 -0700

> The issue is that the hoplimit metric in ipv6 gets converted
> to -1 (if it is zero on the incoming route request)..  
> 
> int ip6_route_add(struct fib6_config *cfg)
> {
> ...
> 	  if (dst_metric(&rt->u.dst, RTAX_HOPLIMIT) == 0)
>                 rt->u.dst.metrics[RTAX_HOPLIMIT-1] = -1;
> 
> 
> What should happen is when ip6 returns the route back
> on the dump request (rt6_fill_node), it should translate the -1 back to 0
> to keep it symmetrical and logical. The metrics are unsigned.

This is how "default" is represented.

If you look, ipv4 does the same thing.