net/ipv6: Move nexthop data to fib6_nh
Introduce fib6_nh structure and move nexthop related data from rt6_info and rt6_info.dst to fib6_nh. References to dev, gateway or lwtstate from a FIB lookup perspective are converted to use fib6_nh; datapath references to dst version are left as is. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
e8478e80e5
commit
5e670d844b
@@ -2221,6 +2221,7 @@ static int ipv6_route_seq_show(struct seq_file *seq, void *v)
|
||||
{
|
||||
struct rt6_info *rt = v;
|
||||
struct ipv6_route_iter *iter = seq->private;
|
||||
const struct net_device *dev;
|
||||
|
||||
seq_printf(seq, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen);
|
||||
|
||||
@@ -2230,14 +2231,15 @@ static int ipv6_route_seq_show(struct seq_file *seq, void *v)
|
||||
seq_puts(seq, "00000000000000000000000000000000 00 ");
|
||||
#endif
|
||||
if (rt->rt6i_flags & RTF_GATEWAY)
|
||||
seq_printf(seq, "%pi6", &rt->rt6i_gateway);
|
||||
seq_printf(seq, "%pi6", &rt->fib6_nh.nh_gw);
|
||||
else
|
||||
seq_puts(seq, "00000000000000000000000000000000");
|
||||
|
||||
dev = rt->fib6_nh.nh_dev;
|
||||
seq_printf(seq, " %08x %08x %08x %08x %8s\n",
|
||||
rt->rt6i_metric, atomic_read(&rt->dst.__refcnt),
|
||||
rt->dst.__use, rt->rt6i_flags,
|
||||
rt->dst.dev ? rt->dst.dev->name : "");
|
||||
dev ? dev->name : "");
|
||||
iter->w.leaf = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user