aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/fib6_rules.c
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2008-03-04 02:25:27 -0500
committerDavid S. Miller <davem@davemloft.net>2008-03-04 02:25:27 -0500
commit58f09b78b730cf0d936597272bf35b3d615e967c (patch)
tree6c7fb907dd7da48384087944c81368c216b841f1 /net/ipv6/fib6_rules.c
parente0b85590bc1b50c9bbef4dd4738d9995fb1d1f64 (diff)
[NETNS][IPV6] ip6_fib - make it per network namespace
The fib table for ipv6 are moved to the network namespace structure. All references to them are made relatively to the network namespace. All external calls to the ip6_fib functions taking the network namespace parameter are made using the init_net variable, so the ip6_fib engine is ready for the namespaces but the callers not yet. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: Benjamin Thery <benjamin.thery@bull.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/fib6_rules.c')
-rw-r--r--net/ipv6/fib6_rules.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c
index 157db3a1ce00..03ad23a5fd3c 100644
--- a/net/ipv6/fib6_rules.c
+++ b/net/ipv6/fib6_rules.c
@@ -31,8 +31,8 @@ struct fib6_rule
31 31
32static struct fib_rules_ops fib6_rules_ops; 32static struct fib_rules_ops fib6_rules_ops;
33 33
34struct dst_entry *fib6_rule_lookup(struct flowi *fl, int flags, 34struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi *fl,
35 pol_lookup_t lookup) 35 int flags, pol_lookup_t lookup)
36{ 36{
37 struct fib_lookup_arg arg = { 37 struct fib_lookup_arg arg = {
38 .lookup_ptr = lookup, 38 .lookup_ptr = lookup,
@@ -71,7 +71,7 @@ static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp,
71 goto discard_pkt; 71 goto discard_pkt;
72 } 72 }
73 73
74 table = fib6_get_table(rule->table); 74 table = fib6_get_table(&init_net, rule->table);
75 if (table) 75 if (table)
76 rt = lookup(table, flp, flags); 76 rt = lookup(table, flp, flags);
77 77
@@ -151,7 +151,7 @@ static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb,
151 if (rule->table == RT6_TABLE_UNSPEC) 151 if (rule->table == RT6_TABLE_UNSPEC)
152 goto errout; 152 goto errout;
153 153
154 if (fib6_new_table(rule->table) == NULL) { 154 if (fib6_new_table(&init_net, rule->table) == NULL) {
155 err = -ENOBUFS; 155 err = -ENOBUFS;
156 goto errout; 156 goto errout;
157 } 157 }