diff options
author | Denis V. Lunev <den@openvz.org> | 2007-11-20 01:26:51 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:54:25 -0500 |
commit | 97c53cacf00d1f5aa04adabfebcc806ca8b22b10 (patch) | |
tree | 6b7223df312aa27a5017c4d7c4d1e500a33ed8d8 /net/ipv6/ndisc.c | |
parent | b854272b3c732316676e9128f7b9e6f1e1ff88b0 (diff) |
[NET]: Make rtnetlink infrastructure network namespace aware (v3)
After this patch none of the netlink callback support anything
except the initial network namespace but the rtnetlink infrastructure
now handles multiple network namespaces.
Changes from v2:
- IPv6 addrlabel processing
Changes from v1:
- no need for special rtnl_unlock handling
- fixed IPv6 ndisc
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ndisc.c')
-rw-r--r-- | net/ipv6/ndisc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index b2531f80317e..b87f9d245e2e 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -1049,7 +1049,8 @@ static void ndisc_ra_useropt(struct sk_buff *ra, struct nd_opt_hdr *opt) | |||
1049 | &ipv6_hdr(ra)->saddr); | 1049 | &ipv6_hdr(ra)->saddr); |
1050 | nlmsg_end(skb, nlh); | 1050 | nlmsg_end(skb, nlh); |
1051 | 1051 | ||
1052 | err = rtnl_notify(skb, 0, RTNLGRP_ND_USEROPT, NULL, GFP_ATOMIC); | 1052 | err = rtnl_notify(skb, &init_net, 0, RTNLGRP_ND_USEROPT, NULL, |
1053 | GFP_ATOMIC); | ||
1053 | if (err < 0) | 1054 | if (err < 0) |
1054 | goto errout; | 1055 | goto errout; |
1055 | 1056 | ||
@@ -1059,7 +1060,7 @@ nla_put_failure: | |||
1059 | nlmsg_free(skb); | 1060 | nlmsg_free(skb); |
1060 | err = -EMSGSIZE; | 1061 | err = -EMSGSIZE; |
1061 | errout: | 1062 | errout: |
1062 | rtnl_set_sk_err(RTNLGRP_ND_USEROPT, err); | 1063 | rtnl_set_sk_err(&init_net, RTNLGRP_ND_USEROPT, err); |
1063 | } | 1064 | } |
1064 | 1065 | ||
1065 | static void ndisc_router_discovery(struct sk_buff *skb) | 1066 | static void ndisc_router_discovery(struct sk_buff *skb) |