diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-04 21:47:09 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-04 21:55:31 -0800 |
commit | 5e2b61f78411be25f0b84f97d5b5d312f184dfd1 (patch) | |
tree | 6a5faa5fb7a2242bebacba4cdb5722b988d3e909 /net/ipv4/xfrm4_policy.c | |
parent | 1018b5c01636c7c6bda31a719bda34fc631db29a (diff) | |
download | blackbird-op-linux-5e2b61f78411be25f0b84f97d5b5d312f184dfd1.tar.gz blackbird-op-linux-5e2b61f78411be25f0b84f97d5b5d312f184dfd1.zip |
ipv4: Remove flowi from struct rtable.
The only necessary parts are the src/dst addresses, the
interface indexes, the TOS, and the mark.
The rest is unnecessary bloat, which amounts to nearly
50 bytes on 64-bit.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/xfrm4_policy.c')
-rw-r--r-- | net/ipv4/xfrm4_policy.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index 45b821480427..c70c42e7e77b 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c @@ -70,7 +70,12 @@ static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, { struct rtable *rt = (struct rtable *)xdst->route; - xdst->u.rt.fl = *fl; + rt->rt_key_dst = fl->fl4_dst; + rt->rt_key_src = fl->fl4_src; + rt->rt_tos = fl->fl4_tos; + rt->rt_iif = fl->iif; + rt->rt_oif = fl->oif; + rt->rt_mark = fl->mark; xdst->u.dst.dev = dev; dev_hold(dev); |