]> git.proxmox.com Git - mirror_iproute2.git/commit - lib/utils.c
utils: fix get_rtnl_link_stats_rta stats parsing
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Wed, 10 Oct 2018 15:00:58 +0000 (17:00 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 15 Oct 2018 16:40:15 +0000 (09:40 -0700)
commitc7a3b22961f528760766aa85095eb1ab04a39797
treed942ee93b234d71277ea5cbfb43ed26ca074d42c
parent9e030e77f20ab177e8717f054c9d53050b9a5d53
utils: fix get_rtnl_link_stats_rta stats parsing

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>
lib/utils.c