On Tue, 30 Nov 2021 10:38:14 -0700 David Ahern wrote: > On 11/30/21 10:04 AM, Jakub Kicinski wrote: > > On Tue, 30 Nov 2021 17:34:54 +0100 Alexander Lobakin wrote: > >> I know about ETHTOOL_STAT_NOT_SET, but RTNL xstats doesn't use this, > >> does it? > > > > Not sure if you're asking me or Dave but no, to my knowledge RTNL does > > not use such semantics today. But the reason is mostly because there > > weren't many driver stats added there. Knowing if an error counter is > > not supported or supporter and 0 is important for monitoring. Even if > > XDP stats don't have a counter which may not be supported today it's > > not a good precedent to make IMO. > > Today, stats are sent as a struct so skipping stats whose value is 0 is > not an option. When using individual attributes for the counters this > becomes an option. Given there is no value in sending '0' why do it? To establish semantics of what it means that the statistic is not reported. If we need to save space we'd need an extra attr with a bitmap of "these stats were skipped because they were zero". Or conversely some way of querying supported stats. > Is your pushback that there should be a uapi to opt-in to this behavior? Not where I was going with it, but it is an option. If skipping 0s was controlled by a flag a dump without such flag set would basically serve as a way to query supported stats.