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 a5c6ccc5bb19411217c1b1dcf1abe528b81171c0..c2bb5cae65156cacfe24d31fa954a7317aa7d188 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 e3e9ab0f74e33caf9e0df3a8d0829359f86eefe7..1c2943a119f3f8a001b3e47626939120c54fa088 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 5b7539b7fe0c81af38cf66046defc40a83145f94..14fbca55e908fba5e067312dc9561e94af2606b0 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 bc05de413087e5de758abb710742191b9318f6bd..6080d712082160b649cea3675901072be287f705 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 = {