]> err.no Git - linux-2.6/commitdiff
[FIB]: Add netns to fib_rules_ops.
authorDenis V. Lunev <den@openvz.org>
Mon, 21 Jan 2008 00:46:01 +0000 (16:46 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:08:13 +0000 (15:08 -0800)
The backward link from FIB rules operations to the network namespace
will allow to simplify the API a bit.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/fib_rules.h
net/decnet/dn_rules.c
net/ipv4/fib_rules.c
net/ipv6/fib6_rules.c

index 4f472507129e6b69b5a2beb7b95ebca6f6d494a8..6910e0195ca53dbebf99f024b0d89b7cdaa47eaa 100644 (file)
@@ -67,6 +67,7 @@ struct fib_rules_ops
        const struct nla_policy *policy;
        struct list_head        rules_list;
        struct module           *owner;
+       struct net              *fro_net;
 };
 
 #define FRA_GENERIC_POLICY \
index c1fae23d2263fc945c1a845f16b6c7349fff0a0c..964e65887603cc1178f71856af858e215c60f8ba 100644 (file)
@@ -249,6 +249,7 @@ static struct fib_rules_ops dn_fib_rules_ops = {
        .policy         = dn_fib_rule_policy,
        .rules_list     = LIST_HEAD_INIT(dn_fib_rules_ops.rules_list),
        .owner          = THIS_MODULE,
+       .fro_net        = &init_net,
 };
 
 void __init dn_fib_rules_init(void)
index 72232ab4ecb13d31cbc0427528c5f87cc61c8ed1..8d0ebe7f360d5513aa8f39baeba6d904744632db 100644 (file)
@@ -315,6 +315,8 @@ int __net_init fib4_rules_init(struct net *net)
        if (ops == NULL)
                return -ENOMEM;
        INIT_LIST_HEAD(&ops->rules_list);
+       ops->fro_net = net;
+
        fib_rules_register(net, ops);
 
        err = fib_default_rules_init(ops);
index 76437a1fcab0e3c50990695f1ca6d80fb8e4758f..ead5ab2da9a2d86f6b68d4af10ae653ea58a6b15 100644 (file)
@@ -249,6 +249,7 @@ static struct fib_rules_ops fib6_rules_ops = {
        .policy                 = fib6_rule_policy,
        .rules_list             = LIST_HEAD_INIT(fib6_rules_ops.rules_list),
        .owner                  = THIS_MODULE,
+       .fro_net                = &init_net,
 };
 
 static int __init fib6_default_rules_init(void)