diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-11-13 21:33:32 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 14:53:37 -0800 |
commit | b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b (patch) | |
tree | c057ff62b03582493b74005f7959a0207e748468 /include/net | |
parent | 550ade8432a2a6fbfb48ba7018750b0e8c81e8d0 (diff) | |
download | talos-obmc-linux-b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b.tar.gz talos-obmc-linux-b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b.zip |
[IPV6]: Move nfheader_len into rt6_info
The dst member nfheader_len is only used by IPv6. It's also currently
creating a rather ugly alignment hole in struct dst. Therefore this patch
moves it from there into struct rt6_info.
It also reorders the fields in rt6_info to minimize holes.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/dst.h | 1 | ||||
-rw-r--r-- | include/net/ip6_fib.h | 11 |
2 files changed, 8 insertions, 4 deletions
diff --git a/include/net/dst.h b/include/net/dst.h index 2f65e894b829..69888f1502b1 100644 --- a/include/net/dst.h +++ b/include/net/dst.h @@ -50,7 +50,6 @@ struct dst_entry unsigned long expires; unsigned short header_len; /* more space at head required */ - unsigned short nfheader_len; /* more non-fragment space at head required */ unsigned short trailer_len; /* space to reserve at tail */ u32 metrics[RTAX_MAX]; diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 857821360bb6..4cefcffe773e 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -99,16 +99,21 @@ struct rt6_info u32 rt6i_flags; u32 rt6i_metric; atomic_t rt6i_ref; - struct fib6_table *rt6i_table; - struct rt6key rt6i_dst; - struct rt6key rt6i_src; + /* more non-fragment space at head required */ + unsigned short nfheader_len; u8 rt6i_protocol; + struct fib6_table *rt6i_table; + + struct rt6key rt6i_dst; + #ifdef CONFIG_XFRM u32 rt6i_flow_cache_genid; #endif + + struct rt6key rt6i_src; }; static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) |