Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 788367fd authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'net_sysfs_doc'



Florian Fainelli says:

====================
net: document sysfs entries

This patchset attempts to document the basic set of sysfs entries that are
exposed by netdevices in /sys/class/net/<iface>/

I did not go before the pre-git era, so the oldest entries are marked with
the 2.6.12 kernel version and dated of April 2005.

Future patches will document the queues/ and statistics/ directories as well.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 7b5939ba 339e0223
Loading
Loading
Loading
Loading
+199 −0
Original line number Diff line number Diff line
What:		/sys/class/net/<iface>/addr_assign_type
Date:		July 2010
KernelVersion:	3.2
Contact:	netdev@vger.kernel.org
Description:
		Indicates the address assignment type. Possible values are:
		0: permanent address
		1: randomly generated
		2: stolen from another device
		3: set using dev_set_mac_address

What:		/sys/class/net/<iface>/addr_len
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the hardware address size in bytes.
		Values vary based on the lower-level protocol used by the
		interface (Ethernet, FDDI, ATM, IEEE 802.15.4...). See
		include/uapi/linux/if_*.h for actual values.

What:		/sys/class/net/<iface>/address
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Hardware address currently assigned to this interface.
		Format is a string, e.g: 00:11:22:33:44:55 for an Ethernet MAC
		address.

What:		/sys/class/net/<iface>/broadcast
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Hardware broadcast address for this interface. Format is a
		string, e.g: ff:ff:ff:ff:ff:ff for an Ethernet broadcast MAC
		address.

What:		/sys/class/net/<iface>/carrier
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the current physical link state of the interface.
		Posssible values are:
		0: physical link is down
		1: physical link is up

		Note: some special devices, e.g: bonding and team drivers will
		allow this attribute to be written to force a link state for
		operating correctly and designating another fallback interface.

What:		/sys/class/net/<iface>/dev_id
Date:		April 2008
KernelVersion:	2.6.26
Contact:	netdev@vger.kernel.org
Description:
		Indicates the device unique identifier. Format is an hexadecimal
		value. This is used to disambiguate interfaces which might be
		stacked (e.g: VLAN interfaces) but still have the same MAC
		address as their parent device.

What:		/sys/class/net/<iface>/dormant
Date:		March 2006
KernelVersion:	2.6.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates whether the interface is in dormant state. Possible
		values are:
		0: interface is not dormant
		1: interface is dormant

		This attribute can be used by supplicant software to signal that
		the device is not usable unless some supplicant-based
		authentication is performed (e.g: 802.1x). 'link_mode' attribute
		will also reflect the dormant state.

What:		/sys/clas/net/<iface>/duplex
Date:		October 2009
KernelVersion:	2.6.33
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface latest or current duplex value. Possible
		values are:
		half: half duplex
		full: full duplex

		Note: This attribute is only valid for interfaces that implement
		the ethtool get_settings method (mostly Ethernet).

What:		/sys/class/net/<iface>/flags
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface flags as a bitmask in hexadecimal. See
		include/uapi/linux/if.h for a list of all possible values and
		the flags semantics.

What:		/sys/class/net/<iface>/ifalias
Date:		September 2008
KernelVersion:	2.6.28
Contact:	netdev@vger.kernel.org
Description:
		Indicates/stores an interface alias name as a string. This can
		be used for system management purposes.

What:		/sys/class/net/<iface>/ifindex
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the system-wide interface unique index identifier as a
		decimal number. This attribute is used for mapping an interface
		identifier to an interface name. It is used throughout the
		networking stack for specifying the interface specific
		requests/events.

What:		/sys/class/net/<iface>/iflink
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the system-wide interface unique index identifier a
		the interface is linked to. Format is decimal. This attribute is
		used to resolve interfaces chaining, linking and stacking.
		Physical interfaces have the same 'ifindex' and 'iflink' values.

What:		/sys/class/net/<iface>/link_mode
Date:		March 2006
KernelVersion:	2.6.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface link mode, as a decimal number. This
		attribute should be used in conjunction with 'dormant' attribute
		to determine the interface usability. Possible values:
		0: default link mode
		1: dormant link mode

What:		/sys/class/net/<iface>/mtu
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface currently configured MTU value, in
		bytes, and in decimal format. Specific values depends on the
		lower-level interface protocol used. Ethernet devices will show
		a 'mtu' attribute value of 1500 unless changed.

What:		/sys/calss/net/<iface>/netdev_group
Date:		January 2011
KernelVersion:	2.6.39
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface network device group, as a decimal
		integer. Default value is 0 which corresponds to the initial
		network devices group. The group can be changed to affect
		routing decisions (see: net/ipv4/fib_rules and
		net/ipv6/fib6_rules.c).

What:		/sys/class/net/<iface>/operstate
Date:		March 2006
KernelVersion:	2.6.17
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface RFC2863 operational state as a string.
		Possible values are:
		"unknown", "notpresent", "down", "lowerlayerdown", "testing",
		"dormant", "up".

What:		/sys/class/net/<iface>/speed
Date:		October 2009
KernelVersion:	2.6.33
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface latest or current speed value. Value is
		an integer representing the link speed in Mbits/sec.

		Note: this attribute is only valid for interfaces that implement
		the ethtool get_settings method (mostly Ethernet ).

What:		/sys/class/net/<iface>/tx_queue_len
Date:		April 2005
KernelVersion:	2.6.12
Contact:	netdev@vger.kernel.org
Description:
		Indicates the interface transmit queue len in number of packets,
		as an integer value. Value depend on the type of interface,
		Ethernet network adapters have a default value of 1000 unless
		configured otherwise

What:		/sys/class/net/<iface>/type
Date:		April 2005
KernelVersion:	2.6.12
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.
+0 −7
Original line number Diff line number Diff line
@@ -63,13 +63,6 @@ struct wireless_dev;
void netdev_set_default_ethtool_ops(struct net_device *dev,
				    const struct ethtool_ops *ops);

/* hardware address assignment types */
#define NET_ADDR_PERM		0	/* address is permanent (default) */
#define NET_ADDR_RANDOM		1	/* address is generated randomly */
#define NET_ADDR_STOLEN		2	/* address is stolen from other device */
#define NET_ADDR_SET		3	/* address is set using
					 * dev_set_mac_address() */

/* Backlog congestion levels */
#define NET_RX_SUCCESS		0	/* keep 'em coming, baby */
#define NET_RX_DROP		1	/* packet dropped */
+6 −0
Original line number Diff line number Diff line
@@ -49,5 +49,11 @@ enum {
        IF_PORT_100BASEFX
};

/* hardware address assignment types */
#define NET_ADDR_PERM		0	/* address is permanent (default) */
#define NET_ADDR_RANDOM		1	/* address is generated randomly */
#define NET_ADDR_STOLEN		2	/* address is stolen from other device */
#define NET_ADDR_SET		3	/* address is set using
					 * dev_set_mac_address() */

#endif /* _UAPI_LINUX_NETDEVICE_H */