[lkml]   [2004]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH] add sysfs attribute 'carrier' for net devices


Here's a patch that adds a new sysfs attribute for net devices. The new
attribute 'carrier' exposes the result of netif_carrier_ok() so that when
a network device has carrier the attribute value is 1 and when there is no
carrier the attribute value is 0.
Very rellevant attribute for network devices in my oppinion, and sysfs is
the logical place for it.

I've tested this only on my own machine, but I get the expected results:

With network cable plugged into eth0 :

juhl@dragon:~$ cat /sys/class/net/eth0/carrier

With network cable unplugged :

juhl@dragon:~$ cat /sys/class/net/eth0/carrier

Please review and consider applying.

Signed-off-by: Jesper Juhl <>

diff -u linux-2.6.9-rc2-bk5-orig/net/core/net-sysfs.c linux-2.6.9-rc2-bk5/net/core/net-sysfs.c
--- linux-2.6.9-rc2-bk5-orig/net/core/net-sysfs.c 2004-09-14 23:19:53.000000000 +0200
+++ linux-2.6.9-rc2-bk5/net/core/net-sysfs.c 2004-09-27 00:24:01.000000000 +0200
@@ -126,8 +126,21 @@
return -EINVAL;

+static ssize_t show_carrier(struct class_device *dev, char *buf)
+ struct net_device *net = to_net_dev(dev);
+ if (netif_running(net)) {
+ if (netif_carrier_ok(net))
+ return snprintf(buf, 3, "%d\n", 1);
+ else
+ return snprintf(buf, 3, "%d\n", 0);
+ }
+ return -EINVAL;
static CLASS_DEVICE_ATTR(address, S_IRUGO, show_address, NULL);
static CLASS_DEVICE_ATTR(broadcast, S_IRUGO, show_broadcast, NULL);
+static CLASS_DEVICE_ATTR(carrier, S_IRUGO, show_carrier, NULL);

/* read-write attributes */
NETDEVICE_SHOW(mtu, fmt_dec);
@@ -186,6 +199,7 @@
+ &class_device_attr_carrier,

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:06    [W:0.057 / U:46.272 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site