From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ivan Vecera Subject: [PATCH iproute2] iplink: report drop stats for VFs Date: Wed, 25 Jul 2018 18:22:12 +0200 Message-ID: <20180725162212.26212-1-ivecera@redhat.com> Cc: stephen@networkplumber.org, Eugenia Emantayev , Saeed Mahameed To: netdev@vger.kernel.org Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:45466 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728542AbeGYReh (ORCPT ); Wed, 25 Jul 2018 13:34:37 -0400 Sender: netdev-owner@vger.kernel.org List-ID: Kernel commit c5a9f6f0ab40 ("net/core: Add drop counters to VF statistics") added support for Rx/Tx packet drops but these stats are not reported by 'ip link'. Cc: Eugenia Emantayev Cc: Saeed Mahameed Signed-off-by: Ivan Vecera --- ip/ipaddress.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ip/ipaddress.c b/ip/ipaddress.c index ea8211c1..1b5ec02a 100644 --- a/ip/ipaddress.c +++ b/ip/ipaddress.c @@ -558,6 +558,8 @@ static void print_vf_stats64(FILE *fp, struct rtattr *vfstats) rta_getattr_u64(vf[IFLA_VF_STATS_RX_BYTES])); print_u64(PRINT_JSON, "packets", NULL, rta_getattr_u64(vf[IFLA_VF_STATS_RX_PACKETS])); + print_u64(PRINT_JSON, "dropped", NULL, + rta_getattr_u64(vf[IFLA_VF_STATS_RX_DROPPED])); print_u64(PRINT_JSON, "multicast", NULL, rta_getattr_u64(vf[IFLA_VF_STATS_MULTICAST])); print_u64(PRINT_JSON, "broadcast", NULL, @@ -570,26 +572,31 @@ static void print_vf_stats64(FILE *fp, struct rtattr *vfstats) rta_getattr_u64(vf[IFLA_VF_STATS_TX_BYTES])); print_u64(PRINT_JSON, "tx_packets", NULL, rta_getattr_u64(vf[IFLA_VF_STATS_TX_PACKETS])); + print_u64(PRINT_JSON, "tx_dropped", NULL, + rta_getattr_u64(vf[IFLA_VF_STATS_TX_DROPPED])); close_json_object(); close_json_object(); } else { /* RX stats */ fprintf(fp, "%s", _SL_); - fprintf(fp, " RX: bytes packets mcast bcast %s", _SL_); + fprintf(fp, " RX: bytes packets dropped mcast bcast %s", + _SL_); fprintf(fp, " "); print_num(fp, 10, rta_getattr_u64(vf[IFLA_VF_STATS_RX_BYTES])); print_num(fp, 8, rta_getattr_u64(vf[IFLA_VF_STATS_RX_PACKETS])); + print_num(fp, 7, rta_getattr_u64(vf[IFLA_VF_STATS_RX_DROPPED])); print_num(fp, 7, rta_getattr_u64(vf[IFLA_VF_STATS_MULTICAST])); print_num(fp, 7, rta_getattr_u64(vf[IFLA_VF_STATS_BROADCAST])); /* TX stats */ fprintf(fp, "%s", _SL_); - fprintf(fp, " TX: bytes packets %s", _SL_); + fprintf(fp, " TX: bytes packets dropped %s", _SL_); fprintf(fp, " "); print_num(fp, 10, rta_getattr_u64(vf[IFLA_VF_STATS_TX_BYTES])); print_num(fp, 8, rta_getattr_u64(vf[IFLA_VF_STATS_TX_PACKETS])); + print_num(fp, 7, rta_getattr_u64(vf[IFLA_VF_STATS_TX_DROPPED])); } } -- 2.16.4