From patchwork Sat Nov 7 20:49:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396236 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=R9SDmQWk; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gN462Fz9sSn for ; Sun, 8 Nov 2020 07:56:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726607AbgKGU4F (ORCPT ); Sat, 7 Nov 2020 15:56:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725836AbgKGU4F (ORCPT ); Sat, 7 Nov 2020 15:56:05 -0500 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FC28C0613CF for ; Sat, 7 Nov 2020 12:56:05 -0800 (PST) Received: by mail-wm1-x344.google.com with SMTP id p19so3183215wmg.0 for ; Sat, 07 Nov 2020 12:56:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=DYRIQMTMgtclfC11ma0PcCZtnRPkZKmVXTdnNGEHpbU=; b=R9SDmQWkuWHnfgtqv7Ufkk2HRy0GaLhEEYkHaTvRjlowbgX0La+ML68VcuQOHxhjNN PcX5tkZKLnlrWLIN6Q6IcrTUrWcOyWc60GQNr4LVonFEBgs1nDaNFHJ9pIIeJRb5vS5+ pc1oWRBO4ZPnGcw+xeRIXW8hCRBqVEMvp/nPFe3p1S0H5nknnXRVx1aMl+B6SMeU5zUS r79fPNCRov3Y10SRZt9msJhE1PeaPBSHnGb33PZK3RosLrWEOK0XMP8sMac68OtNHIJV PxcNkv+P4097VC9S2B4s0j93aTrSv7sliC1kuodARUkD9K0dfgR76eWjlsKAysUYcbXn EL2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=DYRIQMTMgtclfC11ma0PcCZtnRPkZKmVXTdnNGEHpbU=; b=pHeBaZUsQIAKO/C5Uz6yGIQxEsSg0qocE1TZXCMiL0keczLXd25sikNNP9JIrimcmL aeBunvlfuxK/8wdH/cHP+hN7VN2njj4mQoiAKVNqOqKCf0hxeVmvRhH+7C79cs7IN2yW 6Zkd5lL3HTQywg6PwgI7NDY4xu5y/GTauYIPiKTJr3Je42RvwDz51sblSjRbdThaTgxh JBb6zM2iqigOnbTOYEoZ5bxgsF4VkwAttECRMZu7yJm8f8np4RMH8vkeQyuGJYxJSLaH Itj+dTfWj9wKO/I0Q/xkgnStKKVRODtsXDApFk1OkrIyHsevOAYgGbF8INxsH28DGZtS d3cA== X-Gm-Message-State: AOAM533aFDp/GZI4y8kV7E+v7sLEn8JJ/SiRuQo4JAxaehdvOf4gu116 si4hcpGxUClepiluJZOx1jFlxuh1rTwdoQ== X-Google-Smtp-Source: ABdhPJwZYHop1A1l8S0GAY1Ccs9RLvW4wC3U+CFi/wgoe1MRqwMrnejznW8okpPfxgKH5UbwYcLWOw== X-Received: by 2002:a1c:6284:: with SMTP id w126mr6532465wmb.145.1604782563027; Sat, 07 Nov 2020 12:56:03 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id p4sm7611551wrm.51.2020.11.07.12.56.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:02 -0800 (PST) Subject: [PATCH net-next v3 01/10] net: core: add dev_get_tstats64 as a ndo_get_stats64 implementation From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <484218db-e035-dba4-dfb7-93c2cf177cec@gmail.com> Date: Sat, 7 Nov 2020 21:49:07 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org It's a frequent pattern to use netdev->stats for the less frequently accessed counters and per-cpu counters for the frequently accessed counters (rx/tx bytes/packets). Add a default ndo_get_stats64() implementation for this use case. Reviewed-by: Florian Fainelli Signed-off-by: Heiner Kallweit --- include/linux/netdevice.h | 1 + net/core/dev.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index a53ed2d1e..7ce648a56 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -4527,6 +4527,7 @@ void netdev_stats_to_stats64(struct rtnl_link_stats64 *stats64, const struct net_device_stats *netdev_stats); void dev_fetch_sw_netstats(struct rtnl_link_stats64 *s, const struct pcpu_sw_netstats __percpu *netstats); +void dev_get_tstats64(struct net_device *dev, struct rtnl_link_stats64 *s); extern int netdev_max_backlog; extern int netdev_tstamp_prequeue; diff --git a/net/core/dev.c b/net/core/dev.c index bd6100da6..60d325bda 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -10366,6 +10366,21 @@ void dev_fetch_sw_netstats(struct rtnl_link_stats64 *s, } EXPORT_SYMBOL_GPL(dev_fetch_sw_netstats); +/** + * dev_get_tstats64 - ndo_get_stats64 implementation + * @dev: device to get statistics from + * @s: place to store stats + * + * Populate @s from dev->stats and dev->tstats. Can be used as + * ndo_get_stats64() callback. + */ +void dev_get_tstats64(struct net_device *dev, struct rtnl_link_stats64 *s) +{ + netdev_stats_to_stats64(s, &dev->stats); + dev_fetch_sw_netstats(s, dev->tstats); +} +EXPORT_SYMBOL_GPL(dev_get_tstats64); + struct netdev_queue *dev_ingress_queue_create(struct net_device *dev) { struct netdev_queue *queue = dev_ingress_queue(dev); From patchwork Sat Nov 7 20:49:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396237 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=HuMmBGOZ; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gP2V8pz9sTv for ; Sun, 8 Nov 2020 07:56:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728634AbgKGU4H (ORCPT ); Sat, 7 Nov 2020 15:56:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725836AbgKGU4G (ORCPT ); Sat, 7 Nov 2020 15:56:06 -0500 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC56EC0613CF for ; Sat, 7 Nov 2020 12:56:05 -0800 (PST) Received: by mail-wm1-x343.google.com with SMTP id p22so4654140wmg.3 for ; Sat, 07 Nov 2020 12:56:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=whZpVChbC/Oh3fGf+zAOWeG71Nt5Rog/T1hyV+pag+s=; b=HuMmBGOZjUkGiKhtWqwnFVrZogGWKOpl2hx4HGzximEH87j5Cy/XzDpjZy8D7CMGZ9 DS3v3xjv37n8RnEG1ns3FlJy+YI1S4xn6o0AY66D6JpL6jilQIHe7y+/KK78jS3yWEC0 exQ4hd2kp3aVPER+QmgccFdFX6na+5LCyg5sddW347hVlopRa08jzeitSVh5OZAKj/np W9Ye5AcPA2O5sET5dU2wIbtCD+VWSW8MH7jNJYjbJKKbTaBCkpX/QmhC0bmewk5m+Fxf /OU55EYcv+hOBvT9gPKGOYcxDrZa2Um85Oy3puao1Fdm0Ngd/ySwOoYbvE2K65qW00om vMDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=whZpVChbC/Oh3fGf+zAOWeG71Nt5Rog/T1hyV+pag+s=; b=ROseFHmvQ9fOZsm27iBUCJaoA84DNi/jCgZ/OciK9FAKtNUqzcSesJyE7ozVIX97p2 1Wu1MjoOw53G3H2uqdj/52r38sZzi/LTb61hMYvBm24Mi3Y6dTBqgzfFAEvkgkcjk6QZ I567g/zJG0Fp+qLeFND/jCgV7fo/9H/6I43UoYfy0N5wika8KYgwQrwgTUIySe+KHr9b e3khUfZksf/pfSLMO7Vnsv45om1RWVKm9j5h9/32JQm5Xi1XPGfdh6m0zTOvoqMiVTUd 7kfl6VRmLTC7+YOkeRF9a2I+kuSvIx7DbYQjB/xo0kmtq1uUjMtfJLtQUdJOIEvilQLJ MXAA== X-Gm-Message-State: AOAM533FmB7Qj+dJvXj1KUDQqaFb2P48EHMJdG/++uB08H/IZgL09O4n G8qQ8wdSNM2XrpMyOyWho3reyCWlfwk8fQ== X-Google-Smtp-Source: ABdhPJxnEfRez/hEbRVq9jtSSBegtRME/vDRC1PdL/NV7oUwXPZ4chY5azs5X3HhST6WqbuflfsJ9w== X-Received: by 2002:a7b:ce8a:: with SMTP id q10mr6343037wmj.101.1604782564583; Sat, 07 Nov 2020 12:56:04 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id 90sm7604936wrl.30.2020.11.07.12.56.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:04 -0800 (PST) Subject: [PATCH net-next v3 02/10] net: dsa: use net core stats64 handling From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <74c82e15-c44e-8368-6d60-4f61f6aba92f@gmail.com> Date: Sat, 7 Nov 2020 21:49:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use netdev->tstats instead of a member of dsa_slave_priv for storing a pointer to the per-cpu counters. This allows us to use core functionality for statistics handling. Reviewed-by: Florian Fainelli Tested-by: Vladimir Oltean Signed-off-by: Heiner Kallweit --- net/dsa/dsa.c | 7 +------ net/dsa/dsa_priv.h | 2 -- net/dsa/slave.c | 29 +++++++---------------------- 3 files changed, 8 insertions(+), 30 deletions(-) diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 2131bf2b3..a1b1dc8a4 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -201,7 +201,6 @@ static int dsa_switch_rcv(struct sk_buff *skb, struct net_device *dev, { struct dsa_port *cpu_dp = dev->dsa_ptr; struct sk_buff *nskb = NULL; - struct pcpu_sw_netstats *s; struct dsa_slave_priv *p; if (unlikely(!cpu_dp)) { @@ -234,11 +233,7 @@ static int dsa_switch_rcv(struct sk_buff *skb, struct net_device *dev, skb = nskb; } - s = this_cpu_ptr(p->stats64); - u64_stats_update_begin(&s->syncp); - s->rx_packets++; - s->rx_bytes += skb->len; - u64_stats_update_end(&s->syncp); + dev_sw_netstats_rx_add(skb->dev, skb->len); if (dsa_skb_defer_rx_timestamp(p, skb)) return 0; diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 12998bf04..7c96aae90 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -78,8 +78,6 @@ struct dsa_slave_priv { struct sk_buff * (*xmit)(struct sk_buff *skb, struct net_device *dev); - struct pcpu_sw_netstats __percpu *stats64; - struct gro_cells gcells; /* DSA port data, such as switch, port index, etc. */ diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 59c80052e..ff2266d2b 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -575,14 +575,9 @@ static int dsa_realloc_skb(struct sk_buff *skb, struct net_device *dev) static netdev_tx_t dsa_slave_xmit(struct sk_buff *skb, struct net_device *dev) { struct dsa_slave_priv *p = netdev_priv(dev); - struct pcpu_sw_netstats *s; struct sk_buff *nskb; - s = this_cpu_ptr(p->stats64); - u64_stats_update_begin(&s->syncp); - s->tx_packets++; - s->tx_bytes += skb->len; - u64_stats_update_end(&s->syncp); + dev_sw_netstats_tx_add(dev, 1, skb->len); DSA_SKB_CB(skb)->clone = NULL; @@ -714,7 +709,6 @@ static void dsa_slave_get_ethtool_stats(struct net_device *dev, uint64_t *data) { struct dsa_port *dp = dsa_slave_to_port(dev); - struct dsa_slave_priv *p = netdev_priv(dev); struct dsa_switch *ds = dp->ds; struct pcpu_sw_netstats *s; unsigned int start; @@ -723,7 +717,7 @@ static void dsa_slave_get_ethtool_stats(struct net_device *dev, for_each_possible_cpu(i) { u64 tx_packets, tx_bytes, rx_packets, rx_bytes; - s = per_cpu_ptr(p->stats64, i); + s = per_cpu_ptr(dev->tstats, i); do { start = u64_stats_fetch_begin_irq(&s->syncp); tx_packets = s->tx_packets; @@ -1252,15 +1246,6 @@ static int dsa_slave_setup_tc(struct net_device *dev, enum tc_setup_type type, return ds->ops->port_setup_tc(ds, dp->index, type, type_data); } -static void dsa_slave_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *stats) -{ - struct dsa_slave_priv *p = netdev_priv(dev); - - netdev_stats_to_stats64(stats, &dev->stats); - dev_fetch_sw_netstats(stats, p->stats64); -} - static int dsa_slave_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *nfc, u32 *rule_locs) { @@ -1636,7 +1621,7 @@ static const struct net_device_ops dsa_slave_netdev_ops = { #endif .ndo_get_phys_port_name = dsa_slave_get_phys_port_name, .ndo_setup_tc = dsa_slave_setup_tc, - .ndo_get_stats64 = dsa_slave_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_port_parent_id = dsa_slave_get_port_parent_id, .ndo_vlan_rx_add_vid = dsa_slave_vlan_rx_add_vid, .ndo_vlan_rx_kill_vid = dsa_slave_vlan_rx_kill_vid, @@ -1846,8 +1831,8 @@ int dsa_slave_create(struct dsa_port *port) slave_dev->vlan_features = master->vlan_features; p = netdev_priv(slave_dev); - p->stats64 = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); - if (!p->stats64) { + slave_dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); + if (!slave_dev->tstats) { free_netdev(slave_dev); return -ENOMEM; } @@ -1909,7 +1894,7 @@ int dsa_slave_create(struct dsa_port *port) out_gcells: gro_cells_destroy(&p->gcells); out_free: - free_percpu(p->stats64); + free_percpu(slave_dev->tstats); free_netdev(slave_dev); port->slave = NULL; return ret; @@ -1931,7 +1916,7 @@ void dsa_slave_destroy(struct net_device *slave_dev) dsa_slave_notify(slave_dev, DSA_PORT_UNREGISTER); phylink_destroy(dp->pl); gro_cells_destroy(&p->gcells); - free_percpu(p->stats64); + free_percpu(slave_dev->tstats); free_netdev(slave_dev); } From patchwork Sat Nov 7 20:50:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396238 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=jQiRfb3b; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gP56ZMz9sVC for ; Sun, 8 Nov 2020 07:56:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728691AbgKGU4J (ORCPT ); Sat, 7 Nov 2020 15:56:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725836AbgKGU4I (ORCPT ); Sat, 7 Nov 2020 15:56:08 -0500 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74093C0613CF for ; Sat, 7 Nov 2020 12:56:07 -0800 (PST) Received: by mail-wr1-x441.google.com with SMTP id d12so3311116wrr.13 for ; Sat, 07 Nov 2020 12:56:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=PejjeG+zbwWRUN6vuocV3lUkiAIKQDB/4FnU3VTYJqI=; b=jQiRfb3bKW8yRMUM4GhzH5IZfwMfT0/hthqZ7i6XF52BIAllC+9OfOm005NNTF4n8C 0XoRG70Tax9wHzx1G9MOJeEq5fx1Nd0Nogc2OQCYqkCMCl11kLMwhEFEUMYepziaR9Ub nBqIw9oNhvprKwVh1KPUj3vNNoG8blTOj/3i7NIICBv1EllaxfN+KavTwEz14shqbNpC LKMzhpgvMEX9WSHo8emECbVq1sY6dk+zhUblXDKIUqg6qebEav8Iyd70/VscY/AXoYsv 3tVgNK3nh6k2bwaB+oKyFv6kJBd95GNClyL2drGS2lynEtA6cYfsgQTVaQqCpT+xKVvw 1v3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=PejjeG+zbwWRUN6vuocV3lUkiAIKQDB/4FnU3VTYJqI=; b=M43mPvCrtzfMRlVYKnjof61IyTswTGa5kZU9oWChL1XhPElKeVrBBameoo8PL1/mak WqvPavHSZzksrhLvWwHuynQ+2q9qr0VARSodjdgfCFXqmqR5VNUe5zWI92PNFGYPNsW9 zGjda91TNaq8o2ksgyK8aUfThHacmY1ZblpsXg+7ZAAa54LBxnY1aWoFuqkXYG3a3Jya C5g32mUx3ZPFbgllNXrnfYZVRGXO6ujee/Fu7oJyZmFbMefszWWcZ0YDTzdW1EQSu8R8 qgSs5LF7CGVK00eYUvdJ7WTuBlHyuTAQW8sK5m7C2ld+twQOWt6cfptTJmHYrcLaLDfg 23Aw== X-Gm-Message-State: AOAM532utjaVt9A2rnbkOgzU7kpYf4F1PfE6EslaBvg90o3GhAJUKZmx F879tETpT2BwPB5PW/dXIIY= X-Google-Smtp-Source: ABdhPJz67P1Dor/5WyKbo0NH5zynGrSvAaCBVCt0ZASUFwHh+xc4w0q6FVXcW7AWuWi4sAOrgVFUCQ== X-Received: by 2002:a5d:4a50:: with SMTP id v16mr3929247wrs.106.1604782566074; Sat, 07 Nov 2020 12:56:06 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id o17sm7621838wmd.34.2020.11.07.12.56.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:05 -0800 (PST) Subject: [PATCH net-next v3 03/10] tun: switch to net core provided statistics counters From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <7dbbdd3b-4e99-25b1-273c-232ab34d2e78@gmail.com> Date: Sat, 7 Nov 2020 21:50:56 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Switch tun to the standard statistics pattern: - use netdev->stats for the less frequently accessed counters - use netdev->tstats for the frequently accessed per-cpu counters v3: - add atomic_long_t member rx_frame_errors for making counter updates atomic Signed-off-by: Heiner Kallweit --- drivers/net/tun.c | 121 +++++++++++++--------------------------------- 1 file changed, 34 insertions(+), 87 deletions(-) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index be69d2720..3d45d5617 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -107,17 +107,6 @@ struct tap_filter { #define TUN_FLOW_EXPIRE (3 * HZ) -struct tun_pcpu_stats { - u64_stats_t rx_packets; - u64_stats_t rx_bytes; - u64_stats_t tx_packets; - u64_stats_t tx_bytes; - struct u64_stats_sync syncp; - u32 rx_dropped; - u32 tx_dropped; - u32 rx_frame_errors; -}; - /* A tun_file connects an open character device to a tuntap netdevice. It * also contains all socket related structures (except sock_fprog and tap_filter) * to serve as one transmit queue for tuntap device. The sock_fprog and @@ -207,7 +196,7 @@ struct tun_struct { void *security; u32 flow_count; u32 rx_batched; - struct tun_pcpu_stats __percpu *pcpu_stats; + atomic_long_t rx_frame_errors; struct bpf_prog __rcu *xdp_prog; struct tun_prog __rcu *steering_prog; struct tun_prog __rcu *filter_prog; @@ -1066,7 +1055,7 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev) return NETDEV_TX_OK; drop: - this_cpu_inc(tun->pcpu_stats->tx_dropped); + atomic_long_inc(&dev->tx_dropped); skb_tx_error(skb); kfree_skb(skb); rcu_read_unlock(); @@ -1103,37 +1092,12 @@ static void tun_set_headroom(struct net_device *dev, int new_hr) static void tun_net_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) { - u32 rx_dropped = 0, tx_dropped = 0, rx_frame_errors = 0; struct tun_struct *tun = netdev_priv(dev); - struct tun_pcpu_stats *p; - int i; - - for_each_possible_cpu(i) { - u64 rxpackets, rxbytes, txpackets, txbytes; - unsigned int start; - p = per_cpu_ptr(tun->pcpu_stats, i); - do { - start = u64_stats_fetch_begin(&p->syncp); - rxpackets = u64_stats_read(&p->rx_packets); - rxbytes = u64_stats_read(&p->rx_bytes); - txpackets = u64_stats_read(&p->tx_packets); - txbytes = u64_stats_read(&p->tx_bytes); - } while (u64_stats_fetch_retry(&p->syncp, start)); + dev_get_tstats64(dev, stats); - stats->rx_packets += rxpackets; - stats->rx_bytes += rxbytes; - stats->tx_packets += txpackets; - stats->tx_bytes += txbytes; - - /* u32 counters */ - rx_dropped += p->rx_dropped; - rx_frame_errors += p->rx_frame_errors; - tx_dropped += p->tx_dropped; - } - stats->rx_dropped = rx_dropped; - stats->rx_frame_errors = rx_frame_errors; - stats->tx_dropped = tx_dropped; + stats->rx_frame_errors += + (unsigned long)atomic_long_read(&tun->rx_frame_errors); } static int tun_xdp_set(struct net_device *dev, struct bpf_prog *prog, @@ -1247,7 +1211,7 @@ static int tun_xdp_xmit(struct net_device *dev, int n, void *frame = tun_xdp_to_ptr(xdp); if (__ptr_ring_produce(&tfile->tx_ring, frame)) { - this_cpu_inc(tun->pcpu_stats->tx_dropped); + atomic_long_inc(&dev->tx_dropped); xdp_return_frame_rx_napi(xdp); drops++; } @@ -1283,7 +1247,7 @@ static const struct net_device_ops tap_netdev_ops = { .ndo_select_queue = tun_select_queue, .ndo_features_check = passthru_features_check, .ndo_set_rx_headroom = tun_set_headroom, - .ndo_get_stats64 = tun_net_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_bpf = tun_xdp, .ndo_xdp_xmit = tun_xdp_xmit, .ndo_change_carrier = tun_net_change_carrier, @@ -1577,7 +1541,7 @@ static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog, trace_xdp_exception(tun->dev, xdp_prog, act); fallthrough; case XDP_DROP: - this_cpu_inc(tun->pcpu_stats->rx_dropped); + atomic_long_inc(&tun->dev->rx_dropped); break; } @@ -1683,7 +1647,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, size_t total_len = iov_iter_count(from); size_t len = total_len, align = tun->align, linear; struct virtio_net_hdr gso = { 0 }; - struct tun_pcpu_stats *stats; int good_linear; int copylen; bool zerocopy = false; @@ -1752,7 +1715,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, */ skb = tun_build_skb(tun, tfile, from, &gso, len, &skb_xdp); if (IS_ERR(skb)) { - this_cpu_inc(tun->pcpu_stats->rx_dropped); + atomic_long_inc(&tun->dev->rx_dropped); return PTR_ERR(skb); } if (!skb) @@ -1781,7 +1744,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, if (IS_ERR(skb)) { if (PTR_ERR(skb) != -EAGAIN) - this_cpu_inc(tun->pcpu_stats->rx_dropped); + atomic_long_inc(&tun->dev->rx_dropped); if (frags) mutex_unlock(&tfile->napi_mutex); return PTR_ERR(skb); @@ -1795,7 +1758,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, if (err) { err = -EFAULT; drop: - this_cpu_inc(tun->pcpu_stats->rx_dropped); + atomic_long_inc(&tun->dev->rx_dropped); kfree_skb(skb); if (frags) { tfile->napi.skb = NULL; @@ -1807,7 +1770,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, } if (virtio_net_hdr_to_skb(skb, &gso, tun_is_little_endian(tun))) { - this_cpu_inc(tun->pcpu_stats->rx_frame_errors); + atomic_long_inc(&tun->rx_frame_errors); kfree_skb(skb); if (frags) { tfile->napi.skb = NULL; @@ -1830,7 +1793,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, pi.proto = htons(ETH_P_IPV6); break; default: - this_cpu_inc(tun->pcpu_stats->rx_dropped); + atomic_long_inc(&tun->dev->rx_dropped); kfree_skb(skb); return -EINVAL; } @@ -1910,7 +1873,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, skb_headlen(skb)); if (unlikely(headlen > skb_headlen(skb))) { - this_cpu_inc(tun->pcpu_stats->rx_dropped); + atomic_long_inc(&tun->dev->rx_dropped); napi_free_frags(&tfile->napi); rcu_read_unlock(); mutex_unlock(&tfile->napi_mutex); @@ -1942,12 +1905,9 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, } rcu_read_unlock(); - stats = get_cpu_ptr(tun->pcpu_stats); - u64_stats_update_begin(&stats->syncp); - u64_stats_inc(&stats->rx_packets); - u64_stats_add(&stats->rx_bytes, len); - u64_stats_update_end(&stats->syncp); - put_cpu_ptr(stats); + preempt_disable(); + dev_sw_netstats_rx_add(tun->dev, len); + preempt_enable(); if (rxhash) tun_flow_update(tun, rxhash, tfile); @@ -1979,7 +1939,6 @@ static ssize_t tun_put_user_xdp(struct tun_struct *tun, { int vnet_hdr_sz = 0; size_t size = xdp_frame->len; - struct tun_pcpu_stats *stats; size_t ret; if (tun->flags & IFF_VNET_HDR) { @@ -1996,12 +1955,9 @@ static ssize_t tun_put_user_xdp(struct tun_struct *tun, ret = copy_to_iter(xdp_frame->data, size, iter) + vnet_hdr_sz; - stats = get_cpu_ptr(tun->pcpu_stats); - u64_stats_update_begin(&stats->syncp); - u64_stats_inc(&stats->tx_packets); - u64_stats_add(&stats->tx_bytes, ret); - u64_stats_update_end(&stats->syncp); - put_cpu_ptr(tun->pcpu_stats); + preempt_disable(); + dev_sw_netstats_tx_add(tun->dev, 1, ret); + preempt_enable(); return ret; } @@ -2013,7 +1969,6 @@ static ssize_t tun_put_user(struct tun_struct *tun, struct iov_iter *iter) { struct tun_pi pi = { 0, skb->protocol }; - struct tun_pcpu_stats *stats; ssize_t total; int vlan_offset = 0; int vlan_hlen = 0; @@ -2091,12 +2046,9 @@ static ssize_t tun_put_user(struct tun_struct *tun, done: /* caller is in process context, */ - stats = get_cpu_ptr(tun->pcpu_stats); - u64_stats_update_begin(&stats->syncp); - u64_stats_inc(&stats->tx_packets); - u64_stats_add(&stats->tx_bytes, skb->len + vlan_hlen); - u64_stats_update_end(&stats->syncp); - put_cpu_ptr(tun->pcpu_stats); + preempt_disable(); + dev_sw_netstats_tx_add(tun->dev, 1, skb->len + vlan_hlen); + preempt_enable(); return total; } @@ -2235,11 +2187,11 @@ static void tun_free_netdev(struct net_device *dev) BUG_ON(!(list_empty(&tun->disabled))); - free_percpu(tun->pcpu_stats); - /* We clear pcpu_stats so that tun_set_iff() can tell if + free_percpu(dev->tstats); + /* We clear tstats so that tun_set_iff() can tell if * tun_free_netdev() has been called from register_netdevice(). */ - tun->pcpu_stats = NULL; + dev->tstats = NULL; tun_flow_uninit(tun); security_tun_dev_free_security(tun->security); @@ -2370,7 +2322,6 @@ static int tun_xdp_one(struct tun_struct *tun, unsigned int datasize = xdp->data_end - xdp->data; struct tun_xdp_hdr *hdr = xdp->data_hard_start; struct virtio_net_hdr *gso = &hdr->gso; - struct tun_pcpu_stats *stats; struct bpf_prog *xdp_prog; struct sk_buff *skb = NULL; u32 rxhash = 0, act; @@ -2428,7 +2379,7 @@ static int tun_xdp_one(struct tun_struct *tun, skb_put(skb, xdp->data_end - xdp->data); if (virtio_net_hdr_to_skb(skb, gso, tun_is_little_endian(tun))) { - this_cpu_inc(tun->pcpu_stats->rx_frame_errors); + atomic_long_inc(&tun->rx_frame_errors); kfree_skb(skb); err = -EINVAL; goto out; @@ -2451,14 +2402,10 @@ static int tun_xdp_one(struct tun_struct *tun, netif_receive_skb(skb); - /* No need for get_cpu_ptr() here since this function is + /* No need to disable preemption here since this function is * always called with bh disabled */ - stats = this_cpu_ptr(tun->pcpu_stats); - u64_stats_update_begin(&stats->syncp); - u64_stats_inc(&stats->rx_packets); - u64_stats_add(&stats->rx_bytes, datasize); - u64_stats_update_end(&stats->syncp); + dev_sw_netstats_rx_add(tun->dev, datasize); if (rxhash) tun_flow_update(tun, rxhash, tfile); @@ -2751,8 +2698,8 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) tun->rx_batched = 0; RCU_INIT_POINTER(tun->steering_prog, NULL); - tun->pcpu_stats = netdev_alloc_pcpu_stats(struct tun_pcpu_stats); - if (!tun->pcpu_stats) { + dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); + if (!dev->tstats) { err = -ENOMEM; goto err_free_dev; } @@ -2807,16 +2754,16 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) tun_detach_all(dev); /* We are here because register_netdevice() has failed. * If register_netdevice() already called tun_free_netdev() - * while dealing with the error, tun->pcpu_stats has been cleared. + * while dealing with the error, dev->stats has been cleared. */ - if (!tun->pcpu_stats) + if (!dev->tstats) goto err_free_dev; err_free_flow: tun_flow_uninit(tun); security_tun_dev_free_security(tun->security); err_free_stat: - free_percpu(tun->pcpu_stats); + free_percpu(dev->tstats); err_free_dev: free_netdev(dev); return err; From patchwork Sat Nov 7 20:51:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396239 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=kroF5lez; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gQ1Jblz9sVK for ; Sun, 8 Nov 2020 07:56:18 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728713AbgKGU4M (ORCPT ); Sat, 7 Nov 2020 15:56:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725836AbgKGU4J (ORCPT ); Sat, 7 Nov 2020 15:56:09 -0500 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DAFA7C0613CF for ; Sat, 7 Nov 2020 12:56:08 -0800 (PST) Received: by mail-wr1-x442.google.com with SMTP id r17so910775wrw.1 for ; Sat, 07 Nov 2020 12:56:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=5jZpp0lzBcPuUpKtQcBf1JMXZFjL3Ty+zKDFPNMgTUw=; b=kroF5lezm0PQ9NFHDrYhTVy4y/t28Wa3+jgF8sIfvIX3O/67CzK57FFakcN+ogCJop zCIcOMyZEN5HKmO0K4n7lkmQqwDWpUADwqlxtMBu389uPrO0AZOaYZ2hvb4+9RVScS2B ydbIf+85ijGu1vK1Wcw6TntzMeCvTD4mkLZ0e3eRgQPjyp4EC5GgNujB3wenXsa45co4 S54CGf3klS7mJniXABgrktWO5Pzodi9emwRHqrpUXPG57eSrWoIaIPV3mBlaDATZkcHS DgDZIJQrqJ1Vp8wAZ7fk07AjK2adQzjuYjrt0i8fMITc6kXkJT2EPPR4VjLvEjKAifLB Mc3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=5jZpp0lzBcPuUpKtQcBf1JMXZFjL3Ty+zKDFPNMgTUw=; b=mc0jPvsDxlM9y+E66l5cvijbZMR4RU+YwoLCnxlJ0Ua0c4T69lAQN3LdA8Mki4FpTH mbzLX/jIAGxfEo5TBr1Yn7GkQktTedgeJXjXFGJ4Rr01fUHwDR+EVQMBYbwzWuVMW/Nw NbKT0qDWuv3wJhSXFx29VDtiDdKpDRMcagh6GGIjIJ1j2Z9bScPYdMhRdlrzGDeS+8Oa 3rOWSn0aZhWD0E7AQIqPpLU6hKCC+CXDHVUwO+O7D944tVWQNQdLA+AC/pvgFg5/b0Rv rnHv8dGkq0KmFzk+N/uDJ4c78g8bA2fJN5pPbUdnlKhBoTXMsMEuGnpR62hnUMnxFHeK aMbg== X-Gm-Message-State: AOAM5310qE701alTUGtZh6b01ge695fdZnH8e3ZRjFSVkE5BQzc9LhLE bmSbX844B30s9VsOVLG1Y+29RlYqWQ5dtA== X-Google-Smtp-Source: ABdhPJy+9mIxPYkJxLChUXjCS3+Kuaxs1KdOAsxHWZJG5oswp6lAZMSLAaCslToAnIpT8cOb7NGG+g== X-Received: by 2002:adf:9407:: with SMTP id 7mr10024569wrq.182.1604782567513; Sat, 07 Nov 2020 12:56:07 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id s188sm7563208wmf.45.2020.11.07.12.56.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:07 -0800 (PST) Subject: [PATCH net-next v3 04/10] ip6_tunnel: use ip_tunnel_get_stats64 as ndo_get_stats64 callback From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <70653bd6-41de-8a4f-61d6-41245257048f@gmail.com> Date: Sat, 7 Nov 2020 21:51:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Switch ip6_tunnel to the standard statistics pattern: - use dev->stats for the less frequently accessed counters - use dev->tstats for the frequently accessed counters An additional benefit is that we now have 64bit statistics also on 32bit systems. Signed-off-by: Heiner Kallweit --- net/ipv6/ip6_tunnel.c | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 74a6ea9f8..a7950baa0 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c @@ -94,36 +94,6 @@ static inline int ip6_tnl_mpls_supported(void) return IS_ENABLED(CONFIG_MPLS); } -static struct net_device_stats *ip6_get_stats(struct net_device *dev) -{ - struct pcpu_sw_netstats tmp, sum = { 0 }; - int i; - - for_each_possible_cpu(i) { - unsigned int start; - const struct pcpu_sw_netstats *tstats = - per_cpu_ptr(dev->tstats, i); - - do { - start = u64_stats_fetch_begin_irq(&tstats->syncp); - tmp.rx_packets = tstats->rx_packets; - tmp.rx_bytes = tstats->rx_bytes; - tmp.tx_packets = tstats->tx_packets; - tmp.tx_bytes = tstats->tx_bytes; - } while (u64_stats_fetch_retry_irq(&tstats->syncp, start)); - - sum.rx_packets += tmp.rx_packets; - sum.rx_bytes += tmp.rx_bytes; - sum.tx_packets += tmp.tx_packets; - sum.tx_bytes += tmp.tx_bytes; - } - dev->stats.rx_packets = sum.rx_packets; - dev->stats.rx_bytes = sum.rx_bytes; - dev->stats.tx_packets = sum.tx_packets; - dev->stats.tx_bytes = sum.tx_bytes; - return &dev->stats; -} - #define for_each_ip6_tunnel_rcu(start) \ for (t = rcu_dereference(start); t; t = rcu_dereference(t->next)) @@ -1834,7 +1804,7 @@ static const struct net_device_ops ip6_tnl_netdev_ops = { .ndo_start_xmit = ip6_tnl_start_xmit, .ndo_do_ioctl = ip6_tnl_ioctl, .ndo_change_mtu = ip6_tnl_change_mtu, - .ndo_get_stats = ip6_get_stats, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip6_tnl_get_iflink, }; From patchwork Sat Nov 7 20:52:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396240 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=fJEhCtHm; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gQ3xgdz9sSn for ; Sun, 8 Nov 2020 07:56:18 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728730AbgKGU4P (ORCPT ); Sat, 7 Nov 2020 15:56:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728693AbgKGU4L (ORCPT ); Sat, 7 Nov 2020 15:56:11 -0500 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 46CE5C0613CF for ; Sat, 7 Nov 2020 12:56:10 -0800 (PST) Received: by mail-wm1-x342.google.com with SMTP id v5so4660556wmh.1 for ; Sat, 07 Nov 2020 12:56:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=9u7gkvbf7OAMj3VbHYAxPHRbbiyrawvYfgWlZZDK0zE=; b=fJEhCtHmlnLGk1K+M8mWEvAED1FqUFenR/e+JruBYbUZ+Ky5AnTDD3+ZidHthDuGjb Vo/SxgBXLRzxL/hEu974GnftkbsgbK5pqXtxcpH1wsSVLMb9n/5xxj+BcgOvxsneoSM1 WD7KO8UypAPuCLDsweZsKXSJYY5xSKSDf4EOA29lYUoLfSms1H7FUL/WkH7OyvomMn0U +PqquUNlMeOsYY0AyT4YHUBeBZ3nMur06FSzkosUv8frTTjHImfhVQUnLFNaCHAWLzS3 D7uErdJijTD9+q75MaHjg5QQuSbjcAvvBhC64U5bwqJBEovDmt1CiCEAg/TNC5nBoq8w EnAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=9u7gkvbf7OAMj3VbHYAxPHRbbiyrawvYfgWlZZDK0zE=; b=rhXfbKun28tn5ea97STIp8qCe15ILdB9xUhbT7WCNnT+hQ23L6pk50l/OQ9siUfWts 09fNhsTG1Me6x7pzDAlezNtjdgd4qQ38V4VoFIeKA+3Ogb7fUzmrUSUinrwRMnqqXIRR 8YZcVFduD8htzbYrwum1JNeGxlchQg+mFLpMfqIgTyD6QFl7jHbk9lwjtx9sWpWfl6Px y9fEaNSGMWJ9jXSuWu1b+aBuBAbiZjFX8QBnzCabbs5XEn1AasofoXs158kjYygti8vl EJ+9SkmgzmCRXvIy/vQMdenVoZ2KI9fBZJWsYVhN6OSTjTLNMCBfFviU0CsJNjWXqhRw eddQ== X-Gm-Message-State: AOAM533uX8rlq6h3wfhfMldo20G0NDGSjN5DzRRXXVxG4n/qGcptauD+ gYU85XWDLJEIxEVjATwjcmM= X-Google-Smtp-Source: ABdhPJwEwwyfYVztu4FFL23KSdp10USFTuqtpP6crdBu6ZsT0zxjx2DhnceuzpR9h8nB60bGHAbyFg== X-Received: by 2002:a7b:c8c9:: with SMTP id f9mr6112537wml.3.1604782568997; Sat, 07 Nov 2020 12:56:08 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id t2sm8347163wrq.56.2020.11.07.12.56.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:08 -0800 (PST) Subject: [PATCH net-next v3 05/10] net: switch to dev_get_tstats64 From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <0f7cd95e-896d-2313-88e8-e0af23d011bb@gmail.com> Date: Sat, 7 Nov 2020 21:52:06 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace ip_tunnel_get_stats64() with the new identical core function dev_get_tstats64(). Signed-off-by: Heiner Kallweit --- drivers/net/bareudp.c | 2 +- drivers/net/geneve.c | 2 +- drivers/net/vxlan.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/bareudp.c b/drivers/net/bareudp.c index ff0bea155..28257bcce 100644 --- a/drivers/net/bareudp.c +++ b/drivers/net/bareudp.c @@ -510,7 +510,7 @@ static const struct net_device_ops bareudp_netdev_ops = { .ndo_open = bareudp_open, .ndo_stop = bareudp_stop, .ndo_start_xmit = bareudp_xmit, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_fill_metadata_dst = bareudp_fill_metadata_dst, }; diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index d07008a81..a3c8ce6de 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -1138,7 +1138,7 @@ static const struct net_device_ops geneve_netdev_ops = { .ndo_open = geneve_open, .ndo_stop = geneve_stop, .ndo_start_xmit = geneve_xmit, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_change_mtu = geneve_change_mtu, .ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = eth_mac_addr, diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 876679af6..0de912729 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -3211,7 +3211,7 @@ static const struct net_device_ops vxlan_netdev_ether_ops = { .ndo_open = vxlan_open, .ndo_stop = vxlan_stop, .ndo_start_xmit = vxlan_xmit, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_set_rx_mode = vxlan_set_multicast_list, .ndo_change_mtu = vxlan_change_mtu, .ndo_validate_addr = eth_validate_addr, @@ -3230,7 +3230,7 @@ static const struct net_device_ops vxlan_netdev_raw_ops = { .ndo_open = vxlan_open, .ndo_stop = vxlan_stop, .ndo_start_xmit = vxlan_xmit, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_change_mtu = vxlan_change_mtu, .ndo_fill_metadata_dst = vxlan_fill_metadata_dst, }; From patchwork Sat Nov 7 20:52:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396241 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=uA5w57RM; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gQ6cmBz9sTv for ; Sun, 8 Nov 2020 07:56:18 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728736AbgKGU4Q (ORCPT ); Sat, 7 Nov 2020 15:56:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728714AbgKGU4N (ORCPT ); Sat, 7 Nov 2020 15:56:13 -0500 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AAD38C0613D2 for ; Sat, 7 Nov 2020 12:56:11 -0800 (PST) Received: by mail-wr1-x443.google.com with SMTP id l1so419570wrb.9 for ; Sat, 07 Nov 2020 12:56:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=Cwoypn5vRWqLZ2PmtMFZW4bqe7uU2Xj951rJyZK/u3Y=; b=uA5w57RM7ywgt18FMf7D07PvnAQtTEODfa2EnI6V8xiVWq1azn63B5H3f/h7JvfmVE 9kw/Z2MntQAZrHD25To8ecfavAJmdurMwqo7NJoEmbaukXBRbLxE3hEPpOf8P8QI/4Yu fCpgIhffGoFGpMpfU93I7DnmpAHrtz7RmrX26q3ORmV6R2soMmTE7KRxgSGOgYBo2ZhG PqoFLhKuoaxhmuxXnLefBr2MTi3QfTxyZledB5nAnj5STh9V+YbidbuRITpWn3mCLiBW HOCczSjxX20LSmLXwuQuL5cR7SeURMkZC/H1y5sSpLE8IHRDjQLmcj+PgV625rdwzSH3 9Wxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=Cwoypn5vRWqLZ2PmtMFZW4bqe7uU2Xj951rJyZK/u3Y=; b=TYacgxs6VC+QFFAwmKfrRATxW8gHzVbnejeK/20IKBKZuKdV6nqIc0SK18Qm0hG5cM jvYp3nMtGL/GM72If8Bu4Hjh2K+DLj9l/ZC3ugwF3q4MhukwchtffTQzHMlZME59U1se Bu4D4U9+mCnF1gP2iznPBC/4+tZdRSiLAhyJKpUt+Ut7dRU2+QBy8iYyw37LqSuiDsJu ENeamHMzqP4mJbLQJL82WsXZ79ruPh/DY9INFa7oXzNus2FVpety6aoMdPyA49Xw4qja APwakRwb6gwuAs41x+7JSGoZMnm4wQiI9WfMIES6G+esQf28EGgWn4KvfCB4Zo03LzK/ tWcg== X-Gm-Message-State: AOAM531MgTwFBAaeh28m4vqaqqugr94aBHjiWNhw+PfSLT1PEkrXzPKb Fp3jtB4HcliYyU/sw62VUQ8= X-Google-Smtp-Source: ABdhPJy+e7yZL/cGFNMAeW5k7SlR5OQlFSoecym4Sj3wK2vqyInV36SGAAig7CT7aCgs0IhJVqxFPw== X-Received: by 2002:a5d:4c4f:: with SMTP id n15mr9172276wrt.137.1604782570439; Sat, 07 Nov 2020 12:56:10 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id u10sm7901369wrw.36.2020.11.07.12.56.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:10 -0800 (PST) Subject: [PATCH net-next v3 06/10] gtp: switch to dev_get_tstats64 From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: Date: Sat, 7 Nov 2020 21:52:42 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace ip_tunnel_get_stats64() with the new identical core function dev_get_tstats64(). Acked-by: Harald Welte Signed-off-by: Heiner Kallweit --- drivers/net/gtp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index dc668ed28..4c04e271f 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c @@ -607,7 +607,7 @@ static const struct net_device_ops gtp_netdev_ops = { .ndo_init = gtp_dev_init, .ndo_uninit = gtp_dev_uninit, .ndo_start_xmit = gtp_dev_xmit, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, }; static void gtp_link_setup(struct net_device *dev) From patchwork Sat Nov 7 20:53:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396244 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=o5FYj6Zm; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gX3D5dz9sTv for ; Sun, 8 Nov 2020 07:56:24 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728749AbgKGU4T (ORCPT ); Sat, 7 Nov 2020 15:56:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44900 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728717AbgKGU4N (ORCPT ); Sat, 7 Nov 2020 15:56:13 -0500 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2744EC0613D4 for ; Sat, 7 Nov 2020 12:56:13 -0800 (PST) Received: by mail-wm1-x344.google.com with SMTP id w24so1994297wmi.0 for ; Sat, 07 Nov 2020 12:56:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=AqDWLm8KXcv4xkeQId6Y5dIQy0TCTVRseOitm1HQ4jk=; b=o5FYj6ZmqzBJ/ivWXmw0usJBDgDyyPssyFiWvYojyryyHUVaxlpBIQhvTj0d2Jq46B D4l6vk4/QpxizZ6JJIf4O+b9j9HczFpBN9Dp+3gjzE+KhmPmswcwvzRV2ii2pGLFA+EA E7G3Dbvisgrnj9ADNpesPuq+eZ2nC2ZGAeyvXy6oYtn4C0/ZFEoQH+TjIZ/l3LwXgLah vPICg7OrR0m4VJFzt5Sss0lLh9jYwlhwLyjOM1jdjADV559ro+xLH9PxXGoCCLXXXkgG slazgJif12aQ9AHHPTuSTpsKyr7QyeihdsP1HuT+fte/J8U/393MV7tBDF3ETCI5AiD2 75xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=AqDWLm8KXcv4xkeQId6Y5dIQy0TCTVRseOitm1HQ4jk=; b=Cu/gizL5cutHYMkDm0gKrCJIQ+VzGa4oIYfTOaMNacV1zUwaEVD4+xZi4cbB8gTeTa SKP5oZHdDGbvUxZQVNneeUO21kwBKRL4rn6F5VNu2O3IqdpwS6hBjWUnG7DEPv4f1wfE HlFWvn1SU1sb/csmkLCYsnEtBPMbESe5gXIUWpjR9B0gXcMoiU7dutM7qf4bmBegmzyS n/GHHK1FbKYLg2L0cs+HZWjs2iEkFMqxtx9iOKffxyglr3sToYkNDghwwXMyT6lMpPgi cedXDgao6yyhetFMHHY1VAng8NIIK4Tu5pGL0C9UJAsVdnyzr9+9d4Ra1DVK3/q9etSf amzg== X-Gm-Message-State: AOAM53158u2Nll+TRHfnghz8PSzaoArVkztiYCZKHifs1SBUJn1zA6ak 3njJnTY2EM8m3xWFoWDnuVY= X-Google-Smtp-Source: ABdhPJxKbOxtoWrYoXQo5USaK5yvt3T+8kM2r5oGGLK/j28grM6DP89KLS6rfO4/loYh1jJmON/rnA== X-Received: by 2002:a1c:8145:: with SMTP id c66mr6258741wmd.75.1604782571875; Sat, 07 Nov 2020 12:56:11 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id 71sm7973217wrm.20.2020.11.07.12.56.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:11 -0800 (PST) Subject: [PATCH net-next v3 07/10] wireguard: switch to dev_get_tstats64 From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <79e9a040-c097-1d33-8de1-4833f1c68828@gmail.com> Date: Sat, 7 Nov 2020 21:53:19 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace ip_tunnel_get_stats64() with the new identical core function dev_get_tstats64(). Reviewed-by: Jason A. Donenfeld Signed-off-by: Heiner Kallweit --- drivers/net/wireguard/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireguard/device.c b/drivers/net/wireguard/device.c index c9f65e96c..a3ed49cd9 100644 --- a/drivers/net/wireguard/device.c +++ b/drivers/net/wireguard/device.c @@ -215,7 +215,7 @@ static const struct net_device_ops netdev_ops = { .ndo_open = wg_open, .ndo_stop = wg_stop, .ndo_start_xmit = wg_xmit, - .ndo_get_stats64 = ip_tunnel_get_stats64 + .ndo_get_stats64 = dev_get_tstats64 }; static void wg_destruct(struct net_device *dev) From patchwork Sat Nov 7 20:53:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396242 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=YRzVwR3V; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gV4cYGz9sSn for ; Sun, 8 Nov 2020 07:56:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728759AbgKGU4U (ORCPT ); Sat, 7 Nov 2020 15:56:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44908 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728729AbgKGU4P (ORCPT ); Sat, 7 Nov 2020 15:56:15 -0500 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A49D8C0613CF for ; Sat, 7 Nov 2020 12:56:14 -0800 (PST) Received: by mail-wr1-x441.google.com with SMTP id g12so4811715wrp.10 for ; Sat, 07 Nov 2020 12:56:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=yvM2zg5ut8RUlOVk41NO5JTWXGYDPLj6ZinwUBXZBNs=; b=YRzVwR3VOYv79vPIg8b5EIMmKfgP9mn6DbFAnIRAS1gmfNezyjCF4Gp2ABv/iexY3a dKnhzyqA48zVqgBgGCmQei1DZ8f9ASml4KMnqwLfEJpWlOMwSmuP5jOsALlsXJafzAjD zuBbbALWsNykrRr2QmM4AzSRGDDjOfmFo1Esj7ImMCkohjQdAJQb379jo0AV7iO2yD3X ifDXNDILYUmNb1GJ7t7N2m03O3aIaSTWC1vQewDKZUD6hi9tiN9g4UZ5VBZB9MKcqQu0 Lv21zMIYq7RAq7ugKnUMH4PYEz7op6bSiqGx1MzWNZTEhIwLuBfAkIA8WMhxK/3r9jFN umbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=yvM2zg5ut8RUlOVk41NO5JTWXGYDPLj6ZinwUBXZBNs=; b=CbcAZAjocQvPKfzRL2GA0UhwVmb9ENuCYePpGOW8VNxVU1gySQXwhZCrfj3u7t72R3 QUGqyqG5cKgypizIzCbMKn6vR7d/3oh7xZ3G+raL/XquD9IPdZsbz1LJZM+Sbasg/cpL hAHwMbc1L9A725Uht+HlAqecrTu0he6UDzPIMZ0MYSQWLHmarCrrrkgM5niCDtm8wkHi yBHjYdqsQDq+b2AL8VGVMPKFQdVsIJbcsytlsUe98ECQ2+oDb3E55AXjO3cWagsV3Uyv CLXIz6mkEO0gLQDKi7zgBUgTT/lDYKFSby4nyzC7evKMQhdDNaCrggLT69lEWSmJsWaq 8VCw== X-Gm-Message-State: AOAM532pX0qkMcYH0HxfvVyZ+OS3puQ3x2Oq0eQOS212oN3Z5fE9ugvu Ho/m4QG6DpQj1JuHu4AW+YY= X-Google-Smtp-Source: ABdhPJzPITSO0TWNyqU0r8yAlKSviyXbqz+nk7MVBML4BCNfoFAcyBZ0IWsUQ0/EoAtu4hmMZ4NIvg== X-Received: by 2002:adf:9069:: with SMTP id h96mr10064659wrh.358.1604782573402; Sat, 07 Nov 2020 12:56:13 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id q7sm7128217wrg.95.2020.11.07.12.56.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:12 -0800 (PST) Subject: [PATCH net-next v3 08/10] vti: switch to dev_get_tstats64 From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: Date: Sat, 7 Nov 2020 21:53:53 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace ip_tunnel_get_stats64() with the new identical core function dev_get_tstats64(). Signed-off-by: Heiner Kallweit --- net/ipv4/ip_vti.c | 2 +- net/ipv6/ip6_vti.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/ip_vti.c b/net/ipv4/ip_vti.c index b957cbee2..abc171e79 100644 --- a/net/ipv4/ip_vti.c +++ b/net/ipv4/ip_vti.c @@ -404,7 +404,7 @@ static const struct net_device_ops vti_netdev_ops = { .ndo_start_xmit = vti_tunnel_xmit, .ndo_do_ioctl = ip_tunnel_ioctl, .ndo_change_mtu = ip_tunnel_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip_tunnel_get_iflink, .ndo_tunnel_ctl = vti_tunnel_ctl, }; diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c index 46d137a69..0225fd694 100644 --- a/net/ipv6/ip6_vti.c +++ b/net/ipv6/ip6_vti.c @@ -890,7 +890,7 @@ static const struct net_device_ops vti6_netdev_ops = { .ndo_uninit = vti6_dev_uninit, .ndo_start_xmit = vti6_tnl_xmit, .ndo_do_ioctl = vti6_ioctl, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip6_tnl_get_iflink, }; From patchwork Sat Nov 7 20:54:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396245 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=qvBaZvyl; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gZ5zh8z9sSn for ; Sun, 8 Nov 2020 07:56:26 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728777AbgKGU40 (ORCPT ); Sat, 7 Nov 2020 15:56:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728739AbgKGU4Q (ORCPT ); Sat, 7 Nov 2020 15:56:16 -0500 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F3A7C0613CF for ; Sat, 7 Nov 2020 12:56:16 -0800 (PST) Received: by mail-wr1-x444.google.com with SMTP id d12so3311285wrr.13 for ; Sat, 07 Nov 2020 12:56:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=5Jpd8MyUKg1H1iYmLx0Vs/UrPW9/4+4JcaA/CtXlnF0=; b=qvBaZvylSLknklKSyf8Tn7UjcNb2NB5NAxI7PZAg0UvBWFhAIXVkXd95VxaT6yTfP5 upxuR57oFY+fwA51pSrATaS4qIOBJh4D88MoH6fgkTlWA5LUS3dKyYwHocWrdAHoB2UO TraKPUlgKWVP8f9bnHigcIk3LXY/Kyrq2t/bjQIV2ntIyTWygDvvpSjlmSYYxMoS+Zx1 E3EOvS6/t9PkROdqIS9Fi38oLnS/xpOqeJZjwZB7xgiyVcu5k4Y+Jcu0xbzYyELP5Jbw +EDgaxnGTlqqhqXznoa83pgJKVD2xBuDY2pODVPb6f+VWV4KehNJAyuUPBKUYEqtKYzV ArTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=5Jpd8MyUKg1H1iYmLx0Vs/UrPW9/4+4JcaA/CtXlnF0=; b=gmO8dKEfBBOS5SVdcMiR0jhqdch9I7s3gOtc2GyyPqV313eNOKojAhbPZP8dw6DNBV gQHbvRYRlRIgQjZqqY74wrSJeaEjtosaviOg6VTxdoHMasy3APP6Rf5L/K1flknQii01 kG6a1s5ILYyPm2TrViG4Y0MLcaOrx9y9xDJmmlXn4WoQI6d8cjWrzJbPRujGCKEINBXP GM85SeuV3hVGof9QAcnmoU3+q+Ekxy56z7Do6RMaSGGyxMY/+g8gZLffNPrfdQxX1EGe YkmAjRsUYLBMlDlStSk/G5iOU6wqT/COXmEgCQxQzhu/6T+hnre7zOehQDy02WhRkFPl kNnQ== X-Gm-Message-State: AOAM531bp4SHAPEylV6OVXw9hBEg9TYBviUqcXaZJFVGBDVKNZXF1d44 JVATzLd8F6YRR4IzpN5Z0/8= X-Google-Smtp-Source: ABdhPJxEXB65Krwh00LfzZlO3I9jG/KtFbZ7Mu9oyAgkhd2gkkr4etad3WlBVMAerho9PYjTH0M2eQ== X-Received: by 2002:a5d:660a:: with SMTP id n10mr9662367wru.59.1604782574951; Sat, 07 Nov 2020 12:56:14 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id r18sm8636088wrj.50.2020.11.07.12.56.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:14 -0800 (PST) Subject: [PATCH net-next v3 09/10] ipv4/ipv6: switch to dev_get_tstats64 From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: Date: Sat, 7 Nov 2020 21:54:33 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace ip_tunnel_get_stats64() with the new identical core function dev_get_tstats64(). Signed-off-by: Heiner Kallweit --- net/ipv4/ip_gre.c | 6 +++--- net/ipv4/ipip.c | 2 +- net/ipv6/ip6_gre.c | 6 +++--- net/ipv6/sit.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index e70291748..a68bf4c6f 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -920,7 +920,7 @@ static const struct net_device_ops ipgre_netdev_ops = { .ndo_start_xmit = ipgre_xmit, .ndo_do_ioctl = ip_tunnel_ioctl, .ndo_change_mtu = ip_tunnel_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip_tunnel_get_iflink, .ndo_tunnel_ctl = ipgre_tunnel_ctl, }; @@ -1275,7 +1275,7 @@ static const struct net_device_ops gre_tap_netdev_ops = { .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = ip_tunnel_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip_tunnel_get_iflink, .ndo_fill_metadata_dst = gre_fill_metadata_dst, }; @@ -1308,7 +1308,7 @@ static const struct net_device_ops erspan_netdev_ops = { .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = ip_tunnel_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip_tunnel_get_iflink, .ndo_fill_metadata_dst = gre_fill_metadata_dst, }; diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 75d35e76b..d5bfa087c 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -347,7 +347,7 @@ static const struct net_device_ops ipip_netdev_ops = { .ndo_start_xmit = ipip_tunnel_xmit, .ndo_do_ioctl = ip_tunnel_ioctl, .ndo_change_mtu = ip_tunnel_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip_tunnel_get_iflink, .ndo_tunnel_ctl = ipip_tunnel_ctl, }; diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 931b186d2..8cf659994 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c @@ -1391,7 +1391,7 @@ static const struct net_device_ops ip6gre_netdev_ops = { .ndo_start_xmit = ip6gre_tunnel_xmit, .ndo_do_ioctl = ip6gre_tunnel_ioctl, .ndo_change_mtu = ip6_tnl_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip6_tnl_get_iflink, }; @@ -1828,7 +1828,7 @@ static const struct net_device_ops ip6gre_tap_netdev_ops = { .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = ip6_tnl_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip6_tnl_get_iflink, }; @@ -1896,7 +1896,7 @@ static const struct net_device_ops ip6erspan_netdev_ops = { .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, .ndo_change_mtu = ip6_tnl_change_mtu, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip6_tnl_get_iflink, }; diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 5e2c34c0a..4dc5f9366 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -1396,7 +1396,7 @@ static const struct net_device_ops ipip6_netdev_ops = { .ndo_uninit = ipip6_tunnel_uninit, .ndo_start_xmit = sit_tunnel_xmit, .ndo_do_ioctl = ipip6_tunnel_ioctl, - .ndo_get_stats64 = ip_tunnel_get_stats64, + .ndo_get_stats64 = dev_get_tstats64, .ndo_get_iflink = ip_tunnel_get_iflink, .ndo_tunnel_ctl = ipip6_tunnel_ctl, }; From patchwork Sat Nov 7 20:55:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 1396243 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=RewXkz0y; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CT8gW6FJfz9sSn for ; Sun, 8 Nov 2020 07:56:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728764AbgKGU4W (ORCPT ); Sat, 7 Nov 2020 15:56:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728717AbgKGU4T (ORCPT ); Sat, 7 Nov 2020 15:56:19 -0500 Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7486C0613D2 for ; Sat, 7 Nov 2020 12:56:17 -0800 (PST) Received: by mail-wm1-x32e.google.com with SMTP id s13so4486083wmh.4 for ; Sat, 07 Nov 2020 12:56:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=K0xwbWgfzNb+siGOnTIoHV8a22y8LDX4Jm2bW67sNRs=; b=RewXkz0yxtg6uetza1ABn8L2kBaJ7gR1QEC6XOoJfzcxVIdzO9VtMc34ucxIQo9HAB 47oWrL5XwzFQkwDWdzldihU7pUwuSfMwQNbOlV8nfxNcjmynsTI+1xCLC6O8CzJx7HDb rqfTjTPrOG1R0OAsX25BSosCjbVtjFegUHAV9eZMI1Aal9pkD9hmk1oTFuoNZbFLzfVW 8CLvhBJwaAVCUGuPhZ5EpuYJPNpjt7nVwDUBRiPWV0lBlCUKXav+jfHlLKshvUituOx5 6Cf94DQVBThnAC062jsQ2dnbdyyapRLhFtpZipWKyJO6hCO32VaWhshQ0yxau5fK39Hf 5LQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=K0xwbWgfzNb+siGOnTIoHV8a22y8LDX4Jm2bW67sNRs=; b=fCGANeRX65Fzq+1BFWZK78L6ds7moM/UwoSB+8gfOwxJcUK34LO7YjRtZlTVUDIoht eRc/U0iq9oIVZDuZ23Ooby9AXUe9GmXNllPD3xMDxWSjxfhA+MvskPlRoNPcHxVS3WTP msyCT2TFgraX3/EmIXrg367+jwZJEMtMuntbap7q90zdOeTGOdcVfD2BncA5eWAktx9F lA4QDww55K/HcF4DarKW/eRKdEFHOunH2+pgvAis/34pvzTRlijM9ZWVn3UwcU3Ji9x6 DXSF0AYfNyMtUI20dvvDDimhC6cqRtg4rCA0XGEC0QC9M8eeRHLytjZ5VIfc2Bda7XjM u1qQ== X-Gm-Message-State: AOAM533YynOCOxiumlCE63W5ENzhrZqZeXy54FCO3795g5NKrEePuKWz z0tCf/RkhhvDeXZXvx+jfAI= X-Google-Smtp-Source: ABdhPJwpKeyWsiU5WCdAlSQ/eplYWVZkfVvVQccFtw50TJ/mpHkRmbUHbOQxf4ZPHjy4+Y7KWGUlag== X-Received: by 2002:a1c:1906:: with SMTP id 6mr6213436wmz.87.1604782576497; Sat, 07 Nov 2020 12:56:16 -0800 (PST) Received: from ?IPv6:2003:ea:8f23:2800:7051:31d:251f:edd6? (p200300ea8f2328007051031d251fedd6.dip0.t-ipconnect.de. [2003:ea:8f23:2800:7051:31d:251f:edd6]) by smtp.googlemail.com with ESMTPSA id k16sm1179409wrl.65.2020.11.07.12.56.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Nov 2020 12:56:15 -0800 (PST) Subject: [PATCH net-next v3 10/10] net: remove ip_tunnel_get_stats64 From: Heiner Kallweit To: Jakub Kicinski , David Miller , Alexey Kuznetsov , Hideaki YOSHIFUJI , Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , Russell King , Pablo Neira Ayuso , Harald Welte , "Jason A. Donenfeld" , Herbert Xu Cc: "netdev@vger.kernel.org" , osmocom-net-gprs@lists.osmocom.org, wireguard@lists.zx2c4.com, Steffen Klassert References: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Message-ID: <1d5992f4-6d88-1bef-9756-06d48fc10a31@gmail.com> Date: Sat, 7 Nov 2020 21:55:11 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <99273e2f-c218-cd19-916e-9161d8ad8c56@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org After having migrated all users remove ip_tunnel_get_stats64(). Signed-off-by: Heiner Kallweit --- include/net/ip_tunnels.h | 2 -- net/ipv4/ip_tunnel_core.c | 9 --------- 2 files changed, 11 deletions(-) diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index 02ccd3254..1b7905eb7 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h @@ -274,8 +274,6 @@ int ip_tunnel_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); int __ip_tunnel_change_mtu(struct net_device *dev, int new_mtu, bool strict); int ip_tunnel_change_mtu(struct net_device *dev, int new_mtu); -void ip_tunnel_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *tot); struct ip_tunnel *ip_tunnel_lookup(struct ip_tunnel_net *itn, int link, __be16 flags, __be32 remote, __be32 local, diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c index 25f1caf5a..923a9fa2e 100644 --- a/net/ipv4/ip_tunnel_core.c +++ b/net/ipv4/ip_tunnel_core.c @@ -429,15 +429,6 @@ int skb_tunnel_check_pmtu(struct sk_buff *skb, struct dst_entry *encap_dst, } EXPORT_SYMBOL(skb_tunnel_check_pmtu); -/* Often modified stats are per cpu, other are shared (netdev->stats) */ -void ip_tunnel_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *tot) -{ - netdev_stats_to_stats64(tot, &dev->stats); - dev_fetch_sw_netstats(tot, dev->tstats); -} -EXPORT_SYMBOL_GPL(ip_tunnel_get_stats64); - static const struct nla_policy ip_tun_policy[LWTUNNEL_IP_MAX + 1] = { [LWTUNNEL_IP_UNSPEC] = { .strict_start_type = LWTUNNEL_IP_OPTS }, [LWTUNNEL_IP_ID] = { .type = NLA_U64 },