net: add fib_rules_ops to flush_cache method
authorDenis V. Lunev <den@openvz.org>
Sun, 6 Jul 2008 02:01:28 +0000 (19:01 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 6 Jul 2008 02:01:28 +0000 (19:01 -0700)
This is required to pass namespace context into rt_cache_flush called from
->flush_cache.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/fib_rules.h
net/core/fib_rules.c
net/decnet/dn_rules.c
net/ipv4/fib_rules.c

index a5c6ccc..c2bb5ca 100644 (file)
@@ -62,7 +62,7 @@ struct fib_rules_ops
 
        /* Called after modifications to the rules set, must flush
         * the route cache if one exists. */
-       void                    (*flush_cache)(void);
+       void                    (*flush_cache)(struct fib_rules_ops *ops);
 
        int                     nlgroup;
        const struct nla_policy *policy;
index e3e9ab0..1c2943a 100644 (file)
@@ -69,7 +69,7 @@ static void rules_ops_put(struct fib_rules_ops *ops)
 static void flush_route_cache(struct fib_rules_ops *ops)
 {
        if (ops->flush_cache)
-               ops->flush_cache();
+               ops->flush_cache(ops);
 }
 
 int fib_rules_register(struct fib_rules_ops *ops)
index 5b7539b..14fbca5 100644 (file)
@@ -229,7 +229,7 @@ static u32 dn_fib_rule_default_pref(struct fib_rules_ops *ops)
        return 0;
 }
 
-static void dn_fib_rule_flush_cache(void)
+static void dn_fib_rule_flush_cache(struct fib_rules_ops *ops)
 {
        dn_rt_cache_flush(-1);
 }
index bc05de4..6080d71 100644 (file)
@@ -258,9 +258,9 @@ static size_t fib4_rule_nlmsg_payload(struct fib_rule *rule)
               + nla_total_size(4); /* flow */
 }
 
-static void fib4_rule_flush_cache(void)
+static void fib4_rule_flush_cache(struct fib_rules_ops *ops)
 {
-       rt_cache_flush(&init_net, -1);
+       rt_cache_flush(ops->fro_net, -1);
 }
 
 static struct fib_rules_ops fib4_rules_ops_template = {