[IPV6]: Fix route lifetime.
The route expiration time is stored in rt6i_expires in jiffies. The argument of rt6_route_add() for adding a route is not the expiration time in jiffies nor in clock_t, but the lifetime (or time left before expiration) in clock_t. Because of the confusion, we sometimes saw several strange errors (FAILs) in TAHI IPv6 Ready Logo Phase-2 Self Test. The symptoms were analyzed by Mitsuru Chinen <CHINEN@jp.ibm.com>. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b03664869a
commit
3dd4bc68fa
@@ -829,7 +829,7 @@ int ip6_route_add(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh,
|
||||
}
|
||||
|
||||
rt->u.dst.obsolete = -1;
|
||||
rt->rt6i_expires = clock_t_to_jiffies(rtmsg->rtmsg_info);
|
||||
rt->rt6i_expires = jiffies + clock_t_to_jiffies(rtmsg->rtmsg_info);
|
||||
if (nlh && (r = NLMSG_DATA(nlh))) {
|
||||
rt->rt6i_protocol = r->rtm_protocol;
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user