diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-11-14 00:33:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:53:37 -0500 |
commit | b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b (patch) | |
tree | c057ff62b03582493b74005f7959a0207e748468 /include/net/ip6_fib.h | |
parent | 550ade8432a2a6fbfb48ba7018750b0e8c81e8d0 (diff) |
[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/ip6_fib.h')
-rw-r--r-- | include/net/ip6_fib.h | 11 |
1 files changed, 8 insertions, 3 deletions
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 | |||
99 | u32 rt6i_flags; | 99 | u32 rt6i_flags; |
100 | u32 rt6i_metric; | 100 | u32 rt6i_metric; |
101 | atomic_t rt6i_ref; | 101 | atomic_t rt6i_ref; |
102 | struct fib6_table *rt6i_table; | ||
103 | 102 | ||
104 | struct rt6key rt6i_dst; | 103 | /* more non-fragment space at head required */ |
105 | struct rt6key rt6i_src; | 104 | unsigned short nfheader_len; |
106 | 105 | ||
107 | u8 rt6i_protocol; | 106 | u8 rt6i_protocol; |
108 | 107 | ||
108 | struct fib6_table *rt6i_table; | ||
109 | |||
110 | struct rt6key rt6i_dst; | ||
111 | |||
109 | #ifdef CONFIG_XFRM | 112 | #ifdef CONFIG_XFRM |
110 | u32 rt6i_flow_cache_genid; | 113 | u32 rt6i_flow_cache_genid; |
111 | #endif | 114 | #endif |
115 | |||
116 | struct rt6key rt6i_src; | ||
112 | }; | 117 | }; |
113 | 118 | ||
114 | static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) | 119 | static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst) |