Re: [PATCH iproute 2/2] utils: fix get_rtnl_link_stats_rta stats parsing

Stephen Hemminger
2018-10-11T02:35:19Z

On Wed, 10 Oct 2018 17:00:58 +0200
Lorenzo Bianconi <lorenzo.bianconi@redhat.com> wrote:

> iproute2 walks through the list of available tunnels using netlink
> protocol in order to get device info instead of reading
> them from proc filesystem. However the kernel reports device statistics
> using IFLA_INET6_STATS/IFLA_INET6_ICMP6STATS attributes nested in
> IFLA_PROTINFO one but iproutes expects these info in
> IFLA_STATS64/IFLA_STATS attributes.
> The issue can be triggered with the following reproducer:
>
> $ip link add ip6d0 type ip6tnl mode ip6ip6 local 1111::1 remote 2222::1
> $ip -6 -d -s tunnel show ip6d0
> ip6d0: ipv6/ipv6 remote 2222::1 local 1111::1 encaplimit 4 hoplimit 64
> tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000)
> Dump terminated
>
> Fix the issue introducing IFLA_INET6_STATS attribute parsing
>
> Fixes: 3e953938717f ("iptunnel/ip6tunnel: Use netlink to walk through
> tunnels list")
>
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>

Can't we fix the kernel to report statistics properly, rather than
starting iproute2 doing more /proc interfaces.