From patchwork Thu Mar 22 22:57:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 889721 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="CAPq4NTE"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 406ht32hzHz9s0x for ; Fri, 23 Mar 2018 09:58:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751976AbeCVW6c (ORCPT ); Thu, 22 Mar 2018 18:58:32 -0400 Received: from mail-pl0-f65.google.com ([209.85.160.65]:45013 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751841AbeCVW6U (ORCPT ); Thu, 22 Mar 2018 18:58:20 -0400 Received: by mail-pl0-f65.google.com with SMTP id 9-v6so6275343ple.11 for ; Thu, 22 Mar 2018 15:58:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=mtwwDQhrq/ELQDZbRe0glfevp32g0ML/6iLZXXS35CA=; b=CAPq4NTEtm2+pKQTyVuzdUO5zVSET1Ber/B/T9c6UJRnh4adDHCIj5ErCE9g4JPGki KrbAPIyPzdP3Y04//nkOTRuYcw7akPUVy1W5NeOmVGEnHAYzIUAK9c+o96nU7K42UhXt CPphsBL6Zh0A6GodY3VimNN3Zb8j+p+0Ct8Lc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=mtwwDQhrq/ELQDZbRe0glfevp32g0ML/6iLZXXS35CA=; b=qMVHfaRvvBYaLK/KzGiSEk8+tliUIuKjTU/RLcqnmcr+/WMnpJdYJ4+J6ZCSX2y00A qx9kCn0f4DuW0CKNhVp29sbeUt4vf94vFTkTr9cNfWqrkMMoate2DTIFTO7d1GnD8DQR GoryLQ+Pkjobxr8XwebIiCzDdGZtHuo2XSqSweK0OTwPSLrifVQm4oBP7Q6itZ8YizbW i8yUT8rMZJvt2IlaB+iBm0M23iC0Qf2wM+HqDq9fvIrpSeHi4FcjGUOmTRuylEcwIg3l koOcKAUaS9x62WzNVpe7+Cqw7yXcanbH70N3OSR/F7GSxhhAWkHhKwqub/2BeMPB/YrL +kAA== X-Gm-Message-State: AElRT7ELREj4ZOcQgVuYYzC788jPgD30WgGuWFpXB+3CkN+z7OdK76kR rQTtk7hZT/EaVQWhgsiMLAA24Abt X-Google-Smtp-Source: AG47ELtbcEoJOqrR6ioOcWS5wwHFEoI64Io6+7HcMh4L384ilrptXZ5HprLZ8R7CudMxeH9k08rl5Q== X-Received: by 2002:a17:902:4222:: with SMTP id g31-v6mr27617081pld.335.1521759499504; Thu, 22 Mar 2018 15:58:19 -0700 (PDT) Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com. [216.129.126.126]) by smtp.googlemail.com with ESMTPSA id b78sm15807767pfe.88.2018.03.22.15.58.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Mar 2018 15:58:18 -0700 (PDT) From: David Ahern To: netdev@vger.kernel.org Cc: davem@davemloft.net, roopa@cumulusnetworks.com, shm@cumulusnetworks.com, jiri@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, David Ahern Subject: [PATCH RFC net-next 6/7] devlink: Export methods to get and set namespace Date: Thu, 22 Mar 2018 15:57:56 -0700 Message-Id: <20180322225757.10377-7-dsa@cumulusnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180322225757.10377-1-dsa@cumulusnetworks.com> References: <20180322225757.10377-1-dsa@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Export devlink_net and devlink_net_set for modules to be able to set the network namespace for a devlink instance and retrieve it later. Signed-off-by: David Ahern --- include/net/devlink.h | 2 ++ net/core/devlink.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/net/devlink.h b/include/net/devlink.h index d5b707375e48..e6f7d0f674a5 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -361,6 +361,8 @@ struct ib_device; #if IS_ENABLED(CONFIG_NET_DEVLINK) struct devlink *devlink_alloc(const struct devlink_ops *ops, size_t priv_size); +struct net *devlink_net(const struct devlink *devlink); +void devlink_net_set(struct devlink *devlink, struct net *net); int devlink_register(struct devlink *devlink, struct device *dev); void devlink_unregister(struct devlink *devlink); void devlink_free(struct devlink *devlink); diff --git a/net/core/devlink.c b/net/core/devlink.c index d03b96f87c25..53cddffe97fc 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -92,15 +92,17 @@ static LIST_HEAD(devlink_list); */ static DEFINE_MUTEX(devlink_mutex); -static struct net *devlink_net(const struct devlink *devlink) +struct net *devlink_net(const struct devlink *devlink) { return read_pnet(&devlink->_net); } +EXPORT_SYMBOL_GPL(devlink_net); -static void devlink_net_set(struct devlink *devlink, struct net *net) +void devlink_net_set(struct devlink *devlink, struct net *net) { write_pnet(&devlink->_net, net); } +EXPORT_SYMBOL_GPL(devlink_net_set); static struct devlink *devlink_get_from_attrs(struct net *net, struct nlattr **attrs)