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
- signature.asc [application/pgp-signature] 490 bytes