aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/route.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-07-13 11:21:29 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-13 11:21:29 -0400
commit85b91b0339e764f7e56ff5968fa10d85451378b4 (patch)
tree539c368948900b35ee8d474829724a796b482d44 /net/ipv4/route.c
parentd01cb20711e3c2df41677ee270d6bdeff24e9902 (diff)
ipv4: Don't store a rule pointer in fib_result.
We only use it to fetch the rule's tclassid, so just store the tclassid there instead. This also decreases the size of fib_result by a full 8 bytes on 64-bit. On 32-bits it's a wash. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/route.c')
-rw-r--r--net/ipv4/route.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 9319bf1f8354..aad21819316d 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1735,7 +1735,7 @@ static void rt_set_nexthop(struct rtable *rt, const struct flowi4 *fl4,
1735 1735
1736#ifdef CONFIG_IP_ROUTE_CLASSID 1736#ifdef CONFIG_IP_ROUTE_CLASSID
1737#ifdef CONFIG_IP_MULTIPLE_TABLES 1737#ifdef CONFIG_IP_MULTIPLE_TABLES
1738 set_class_tag(rt, fib_rules_tclass(res)); 1738 set_class_tag(rt, res->tclassid);
1739#endif 1739#endif
1740 set_class_tag(rt, itag); 1740 set_class_tag(rt, itag);
1741#endif 1741#endif
@@ -2353,11 +2353,9 @@ static struct rtable *ip_route_output_slow(struct net *net, struct flowi4 *fl4)
2353 __be32 orig_saddr; 2353 __be32 orig_saddr;
2354 int orig_oif; 2354 int orig_oif;
2355 2355
2356 res.tclassid = 0;
2356 res.fi = NULL; 2357 res.fi = NULL;
2357 res.table = NULL; 2358 res.table = NULL;
2358#ifdef CONFIG_IP_MULTIPLE_TABLES
2359 res.r = NULL;
2360#endif
2361 2359
2362 orig_daddr = fl4->daddr; 2360 orig_daddr = fl4->daddr;
2363 orig_saddr = fl4->saddr; 2361 orig_saddr = fl4->saddr;