{"id":806211,"url":"http://patchwork.ozlabs.org/api/1.0/patches/806211/?format=json","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.0/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20170827110618.20599-4-saeedm@mellanox.com>","date":"2017-08-27T11:06:17","name":"[net-next,3/4] net/core: Add violation counters to VF statisctics","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":true,"hash":"0302735b28fc5c50ee6e9c249719776f6872ca14","submitter":{"id":65299,"url":"http://patchwork.ozlabs.org/api/1.0/people/65299/?format=json","name":"Saeed Mahameed","email":"saeedm@mellanox.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.0/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20170827110618.20599-4-saeedm@mellanox.com/mbox/","series":[{"id":10,"url":"http://patchwork.ozlabs.org/api/1.0/series/10/?format=json","date":"2017-08-27T11:06:14","name":"SRIOV VF VGT+ and violation counters support","version":1,"mbox":"http://patchwork.ozlabs.org/series/10/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/806211/checks/","tags":{},"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xgCCW11zvz9s7v\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 27 Aug 2017 21:21:43 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751243AbdH0LVb (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSun, 27 Aug 2017 07:21:31 -0400","from mail-il-dmz.mellanox.com ([193.47.165.129]:37294 \"EHLO\n\tmellanox.co.il\" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org\n\twith ESMTP id S1751130AbdH0LV3 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sun, 27 Aug 2017 07:21:29 -0400","from Internal Mail-Server by MTLPINE2 (envelope-from\n\tsaeedm@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 27 Aug 2017 14:21:25 +0300","from sws.mtl.labs.mlnx (reg-l-vrt-045-015.mtl.labs.mlnx\n\t[10.135.45.15])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v7RBLOYD028221;\n\tSun, 27 Aug 2017 14:21:24 +0300"],"From":"Saeed Mahameed <saeedm@mellanox.com>","To":"\"David S. Miller\" <davem@davemloft.net>","Cc":"netdev@vger.kernel.org, Eugenia Emantayev <eugenia@mellanox.com>,\n\tSaeed Mahameed <saeedm@mellanox.com>","Subject":"[PATCH net-next 3/4] net/core: Add violation counters to VF\n\tstatisctics","Date":"Sun, 27 Aug 2017 14:06:17 +0300","Message-Id":"<20170827110618.20599-4-saeedm@mellanox.com>","X-Mailer":"git-send-email 2.13.0","In-Reply-To":"<20170827110618.20599-1-saeedm@mellanox.com>","References":"<20170827110618.20599-1-saeedm@mellanox.com>","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"From: Eugenia Emantayev <eugenia@mellanox.com>\n\nAdd receive and transmit violation counters to be\ndisplayed in iproute2 VF statistics.\n\nSigned-off-by: Eugenia Emantayev <eugenia@mellanox.com>\nSigned-off-by: Saeed Mahameed <saeedm@mellanox.com>\n---\n include/linux/if_link.h      |  2 ++\n include/uapi/linux/if_link.h |  2 ++\n net/core/rtnetlink.c         | 10 +++++++++-\n 3 files changed, 13 insertions(+), 1 deletion(-)","diff":"diff --git a/include/linux/if_link.h b/include/linux/if_link.h\nindex da70af27e42e..ebf3448acb5b 100644\n--- a/include/linux/if_link.h\n+++ b/include/linux/if_link.h\n@@ -12,6 +12,8 @@ struct ifla_vf_stats {\n \t__u64 tx_bytes;\n \t__u64 broadcast;\n \t__u64 multicast;\n+\t__u64 rx_dropped;\n+\t__u64 tx_dropped;\n };\n \n struct ifla_vf_info {\ndiff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h\nindex 3aa895c5fbc1..68cd31b281a1 100644\n--- a/include/uapi/linux/if_link.h\n+++ b/include/uapi/linux/if_link.h\n@@ -743,6 +743,8 @@ enum {\n \tIFLA_VF_STATS_BROADCAST,\n \tIFLA_VF_STATS_MULTICAST,\n \tIFLA_VF_STATS_PAD,\n+\tIFLA_VF_STATS_RX_DROPPED,\n+\tIFLA_VF_STATS_TX_DROPPED,\n \t__IFLA_VF_STATS_MAX,\n };\n \ndiff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c\nindex 56909f11d88e..1a653bb00d6e 100644\n--- a/net/core/rtnetlink.c\n+++ b/net/core/rtnetlink.c\n@@ -845,6 +845,10 @@ static inline int rtnl_vfinfo_size(const struct net_device *dev,\n \t\t\t nla_total_size_64bit(sizeof(__u64)) +\n \t\t\t /* IFLA_VF_STATS_MULTICAST */\n \t\t\t nla_total_size_64bit(sizeof(__u64)) +\n+\t\t\t /* IFLA_VF_STATS_RX_DROPPED */\n+\t\t\t nla_total_size_64bit(sizeof(__u64)) +\n+\t\t\t /* IFLA_VF_STATS_TX_DROPPED */\n+\t\t\t nla_total_size_64bit(sizeof(__u64)) +\n \t\t\t nla_total_size(sizeof(struct ifla_vf_trust)));\n \t\treturn size;\n \t} else\n@@ -1214,7 +1218,11 @@ static noinline_for_stack int rtnl_fill_vfinfo(struct sk_buff *skb,\n \t    nla_put_u64_64bit(skb, IFLA_VF_STATS_BROADCAST,\n \t\t\t      vf_stats.broadcast, IFLA_VF_STATS_PAD) ||\n \t    nla_put_u64_64bit(skb, IFLA_VF_STATS_MULTICAST,\n-\t\t\t      vf_stats.multicast, IFLA_VF_STATS_PAD)) {\n+\t\t\t      vf_stats.multicast, IFLA_VF_STATS_PAD) ||\n+\t    nla_put_u64_64bit(skb, IFLA_VF_STATS_RX_DROPPED,\n+\t\t\t      vf_stats.rx_dropped, IFLA_VF_STATS_PAD) ||\n+\t    nla_put_u64_64bit(skb, IFLA_VF_STATS_TX_DROPPED,\n+\t\t\t      vf_stats.tx_dropped, IFLA_VF_STATS_PAD)) {\n \t\tnla_nest_cancel(skb, vfstats);\n \t\tgoto nla_put_vf_failure;\n \t}\n","prefixes":["net-next","3/4"]}