iproute2/ip
Serhey Popovych 8960d45fba tuntap: Use netlink to walk through tuntap list
It seems bad idea to depend on sysfs being mounted and reflected to the
current network namespace. Same applies to procfs.

Instead netlink should be used to talk to the kernel and get list of
specific network devices among with their parameters.

Support for kernel netlink message filtering by passing IFLA_INFO_KIND
in RTM_GETLINK request: if kernel does not support filtering by the kind
we will check it in reply anyway. Check for ifi->ifi_type to be either
ARPHRD_NONE or ARPHRD_ETHER to seed up things a bit without kernel level
filtering.

Unfortunately tun driver does not implement dumping it's configuration
via netlink and we still need to use read_prop() which depends on sysfs
to get additional tun device information.

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
2018-02-07 16:15:47 -08:00
..
.gitignore Another .gitignore file. 2006-08-08 12:11:23 -07:00
Makefile ip: link: add support for netdevsim device type 2018-01-02 20:46:19 -08:00
ifcfg ifcfg/rtpr: convert to POSIX shell 2018-01-10 08:26:09 -08:00
ila_common.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
ip.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ip6tunnel.c iptunnel/ip6tunnel: Use netlink to walk through tunnels list 2018-02-07 16:15:42 -08:00
ip_common.h ip: Consolidate ip, xdp and lwtunnel parse/dump prototypes in ip_common.h 2018-02-02 14:55:12 -08:00
ipaddress.c ip: Introduce get_rtnl_link_stats_rta() to get link statistics 2018-02-07 16:15:28 -08:00
ipaddrlabel.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ipfou.c ip fou: pass family attribute as u8 2018-01-09 07:58:37 -08:00
ipila.c ila: fix formatting of help message 2017-11-24 09:21:43 -08:00
ipl2tp.c ipl2tp: Use get_addr_rta() 2018-01-25 09:31:25 -08:00
iplink.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
iplink_bond.c iplink: Use ll_name_to_index() instead of if_nametoindex() 2018-01-23 14:50:59 -08:00
iplink_bond_slave.c ip: iplink_bond_slave.c: add json output support (info_slave_data) 2017-08-17 18:02:40 -07:00
iplink_bridge.c iplink: Use ll_name_to_index() instead of if_nametoindex() 2018-01-23 14:50:59 -08:00
iplink_bridge_slave.c iplink: bridge: support bridge port vlan_tunnel attribute 2017-10-31 18:04:30 +01:00
iplink_can.c Merge branch 'master' into net-next 2017-08-21 17:37:15 -07:00
iplink_dummy.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
iplink_geneve.c ip/tunnel: Be consistent when printing tunnel collect metadata 2018-01-24 10:01:26 -08:00
iplink_hsr.c ip: iplink_hsr.c: add json output support 2017-08-17 18:02:40 -07:00
iplink_ifb.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
iplink_ipoib.c ip: iplink_ipoib.c: add json output support 2017-08-17 18:02:41 -07:00
iplink_ipvlan.c ip/ipvlan: enhance ability to add mode flags to existing modes 2017-11-01 22:17:01 +01:00
iplink_macvlan.c ip: link_macvlan.c: add json output support 2017-08-17 18:02:41 -07:00
iplink_netdevsim.c ip: link: add support for netdevsim device type 2018-01-02 20:46:19 -08:00
iplink_nlmon.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
iplink_team.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
iplink_vcan.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
iplink_vlan.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
iplink_vrf.c lib/libnetlink: update rtnl_talk to support malloc buff at run time 2017-10-26 12:29:29 +02:00
iplink_vxcan.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
iplink_vxlan.c ip/tunnel: Be consistent when printing tunnel collect metadata 2018-01-24 10:01:26 -08:00
iplink_xdp.c ip: Consolidate ip, xdp and lwtunnel parse/dump prototypes in ip_common.h 2018-02-02 14:55:12 -08:00
iplink_xstats.c add missing iplink_xstats.c 2017-02-20 08:53:40 -08:00
ipmacsec.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
ipmaddr.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ipmonitor.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ipmroute.c ipmroute: Use inet_addr_match_rta() 2018-01-25 09:31:22 -08:00
ipneigh.c ipneigh: Use inet_addr_match_rta() 2018-01-25 09:31:24 -08:00
ipnetconf.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ipnetns.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
ipntable.c lib/libnetlink: update rtnl_talk to support malloc buff at run time 2017-10-26 12:29:29 +02:00
ipprefix.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
iproute.c iproute: refactor printing of interface 2018-02-07 16:08:44 -08:00
iproute_lwtunnel.c ip: Consolidate ip, xdp and lwtunnel parse/dump prototypes in ip_common.h 2018-02-02 14:55:12 -08:00
iprule.c iprule: Use inet_addr_match_rta() 2018-01-25 09:31:21 -08:00
ipseg6.c ip: Get rid of inet_get_addr() 2018-01-21 09:38:26 -08:00
iptoken.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
iptunnel.c iptunnel/ip6tunnel: Use netlink to walk through tunnels list 2018-02-07 16:15:42 -08:00
iptuntap.c tuntap: Use netlink to walk through tuntap list 2018-02-07 16:15:47 -08:00
ipvrf.c Convert harmful calls to strncpy() to strlcpy() 2017-09-01 12:10:54 -07:00
ipxfrm.c ipxfrm: Replace STRBUF_CAT macro with strlcat() 2017-09-01 12:10:54 -07:00
link_gre.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
link_gre6.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
link_ip6tnl.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
link_iptnl.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
link_veth.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
link_vti.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
link_vti6.c ip: Minor cleanups 2018-02-02 14:58:26 -08:00
routef mark shell scripts +x 2018-01-10 08:23:49 -08:00
routel mark shell scripts +x 2018-01-10 08:23:49 -08:00
rtm_map.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
rtmon.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
rtpr ifcfg/rtpr: convert to POSIX shell 2018-01-10 08:26:09 -08:00
static-syms.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
tcp_metrics.c tcp_metric: Use get_addr_rta() 2018-01-25 09:31:27 -08:00
tunnel.c iptunnel/ip6tunnel: Use netlink to walk through tunnels list 2018-02-07 16:15:42 -08:00
tunnel.h iptunnel/ip6tunnel: Use netlink to walk through tunnels list 2018-02-07 16:15:42 -08:00
xfrm.h ip: Fix compilation break on old systems 2017-11-13 10:07:25 -08:00
xfrm_monitor.c netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
xfrm_policy.c Merge branch 'master' into net-next 2017-11-09 09:45:17 +09:00
xfrm_state.c Merge branch 'master' into net-next 2017-11-09 09:45:17 +09:00