Netdev List
 help / color / mirror / Atom feed
* [PATCH] net: mention the convention for .ndo_setup_tc()
@ 2026-05-07 21:40 David Yang
  2026-05-12  0:31 ` Jakub Kicinski
  0 siblings, 1 reply; 2+ messages in thread
From: David Yang @ 2026-05-07 21:40 UTC (permalink / raw)
  To: netdev
  Cc: David Yang, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman, Andrew Lunn, linux-kernel

qdisc_offload_dump_helper(), originated from commit 602f3baf2218
("net_sch: red: Add offload ability to RED qdisc"), is designed to that

    Whether RED is being offloaded is being determined every time dump
    action is being called because parent change of this qdisc could
    change its offload state but doesn't require any RED function to be
    called.

and returning -EOPNOTSUPP (for dump queries) does not mean "I don't have
any statistics", but "I don't offload this qdisc anymore". At least two
existing drivers did it wrong, so it is worth mentioning.

Signed-off-by: David Yang <mmyangfl@gmail.com>
---
 include/linux/netdevice.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 744ffa243501..b18a6d917771 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1223,6 +1223,12 @@ struct netdev_net_notifier {
  *	tx queues stopped. This allows the netdevice to perform queue
  *	management safely.
  *
+ *	NB: Returning -EOPNOTSUPP for whatever commands means "this qdisc is not
+ *	offloaded (anymore, offloading may have silently stopped)", and the
+ *	offloading flag is cleared. This is especially true for dump queries
+ *	(e.g. TC_*_STATS commands). If the underlying device does not report any
+ *	statistics but is still offloading, return 0 instead.
+ *
  *	Fiber Channel over Ethernet (FCoE) offload functions.
  * int (*ndo_fcoe_enable)(struct net_device *dev);
  *	Called when the FCoE protocol stack wants to start using LLD for FCoE
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] net: mention the convention for .ndo_setup_tc()
  2026-05-07 21:40 [PATCH] net: mention the convention for .ndo_setup_tc() David Yang
@ 2026-05-12  0:31 ` Jakub Kicinski
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Kicinski @ 2026-05-12  0:31 UTC (permalink / raw)
  To: David Yang
  Cc: netdev, David S. Miller, Eric Dumazet, Paolo Abeni, Simon Horman,
	Andrew Lunn, linux-kernel

On Fri,  8 May 2026 05:40:51 +0800 David Yang wrote:
> qdisc_offload_dump_helper(), originated from commit 602f3baf2218
> ("net_sch: red: Add offload ability to RED qdisc"), is designed to that
> 
>     Whether RED is being offloaded is being determined every time dump
>     action is being called because parent change of this qdisc could
>     change its offload state but doesn't require any RED function to be
>     called.
> 
> and returning -EOPNOTSUPP (for dump queries) does not mean "I don't have
> any statistics", but "I don't offload this qdisc anymore". At least two
> existing drivers did it wrong, so it is worth mentioning.

Applied (with a minor tweak), thanks!

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-05-12  0:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-07 21:40 [PATCH] net: mention the convention for .ndo_setup_tc() David Yang
2026-05-12  0:31 ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox