Thread (7 messages) 7 messages, 3 authors, 2018-02-05

Re: [BUG iproute2] ip tuntap show

From: Serhey Popovych <hidden>
Date: 2018-01-31 17:22:13

Eric Dumazet wrote:
ip tuntap enumerates devices using /sys/class/net which is unusual.

Should we replace this enumeration using /proc/net/dev like "ip tunnel" ?

After "unshare -n" maybe mounting /sys should not be required for
proper iproute2 behavior.

At least ip command should adopt a common enumeration method.

What do you think ?
It seems main reason for using /sys/class/net is to get additional
information for netdev like "owner", "group" and "tun_flags".

On the other hand at least iptunnel and ip6tunnel uses nearly identical
code to parse /proc/net/dev.

Having single routine that reads /proc/net/dev and calls implementation
specific callback function with given network device name is good idea.

I can try to prepare v1 for this, if no one objects this.
Thanks.

lpaa5:~# cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
  adp0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
uinput4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
dynencap4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
sixtofour0:  696886    6733    0    0    0     0          0         0   480743    4445    0    0    0     0       0          0
uinput6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
gretap0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6gre0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6tnl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  gre0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
sixdecap0:       0       0    0    0    0     0          0         0   559849    2371    0    0    0     0       0          0
    lo: 80924524  222675    0    0    0     0          0         0 80924524  222675    0    0    0     0       0          0
  eth2: 8898473491 131730002    0    0    0     0          0        89 8606929352 128406009    0    0    0     0       0          0
dynencap6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth1: 9219322658 137558705    0    0    0     0          0      1592 9438658576 140822798    0    0    0     0       0          0
  eth0: 18117796393 269288710    0    0    0     0          0      1682 18045588486 269228813    0    3    0     0       0          0

lpaa5:~# unshare -n

lpaa5:~# cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

lpaa5:~# ip tuntap
adp0: tap vnet_hdr UNKNOWN_FLAGS:940

lpaa5:~# mount -t sysfs sysfs /sys

lpaa5:~# ip tuntap

lpaa5:~# ls -l /sys/class/net
total 0
-rw-r--r-- 1 root root 4096 Jan 31 08:51 bonding_masters
lrwxrwxrwx 1 root root    0 Jan 31 08:51 lo -> ../../devices/virtual/net/lo
lpaa5:~# 
  

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help