[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090318.175109.14058201.davem@davemloft.net>
Date: Wed, 18 Mar 2009 17:51:09 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: shemminger@...tta.com
Cc: jengelh@...ozas.de, stephen.hemminger@...tta.com,
netdev@...r.kernel.org
Subject: Re: iproute2: prints bogus hoplimit
From: Stephen Hemminger <shemminger@...tta.com>
Date: Wed, 18 Mar 2009 15:12:16 -0700
> On Tue, 24 Feb 2009 11:27:52 +0100 (CET)
> Jan Engelhardt <jengelh@...ozas.de> wrote:
>
> >
> > $ ip -6 r
> > fc00::/7 dev rtl0 proto kernel metric 256 mtu 1500 advmss 1440
> > hoplimit 4294967295
> >
> > Most likely, "hoplimit -1" would be the right number, though I am not
> > sure if simply changing %u by %d is a correct thing to do, since it
> > would affect all fields.
...
> > diff --git a/ip/iproute.c b/ip/iproute.c
> > index 6a2ea05..91a8cc0 100644
> > --- a/ip/iproute.c
> > +++ b/ip/iproute.c
> > @@ -507,7 +507,7 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
> >
> > if (i != RTAX_RTT && i != RTAX_RTTVAR &&
> > i != RTAX_RTO_MIN)
> > - fprintf(fp, " %u", *(unsigned*)RTA_DATA(mxrta[i]));
> > + fprintf(fp, " %d", *(unsigned*)RTA_DATA(mxrta[i]));
> > else {
> > unsigned long long val = *(unsigned*)RTA_DATA(mxrta[i]);
> >
>
> No fix the kernel please.
I don't know what you mean by this Stephen. Why don't you take
a look at when and why the kernel uses '-1'?
"-1" is the hoplimit the kernel uses in the dst metric to mean
"use the default".
So this iproute patch is absolutely correct, or alternatively, iproute
can print "default" when it sees '-1'.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists