ipv6: Report dead flag during route dump
authorIdo Schimmel <idosch@mellanox.com>
Sun, 7 Jan 2018 10:45:10 +0000 (12:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Jan 2018 02:29:40 +0000 (21:29 -0500)
Up until now the RTNH_F_DEAD flag was only reported in route dump when
the 'ignore_routes_with_linkdown' sysctl was set. This is expected as
dead routes were flushed otherwise.

The reliance on this sysctl is going to be removed, so we need to report
the flag regardless of the sysctl's value.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c

index c00156805bf08bbb6cee37b18a397011a7745df5..f62d24948aa25427b17bba8b463891a2948ae2b5 100644 (file)
@@ -4049,6 +4049,9 @@ static size_t rt6_nlmsg_size(struct rt6_info *rt)
 static int rt6_nexthop_info(struct sk_buff *skb, struct rt6_info *rt,
                            unsigned int *flags, bool skip_oif)
 {
+       if (rt->rt6i_nh_flags & RTNH_F_DEAD)
+               *flags |= RTNH_F_DEAD;
+
        if (rt->rt6i_nh_flags & RTNH_F_LINKDOWN) {
                *flags |= RTNH_F_LINKDOWN;
                if (rt->rt6i_idev->cnf.ignore_routes_with_linkdown)