diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2009-08-29 05:34:49 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-02 04:40:31 +0400 |
commit | 86393e52c3f1e2f6be18383f6ecdbcdc5727d545 (patch) | |
tree | f5c688c0cb5292143478249f807c4b2372f69dfd /include/net/netns | |
parent | 885a136c52a8871175477baf3903e1c38751b35a (diff) | |
download | linux-86393e52c3f1e2f6be18383f6ecdbcdc5727d545.tar.xz |
netns: embed ip6_dst_ops directly
struct net::ipv6.ip6_dst_ops is separatedly dynamically allocated,
but there is no fundamental reason for it. Embed it directly into
struct netns_ipv6.
For that:
* move struct dst_ops into separate header to fix circular dependencies
I honestly tried not to, it's pretty impossible to do other way
* drop dynamical allocation, allocate together with netns
For a change, remove struct dst_ops::dst_net, it's deducible
by using container_of() given dst_ops pointer.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/netns')
-rw-r--r-- | include/net/netns/ipv6.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h index afab4e4cbac7..dfeb2d7c425b 100644 --- a/include/net/netns/ipv6.h +++ b/include/net/netns/ipv6.h @@ -6,6 +6,7 @@ #ifndef __NETNS_IPV6_H__ #define __NETNS_IPV6_H__ +#include <net/dst_ops.h> struct ctl_table_header; @@ -42,7 +43,7 @@ struct netns_ipv6 { struct timer_list ip6_fib_timer; struct hlist_head *fib_table_hash; struct fib6_table *fib6_main_tbl; - struct dst_ops *ip6_dst_ops; + struct dst_ops ip6_dst_ops; unsigned int ip6_rt_gc_expire; unsigned long ip6_rt_last_gc; #ifdef CONFIG_IPV6_MULTIPLE_TABLES |