Re: [PATCH net-next] net/ipv4: Remove fib table id from rtable

2018-02-15 Thread David Miller
From: David Ahern 
Date: Wed, 14 Feb 2018 14:24:28 -0800

> Remove rt_table_id from rtable. It was added for getroute to return the
> table id that was hit in the lookup. With the changes for fibmatch the
> table id can be extracted from the fib_info returned in the fib_result
> so it no longer needs to be in rtable directly.
> 
> Signed-off-by: David Ahern 

Nice, applied, thanks David.


[PATCH net-next] net/ipv4: Remove fib table id from rtable

2018-02-14 Thread David Ahern
Remove rt_table_id from rtable. It was added for getroute to return the
table id that was hit in the lookup. With the changes for fibmatch the
table id can be extracted from the fib_info returned in the fib_result
so it no longer needs to be in rtable directly.

Signed-off-by: David Ahern 
---
 drivers/net/vrf.c   | 1 -
 include/net/route.h | 2 --
 net/ipv4/route.c| 9 +
 net/ipv4/xfrm4_policy.c | 1 -
 4 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c
index 139c61c8244a..239c78c53e58 100644
--- a/drivers/net/vrf.c
+++ b/drivers/net/vrf.c
@@ -736,7 +736,6 @@ static int vrf_rtable_create(struct net_device *dev)
return -ENOMEM;
 
rth->dst.output = vrf_output;
-   rth->rt_table_id = vrf->tb_id;
 
rcu_assign_pointer(vrf->rth, rth);
 
diff --git a/include/net/route.h b/include/net/route.h
index 1eb9ce470e25..158833ea7988 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -65,8 +65,6 @@ struct rtable {
/* Miscellaneous cached information */
u32 rt_pmtu;
 
-   u32 rt_table_id;
-
struct list_headrt_uncached;
struct uncached_list*rt_uncached_list;
 };
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 6ce623e3e2ab..5ca7415cd48c 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1509,7 +1509,6 @@ struct rtable *rt_dst_alloc(struct net_device *dev,
rt->rt_pmtu = 0;
rt->rt_gateway = 0;
rt->rt_uses_gateway = 0;
-   rt->rt_table_id = 0;
INIT_LIST_HEAD(>rt_uncached);
 
rt->dst.output = ip_output;
@@ -1727,8 +1726,6 @@ static int __mkroute_input(struct sk_buff *skb,
}
 
rth->rt_is_input = 1;
-   if (res->table)
-   rth->rt_table_id = res->table->tb_id;
RT_CACHE_STAT_INC(in_slow_tot);
 
rth->dst.input = ip_forward;
@@ -2001,8 +1998,6 @@ out:  return err;
rth->dst.tclassid = itag;
 #endif
rth->rt_is_input = 1;
-   if (res->table)
-   rth->rt_table_id = res->table->tb_id;
 
RT_CACHE_STAT_INC(in_slow_tot);
if (res->type == RTN_UNREACHABLE) {
@@ -2231,8 +2226,6 @@ static struct rtable *__mkroute_output(const struct 
fib_result *res,
return ERR_PTR(-ENOBUFS);
 
rth->rt_iif = orig_oif;
-   if (res->table)
-   rth->rt_table_id = res->table->tb_id;
 
RT_CACHE_STAT_INC(out_slow_tot);
 
@@ -2762,7 +2755,7 @@ static int inet_rtm_getroute(struct sk_buff *in_skb, 
struct nlmsghdr *nlh,
rt->rt_flags |= RTCF_NOTIFY;
 
if (rtm->rtm_flags & RTM_F_LOOKUP_TABLE)
-   table_id = rt->rt_table_id;
+   table_id = res.table ? res.table->tb_id : 0;
 
if (rtm->rtm_flags & RTM_F_FIB_MATCH) {
if (!res.fi) {
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c
index 753f526cf9db..796ac4115485 100644
--- a/net/ipv4/xfrm4_policy.c
+++ b/net/ipv4/xfrm4_policy.c
@@ -100,7 +100,6 @@ static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct 
net_device *dev,
xdst->u.rt.rt_gateway = rt->rt_gateway;
xdst->u.rt.rt_uses_gateway = rt->rt_uses_gateway;
xdst->u.rt.rt_pmtu = rt->rt_pmtu;
-   xdst->u.rt.rt_table_id = rt->rt_table_id;
INIT_LIST_HEAD(>u.rt.rt_uncached);
 
return 0;
-- 
2.11.0