net: Add sysfs file for port number
authorAmir Vadai <amirv@mellanox.com>
Tue, 25 Feb 2014 16:17:50 +0000 (18:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Feb 2014 20:38:06 +0000 (15:38 -0500)
Add a sysfs file to enable user space to query the device
port number used by a netdevice instance. This is needed for
devices that have multiple ports on the same PCI function.

Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
net/core/net-sysfs.c

index 5e4756553c186d887188a56e26219f070a0cc008..5e84483c065062b7afffa82d8165a2e6bfc8fa8a 100644 (file)
@@ -1279,6 +1279,10 @@ struct net_device {
                                                 * that share the same link
                                                 * layer address
                                                 */
+       unsigned short          dev_port;       /* Used to differentiate
+                                                * devices that share the same
+                                                * function
+                                                */
        spinlock_t              addr_list_lock;
        struct netdev_hw_addr_list      uc;     /* Unicast mac addresses */
        struct netdev_hw_addr_list      mc;     /* Multicast mac addresses */
index 73aa594674efc397ccc8a027c46cd4c9b8a0ebc0..daed9a64c6f6b350ef4518fc91b8b6718d58624d 100644 (file)
@@ -104,6 +104,7 @@ static ssize_t netdev_store(struct device *dev, struct device_attribute *attr,
 }
 
 NETDEVICE_SHOW_RO(dev_id, fmt_hex);
+NETDEVICE_SHOW_RO(dev_port, fmt_dec);
 NETDEVICE_SHOW_RO(addr_assign_type, fmt_dec);
 NETDEVICE_SHOW_RO(addr_len, fmt_dec);
 NETDEVICE_SHOW_RO(iflink, fmt_dec);
@@ -373,6 +374,7 @@ static struct attribute *net_class_attrs[] = {
        &dev_attr_netdev_group.attr,
        &dev_attr_type.attr,
        &dev_attr_dev_id.attr,
+       &dev_attr_dev_port.attr,
        &dev_attr_iflink.attr,
        &dev_attr_ifindex.attr,
        &dev_attr_addr_assign_type.attr,