All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, nhorman@tuxdriver.com, andy@greyhouse.net,
	tgraf@suug.ch, dborkman@redhat.com, ogerlitz@mellanox.com,
	jesse@nicira.com, pshelar@nicira.com, azhou@nicira.com,
	ben@decadent.org.uk, stephen@networkplumber.org,
	jeffrey.t.kirsher@intel.com, vyasevic@redhat.com,
	xiyou.wangcong@gmail.com, john.r.fastabend@intel.com,
	edumazet@google.com, jhs@mojatatu.com, sfeldma@gmail.com,
	f.fainelli@gmail.com, roopa@cumulusnetworks.com,
	linville@tuxdriver.com, jasowang@redhat.com,
	ebiederm@xmission.com, nicolas.dichtel@6wind.com,
	ryazanov.s.a@gmail.com, buytenh@wantstofly.org,
	aviadr@mellanox.com, nbd@openwrt.org,
	alexei.starovoitov@gmail.com, Neil.Jerram@metaswitch.com,
	ronye@mellanox.com, simon.horman@netronome.com,
	alexander.h.duyck@redhat.com, john.ronciak@intel.com,
	mleitner@redhat.com, shrijeet@gmail.com,
	gospo@cumulusnetworks.com, bcrl@kvack.org, hemal@broadcom.co
Subject: [patch net-next v4 08/21] net-sysfs: expose physical switch id for particular device
Date: Thu, 27 Nov 2014 11:40:13 +0100	[thread overview]
Message-ID: <1417084826-9875-9-git-send-email-jiri@resnulli.us> (raw)
In-Reply-To: <1417084826-9875-1-git-send-email-jiri@resnulli.us>

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Reviewed-by: Thomas Graf <tgraf@suug.ch>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Andy Gospodarek <gospo@cumulusnetworks.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
---
v3->v4:
-added entry to Documentation/ABI/testing/sysfs-class-net as suggested
 by Florian
v2->v3:
-changed "sw" string to "switch" to avoid confusion
v1->v2:
-no change
---
 Documentation/ABI/testing/sysfs-class-net |  8 ++++++++
 net/core/net-sysfs.c                      | 24 ++++++++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-class-net b/Documentation/ABI/testing/sysfs-class-net
index e1b2e78..beb8ec4 100644
--- a/Documentation/ABI/testing/sysfs-class-net
+++ b/Documentation/ABI/testing/sysfs-class-net
@@ -216,3 +216,11 @@ Contact:	netdev@vger.kernel.org
 Description:
 		Indicates the interface protocol type as a decimal value. See
 		include/uapi/linux/if_arp.h for all possible values.
+
+What:		/sys/class/net/<iface>/phys_switch_id
+Date:		November 2014
+KernelVersion:	3.19
+Contact:	netdev@vger.kernel.org
+Description:
+		Indicates the unique physical switch identifier of a switch this
+		port belongs to, as a string.
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index 26c46f4..9993412 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -12,6 +12,7 @@
 #include <linux/capability.h>
 #include <linux/kernel.h>
 #include <linux/netdevice.h>
+#include <net/switchdev.h>
 #include <linux/if_arp.h>
 #include <linux/slab.h>
 #include <linux/nsproxy.h>
@@ -416,6 +417,28 @@ static ssize_t phys_port_id_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(phys_port_id);
 
+static ssize_t phys_switch_id_show(struct device *dev,
+				   struct device_attribute *attr, char *buf)
+{
+	struct net_device *netdev = to_net_dev(dev);
+	ssize_t ret = -EINVAL;
+
+	if (!rtnl_trylock())
+		return restart_syscall();
+
+	if (dev_isalive(netdev)) {
+		struct netdev_phys_item_id ppid;
+
+		ret = netdev_switch_parent_id_get(netdev, &ppid);
+		if (!ret)
+			ret = sprintf(buf, "%*phN\n", ppid.id_len, ppid.id);
+	}
+	rtnl_unlock();
+
+	return ret;
+}
+static DEVICE_ATTR_RO(phys_switch_id);
+
 static struct attribute *net_class_attrs[] = {
 	&dev_attr_netdev_group.attr,
 	&dev_attr_type.attr,
@@ -441,6 +464,7 @@ static struct attribute *net_class_attrs[] = {
 	&dev_attr_tx_queue_len.attr,
 	&dev_attr_gro_flush_timeout.attr,
 	&dev_attr_phys_port_id.attr,
+	&dev_attr_phys_switch_id.attr,
 	NULL,
 };
 ATTRIBUTE_GROUPS(net_class);
-- 
1.9.3

  parent reply	other threads:[~2014-11-27 10:40 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-27 10:40 [patch net-next v4 00/21] introduce rocker switch driver with hardware accelerated datapath api - phase 1: bridge fdb offload Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 01/21] bridge: rename fdb_*_hw to fdb_*_hw_addr to avoid confusion Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 02/21] neigh: sort Neighbor Cache Entry Flags Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 03/21] bridge: convert flags in fbd entry into bitfields Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 04/21] net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 05/21] net: rename netdev_phys_port_id to more generic name Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 06/21] net: introduce generic switch devices support Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 07/21] rtnl: expose physical switch id for particular device Jiri Pirko
2014-11-27 10:40 ` Jiri Pirko [this message]
2014-11-27 10:40 ` [patch net-next v4 09/21] bridge: call netdev_sw_port_stp_update when bridge port STP status changes Jiri Pirko
2014-11-27 13:14   ` Jamal Hadi Salim
2014-11-27 13:43     ` Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 10/21] bridge: add API to notify bridge driver of learned FBD on offloaded device Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 11/21] bridge: move private brport flags to if_bridge.h so port drivers can use flags Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 12/21] bridge: add new brport flag LEARNING_SYNC Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 13/21] bridge: add new hwmode swdev Jiri Pirko
2014-11-27 13:31   ` Sergei Shtylyov
2014-11-27 10:40 ` [patch net-next v4 14/21] bridge: add brport flags to dflt bridge_getlink Jiri Pirko
2014-11-27 13:17   ` Jamal Hadi Salim
2014-11-27 13:25     ` Jamal Hadi Salim
2014-11-27 20:46     ` Scott Feldman
2014-11-28 13:07       ` Jamal Hadi Salim
2014-11-27 10:40 ` [patch net-next v4 15/21] rocker: introduce rocker switch driver Jiri Pirko
2014-11-27 13:31   ` Jamal Hadi Salim
2014-11-27 10:40 ` [patch net-next v4 16/21] rocker: implement rocker ofdpa flow table manipulation Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 17/21] rocker: implement L2 bridge offloading Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 18/21] rocker: implement ndo_fdb_dump Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 19/21] rocker: add ndo_bridge_setlink/getlink support for learning policy Jiri Pirko
2014-11-27 10:40 ` [patch net-next v4 20/21] rocker: Add proper validation of Netlink attributes Jiri Pirko
2014-11-27 21:04   ` Scott Feldman
2014-11-27 10:40 ` [patch net-next v4 21/21] rocker: Use logical operators on booleans Jiri Pirko
2014-11-27 21:04   ` Scott Feldman
2014-11-28 11:59 ` [patch net-next v4 00/21] introduce rocker switch driver with hardware accelerated datapath api - phase 1: bridge fdb offload Scott Feldman
2014-11-28 12:07   ` Jiri Pirko
2014-11-28 16:52   ` Roopa Prabhu

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=1417084826-9875-9-git-send-email-jiri@resnulli.us \
    --to=jiri@resnulli.us \
    --cc=Neil.Jerram@metaswitch.com \
    --cc=alexander.h.duyck@redhat.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=andy@greyhouse.net \
    --cc=aviadr@mellanox.com \
    --cc=azhou@nicira.com \
    --cc=bcrl@kvack.org \
    --cc=ben@decadent.org.uk \
    --cc=buytenh@wantstofly.org \
    --cc=davem@davemloft.net \
    --cc=dborkman@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=gospo@cumulusnetworks.com \
    --cc=hemal@broadcom.co \
    --cc=jasowang@redhat.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jesse@nicira.com \
    --cc=jhs@mojatatu.com \
    --cc=john.r.fastabend@intel.com \
    --cc=john.ronciak@intel.com \
    --cc=linville@tuxdriver.com \
    --cc=mleitner@redhat.com \
    --cc=nbd@openwrt.org \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=nicolas.dichtel@6wind.com \
    --cc=ogerlitz@mellanox.com \
    --cc=pshelar@nicira.com \
    --cc=ronye@mellanox.com \
    --cc=roopa@cumulusnetworks.com \
    --cc=ryazanov.s.a@gmail.com \
    --cc=sfeldma@gmail.com \
    --cc=shrijeet@gmail.com \
    --cc=simon.horman@netronome.com \
    --cc=stephen@networkplumber.org \
    --cc=tgraf@suug.ch \
    --cc=vyasevic@redhat.com \
    --cc=xiyou.wangcong@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.