drivers/net/iseries_veth.c dubious sysfs usage
Greg KH
greg at kroah.com
Thu Dec 13 18:08:29 EST 2007
On Thu, Dec 06, 2007 at 02:48:18PM +1100, Michael Ellerman wrote:
> igoeast:~# cd /sys/class/net/eth1/
> igoeast:/sys/class/net/eth1# ls -la
> total 0
> drwxr-xr-x 4 root root 0 Dec 6 10:22 .
> drwxr-xr-x 6 root root 0 Dec 6 10:21 ..
> -r--r--r-- 1 root root 4096 Dec 6 10:30 addr_len
> -r--r--r-- 1 root root 4096 Dec 6 10:30 address
> -r--r--r-- 1 root root 4096 Dec 6 10:30 broadcast
> -r--r--r-- 1 root root 4096 Dec 6 10:30 carrier
> lrwxrwxrwx 1 root root 0 Dec 6 10:22 device -> ../../../devices/vio/3
> -r--r--r-- 1 root root 4096 Dec 6 10:30 dormant
> -r--r--r-- 1 root root 4096 Dec 6 10:30 features
> -rw-r--r-- 1 root root 4096 Dec 6 10:30 flags
> -r--r--r-- 1 root root 4096 Dec 6 10:30 ifindex
> -r--r--r-- 1 root root 4096 Dec 6 10:30 iflink
> -r--r--r-- 1 root root 4096 Dec 6 10:30 link_mode
> -rw-r--r-- 1 root root 4096 Dec 6 10:30 mtu
> -r--r--r-- 1 root root 4096 Dec 6 10:30 operstate
> drwxr-xr-x 2 root root 0 Dec 6 10:30 statistics
> lrwxrwxrwx 1 root root 0 Dec 6 10:30 subsystem -> ../../../class/net
> -rw-r--r-- 1 root root 4096 Dec 6 10:30 tx_queue_len
> -r--r--r-- 1 root root 4096 Dec 6 10:30 type
> -rw-r--r-- 1 root root 4096 Dec 6 10:30 uevent
> drwxr-xr-x 2 root root 0 Dec 6 10:30 veth_port
>
> Each net device has a port structure associated with it, the fields
> should be fairly self explanatory, they're all read only I think.
>
> igoeast:/sys/class/net/eth1# find veth_port/
> veth_port/
> veth_port/mac_addr
> veth_port/lpar_map
> veth_port/stopped_map
> veth_port/promiscuous
> veth_port/num_mcast
That's fine, I'll let you fight with the network people over that :)
> igoeast:/sys/class/net/eth1# cd device/driver
>
> igoeast:/sys/class/net/eth1/device/driver# ls -l
> total 0
> lrwxrwxrwx 1 root root 0 Dec 6 10:21 2 -> ../../../../devices/vio/2
> lrwxrwxrwx 1 root root 0 Dec 6 10:21 3 -> ../../../../devices/vio/3
> --w------- 1 root root 4096 Dec 6 10:21 bind
> drwxr-xr-x 2 root root 0 Dec 6 10:21 cnx00
> drwxr-xr-x 2 root root 0 Dec 6 10:21 cnx02
> drwxr-xr-x 2 root root 0 Dec 6 10:21 cnx03
> drwxr-xr-x 2 root root 0 Dec 6 10:21 cnx04
> lrwxrwxrwx 1 root root 0 Dec 6 10:21 module -> ../../../../module/iseries_veth
> --w------- 1 root root 4096 Dec 6 10:21 uevent
> --w------- 1 root root 4096 Dec 6 10:21 unbind
>
> The driver has a connection to all the other lpars, this is entirely
> independent of the net devices.
>
> igoeast:/sys/class/net/eth1/device/driver# find cnx00/
> cnx00/
> cnx00/outstanding_tx
> cnx00/remote_lp
> cnx00/num_events
> cnx00/reset_timeout
> cnx00/last_contact
> cnx00/state
> cnx00/src_inst
> cnx00/dst_inst
> cnx00/num_pending_acks
> cnx00/num_ack_events
> cnx00/ack_timeout
Hm, ok, it's odd as you are the only driver in the whole tree doing
something like this, but it seems semi-resonable, so I can't complain :)
I'll fix the core up to allow you to do this, thanks for the
explanation.
greg k-h
More information about the Linuxppc-dev
mailing list