netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ying Xue <ying.xue@windriver.com>
To: <davem@davemloft.net>
Cc: <jon.maloy@ericsson.com>, <Tero.Aho@coriant.com>,
	<Paul.Gortmaker@windriver.com>, <erik.hugne@ericsson.com>,
	<richard.alpe@ericsson.com>, <netdev@vger.kernel.org>,
	<tipc-discussion@lists.sourceforge.net>
Subject: [PATCH net-next 16/16] tipc: make netlink support net namespace
Date: Fri, 9 Jan 2015 15:27:13 +0800	[thread overview]
Message-ID: <1420788433-17960-17-git-send-email-ying.xue@windriver.com> (raw)
In-Reply-To: <1420788433-17960-1-git-send-email-ying.xue@windriver.com>

Currently tipc module only allows users sitting on "init_net" namespace
to configure it through netlink interface. But now almost each tipc
component is able to be aware of net namespace, so it's time to open
the permission for users residing in other namespaces, allowing them
to configure their own tipc stack instance through netlink interface.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Tested-by: Tero Aho <Tero.Aho@coriant.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
---
 net/tipc/netlink.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/net/tipc/netlink.c b/net/tipc/netlink.c
index 282b596..fe0f513 100644
--- a/net/tipc/netlink.c
+++ b/net/tipc/netlink.c
@@ -54,7 +54,8 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
 	int hdr_space = nlmsg_total_size(GENL_HDRLEN + TIPC_GENL_HDRLEN);
 	u16 cmd;
 
-	if ((req_userhdr->cmd & 0xC000) && (!netlink_capable(skb, CAP_NET_ADMIN)))
+	if ((req_userhdr->cmd & 0xC000) &&
+	    (!netlink_net_capable(skb, CAP_NET_ADMIN)))
 		cmd = TIPC_CMD_NOT_NET_ADMIN;
 	else
 		cmd = req_userhdr->cmd;
@@ -70,7 +71,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
 		rep_nlh = nlmsg_hdr(rep_buf);
 		memcpy(rep_nlh, req_nlh, hdr_space);
 		rep_nlh->nlmsg_len = rep_buf->len;
-		genlmsg_unicast(&init_net, rep_buf, NETLINK_CB(skb).portid);
+		genlmsg_unicast(net, rep_buf, NETLINK_CB(skb).portid);
 	}
 
 	return 0;
@@ -95,6 +96,7 @@ static struct genl_family tipc_genl_family = {
 	.version	= TIPC_GENL_VERSION,
 	.hdrsize	= TIPC_GENL_HDRLEN,
 	.maxattr	= 0,
+	.netnsok	= true,
 };
 
 /* Legacy ASCII API */
@@ -114,6 +116,7 @@ struct genl_family tipc_genl_v2_family = {
 	.version	= TIPC_GENL_V2_VERSION,
 	.hdrsize	= 0,
 	.maxattr	= TIPC_NLA_MAX,
+	.netnsok	= true,
 };
 
 static const struct genl_ops tipc_genl_v2_ops[] = {
-- 
1.7.9.5

  parent reply	other threads:[~2015-01-09  7:28 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-09  7:26 [PATCH net-next 00/16] tipc: make tipc support namespace Ying Xue
2015-01-09  7:26 ` [PATCH net-next 01/16] tipc: fix bug in broadcast retransmit code Ying Xue
2015-01-09  7:26 ` [PATCH net-next 02/16] tipc: remove tipc_core_start/stop routines Ying Xue
2015-01-09  7:27 ` [PATCH net-next 03/16] tipc: remove unnecessary wrapper functions of kernel timer APIs Ying Xue
2015-01-09  7:27 ` [PATCH net-next 04/16] tipc: cleanup core.c and core.h files Ying Xue
2015-01-09  7:27 ` [PATCH net-next 05/16] tipc: feed tipc sock pointer to tipc_sk_timeout routine Ying Xue
2015-01-09  7:27 ` [PATCH net-next 06/16] tipc: remove unused tipc_link_get_max_pkt routine Ying Xue
2015-01-09  7:27 ` [PATCH net-next 07/16] tipc: involve namespace infrastructure Ying Xue
2015-01-09  7:27 ` [PATCH net-next 08/16] tipc: make tipc node table aware of net namespace Ying Xue
2015-01-09  7:27 ` [PATCH net-next 09/16] tipc: make bearer list support " Ying Xue
2015-01-09  7:27 ` [PATCH net-next 10/16] tipc: make tipc broadcast link " Ying Xue
2015-01-09  7:27 ` [PATCH net-next 11/16] tipc: make tipc socket " Ying Xue
2015-01-09  7:27 ` [PATCH net-next 12/16] tipc: name tipc name table " Ying Xue
2015-01-09  7:27 ` [PATCH net-next 13/16] tipc: make tipc node address " Ying Xue
2015-01-09  7:27 ` [PATCH net-next 14/16] tipc: make subscriber server " Ying Xue
2015-01-09  7:27 ` [PATCH net-next 15/16] tipc: make tipc random value aware of " Ying Xue
2015-01-09  7:27 ` Ying Xue [this message]
2015-01-09 13:42   ` [PATCH net-next 16/16] tipc: make netlink support " Sergei Shtylyov
2015-01-10  6:04     ` Ying Xue
2015-01-12 21:24 ` [PATCH net-next 00/16] tipc: make tipc support namespace David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1420788433-17960-17-git-send-email-ying.xue@windriver.com \
    --to=ying.xue@windriver.com \
    --cc=Paul.Gortmaker@windriver.com \
    --cc=Tero.Aho@coriant.com \
    --cc=davem@davemloft.net \
    --cc=erik.hugne@ericsson.com \
    --cc=jon.maloy@ericsson.com \
    --cc=netdev@vger.kernel.org \
    --cc=richard.alpe@ericsson.com \
    --cc=tipc-discussion@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).