iproute2/ip
Serhey Popovych 3e95393871 iptunnel/ip6tunnel: Use netlink to walk through tunnels list
Both tunnels use legacy /proc/net/dev interface to get tunnel device and
it's statistics. This may cause problems for cases when procfs either
not mounted or not unshare(2)d for given network namespace.

Use netlink to walk through list of tunnel devices which is network
namespace aware and provides additional information such as statistics
in the dump message.

Since both address family specific variants of do_tunnels_list() nearly
the same, except for tunnel parameters structure initialization,
matching and printing we can introduce common one in tunnel.c.

To implement address family specific parts introduce new data structure
@struct tnl_print_nlmsg_info what contains all necessary information as
well as pointers to ->init(), ->match() and ->print() callbacks.

Annotate data structures by const where appropriate.

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
2018-02-07 16:15:42 -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 tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -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