diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2008-01-10 06:25:28 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:01:27 -0500 |
commit | 6b175b26c1048d331508940ad3516ead1998084f (patch) | |
tree | 810b0a18cee4d87c573274fdfd4a59fc624cfed2 /net/ipv4/fib_semantics.c | |
parent | 8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5 (diff) |
[NETNS]: Add netns parameter to inet_(dev_)add_type.
The patch extends the inet_addr_type and inet_dev_addr_type with the
network namespace pointer. That allows to access the different tables
relatively to the network namespace.
The modification of the signature function is reported in all the
callers of the inet_addr_type using the pointer to the well known
init_net.
Acked-by: Benjamin Thery <benjamin.thery@bull.net>
Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_semantics.c')
-rw-r--r-- | net/ipv4/fib_semantics.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index bbd4a247b195..c1263e23876b 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c | |||
@@ -531,7 +531,7 @@ static int fib_check_nh(struct fib_config *cfg, struct fib_info *fi, | |||
531 | 531 | ||
532 | if (cfg->fc_scope >= RT_SCOPE_LINK) | 532 | if (cfg->fc_scope >= RT_SCOPE_LINK) |
533 | return -EINVAL; | 533 | return -EINVAL; |
534 | if (inet_addr_type(nh->nh_gw) != RTN_UNICAST) | 534 | if (inet_addr_type(&init_net, nh->nh_gw) != RTN_UNICAST) |
535 | return -EINVAL; | 535 | return -EINVAL; |
536 | if ((dev = __dev_get_by_index(&init_net, nh->nh_oif)) == NULL) | 536 | if ((dev = __dev_get_by_index(&init_net, nh->nh_oif)) == NULL) |
537 | return -ENODEV; | 537 | return -ENODEV; |
@@ -809,7 +809,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg) | |||
809 | if (fi->fib_prefsrc) { | 809 | if (fi->fib_prefsrc) { |
810 | if (cfg->fc_type != RTN_LOCAL || !cfg->fc_dst || | 810 | if (cfg->fc_type != RTN_LOCAL || !cfg->fc_dst || |
811 | fi->fib_prefsrc != cfg->fc_dst) | 811 | fi->fib_prefsrc != cfg->fc_dst) |
812 | if (inet_addr_type(fi->fib_prefsrc) != RTN_LOCAL) | 812 | if (inet_addr_type(&init_net, fi->fib_prefsrc) != RTN_LOCAL) |
813 | goto err_inval; | 813 | goto err_inval; |
814 | } | 814 | } |
815 | 815 | ||