* [PATCH net-next 2/3] net: gtp: Remove generic .ndo_get_stats64
2024-03-05 12:15 [PATCH net-next 1/3] net: gtp: Leverage core stats allocator Breno Leitao
@ 2024-03-05 12:15 ` Breno Leitao
2024-03-05 15:39 ` Pablo Neira Ayuso
2024-03-05 12:15 ` [PATCH net-next 3/3] net: gtp: Move net_device assigned in setup Breno Leitao
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Breno Leitao @ 2024-03-05 12:15 UTC (permalink / raw)
To: Pablo Neira Ayuso, Harald Welte, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
Cc: netdev, linux-kernel, horms, dsahern,
open list:GTP (GPRS Tunneling Protocol)
Commit 3e2f544dd8a33 ("net: get stats64 if device if driver is
configured") moved the callback to dev_get_tstats64() to net core, so,
unless the driver is doing some custom stats collection, it does not
need to set .ndo_get_stats64.
Since this driver is now relying in NETDEV_PCPU_STAT_TSTATS, then, it
doesn't need to set the dev_get_tstats64() generic .ndo_get_stats64
function pointer.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
drivers/net/gtp.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
index facbfba5d77f..a279f0cd1b4d 100644
--- a/drivers/net/gtp.c
+++ b/drivers/net/gtp.c
@@ -940,7 +940,6 @@ 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 = dev_get_tstats64,
};
static const struct device_type gtp_type = {
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH net-next 2/3] net: gtp: Remove generic .ndo_get_stats64
2024-03-05 12:15 ` [PATCH net-next 2/3] net: gtp: Remove generic .ndo_get_stats64 Breno Leitao
@ 2024-03-05 15:39 ` Pablo Neira Ayuso
0 siblings, 0 replies; 7+ messages in thread
From: Pablo Neira Ayuso @ 2024-03-05 15:39 UTC (permalink / raw)
To: Breno Leitao
Cc: Harald Welte, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, netdev, linux-kernel, horms, dsahern,
open list:GTP (GPRS Tunneling Protocol)
On Tue, Mar 05, 2024 at 04:15:22AM -0800, Breno Leitao wrote:
> Commit 3e2f544dd8a33 ("net: get stats64 if device if driver is
> configured") moved the callback to dev_get_tstats64() to net core, so,
> unless the driver is doing some custom stats collection, it does not
> need to set .ndo_get_stats64.
>
> Since this driver is now relying in NETDEV_PCPU_STAT_TSTATS, then, it
> doesn't need to set the dev_get_tstats64() generic .ndo_get_stats64
> function pointer.
>
> Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net-next 3/3] net: gtp: Move net_device assigned in setup
2024-03-05 12:15 [PATCH net-next 1/3] net: gtp: Leverage core stats allocator Breno Leitao
2024-03-05 12:15 ` [PATCH net-next 2/3] net: gtp: Remove generic .ndo_get_stats64 Breno Leitao
@ 2024-03-05 12:15 ` Breno Leitao
2024-03-05 15:39 ` Pablo Neira Ayuso
2024-03-05 15:38 ` [PATCH net-next 1/3] net: gtp: Leverage core stats allocator Pablo Neira Ayuso
2024-03-07 4:40 ` patchwork-bot+netdevbpf
3 siblings, 1 reply; 7+ messages in thread
From: Breno Leitao @ 2024-03-05 12:15 UTC (permalink / raw)
To: Pablo Neira Ayuso, Harald Welte, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
Cc: netdev, linux-kernel, horms, dsahern,
open list:GTP (GPRS Tunneling Protocol)
Assign netdev to gtp->dev at setup time, so, we can get rid of
gtp_dev_init() completely.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
drivers/net/gtp.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
index a279f0cd1b4d..ba4704c2c640 100644
--- a/drivers/net/gtp.c
+++ b/drivers/net/gtp.c
@@ -711,15 +711,6 @@ static int gtp_encap_recv(struct sock *sk, struct sk_buff *skb)
return ret;
}
-static int gtp_dev_init(struct net_device *dev)
-{
- struct gtp_dev *gtp = netdev_priv(dev);
-
- gtp->dev = dev;
-
- return 0;
-}
-
static void gtp_dev_uninit(struct net_device *dev)
{
struct gtp_dev *gtp = netdev_priv(dev);
@@ -937,7 +928,6 @@ static netdev_tx_t gtp_dev_xmit(struct sk_buff *skb, struct net_device *dev)
}
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,
};
@@ -951,6 +941,7 @@ static void gtp_link_setup(struct net_device *dev)
unsigned int max_gtp_header_len = sizeof(struct iphdr) +
sizeof(struct udphdr) +
sizeof(struct gtp0_header);
+ struct gtp_dev *gtp = netdev_priv(dev);
dev->netdev_ops = >p_netdev_ops;
dev->needs_free_netdev = true;
@@ -970,6 +961,7 @@ static void gtp_link_setup(struct net_device *dev)
netif_keep_dst(dev);
dev->needed_headroom = LL_MAX_HEADER + max_gtp_header_len;
+ gtp->dev = dev;
}
static int gtp_hashtable_new(struct gtp_dev *gtp, int hsize);
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH net-next 3/3] net: gtp: Move net_device assigned in setup
2024-03-05 12:15 ` [PATCH net-next 3/3] net: gtp: Move net_device assigned in setup Breno Leitao
@ 2024-03-05 15:39 ` Pablo Neira Ayuso
0 siblings, 0 replies; 7+ messages in thread
From: Pablo Neira Ayuso @ 2024-03-05 15:39 UTC (permalink / raw)
To: Breno Leitao
Cc: Harald Welte, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, netdev, linux-kernel, horms, dsahern,
open list:GTP (GPRS Tunneling Protocol)
On Tue, Mar 05, 2024 at 04:15:23AM -0800, Breno Leitao wrote:
> Assign netdev to gtp->dev at setup time, so, we can get rid of
> gtp_dev_init() completely.
>
> Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next 1/3] net: gtp: Leverage core stats allocator
2024-03-05 12:15 [PATCH net-next 1/3] net: gtp: Leverage core stats allocator Breno Leitao
2024-03-05 12:15 ` [PATCH net-next 2/3] net: gtp: Remove generic .ndo_get_stats64 Breno Leitao
2024-03-05 12:15 ` [PATCH net-next 3/3] net: gtp: Move net_device assigned in setup Breno Leitao
@ 2024-03-05 15:38 ` Pablo Neira Ayuso
2024-03-07 4:40 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 7+ messages in thread
From: Pablo Neira Ayuso @ 2024-03-05 15:38 UTC (permalink / raw)
To: Breno Leitao
Cc: Harald Welte, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, netdev, linux-kernel, horms, dsahern,
open list:GTP (GPRS Tunneling Protocol)
On Tue, Mar 05, 2024 at 04:15:21AM -0800, Breno Leitao wrote:
> With commit 34d21de99cea9 ("net: Move {l,t,d}stats allocation to core and
> convert veth & vrf"), stats allocation could be done on net core
> instead of in this driver.
>
> With this new approach, the driver doesn't have to bother with error
> handling (allocation failure checking, making sure free happens in the
> right spot, etc). This is core responsibility now.
>
> Remove the allocation in the gtp driver and leverage the network
> core allocation instead.
>
> Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Thanks, this was on my list.
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net-next 1/3] net: gtp: Leverage core stats allocator
2024-03-05 12:15 [PATCH net-next 1/3] net: gtp: Leverage core stats allocator Breno Leitao
` (2 preceding siblings ...)
2024-03-05 15:38 ` [PATCH net-next 1/3] net: gtp: Leverage core stats allocator Pablo Neira Ayuso
@ 2024-03-07 4:40 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-03-07 4:40 UTC (permalink / raw)
To: Breno Leitao
Cc: pablo, laforge, davem, edumazet, kuba, pabeni, netdev,
linux-kernel, horms, dsahern, osmocom-net-gprs
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 5 Mar 2024 04:15:21 -0800 you wrote:
> With commit 34d21de99cea9 ("net: Move {l,t,d}stats allocation to core and
> convert veth & vrf"), stats allocation could be done on net core
> instead of in this driver.
>
> With this new approach, the driver doesn't have to bother with error
> handling (allocation failure checking, making sure free happens in the
> right spot, etc). This is core responsibility now.
>
> [...]
Here is the summary with links:
- [net-next,1/3] net: gtp: Leverage core stats allocator
https://git.kernel.org/netdev/net-next/c/660e5aaea11d
- [net-next,2/3] net: gtp: Remove generic .ndo_get_stats64
https://git.kernel.org/netdev/net-next/c/13957a0b0708
- [net-next,3/3] net: gtp: Move net_device assigned in setup
https://git.kernel.org/netdev/net-next/c/81154bb83c44
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 7+ messages in thread