In this seris I replace /proc/net/dev and /sys/class/net usage for walk through network device list in iptunnel/ip6tunnel and iptuntap by rtnl_dump_filter() functionality.
This is an RFC, tested minimally tunnels, tuntap seems work as before. Note that some comments, especially for iptunnel/ip6tunnel commit are missing: will add this in final series, as well as update cover letter. Thanks, Serhii Serhey Popovych (6): ipaddress: Unify print_link_stats() and print_link_stats64() ip: Introduce get_rtnl_link_stats_rta() to get link statistics tunnel: Split statistic getting and printing iptunnel/ip6tunnel: Code cleanups iptunnel/ip6tunnel: Use netlink to walk through tunnels list tuntap: Use netlink to walk through tuntap list include/utils.h | 3 + ip/ip6tunnel.c | 117 +++++++++++----------------------- ip/ipaddress.c | 189 ++++--------------------------------------------------- ip/iptunnel.c | 95 ++++++++++------------------ ip/iptuntap.c | 121 ++++++++++++++++++++++++++--------- ip/tunnel.c | 114 ++++++++++++++++++++++++++------- ip/tunnel.h | 17 ++++- lib/utils.c | 68 ++++++++++++++++++++ 8 files changed, 351 insertions(+), 373 deletions(-) -- 1.7.10.4