Thread (29 messages) 29 messages, 5 authors, 2020-03-02

Re: [patch net-next 00/10] net: allow user specify TC filter HW stats type

From: Jiri Pirko <jiri@resnulli.us>
Date: 2020-02-24 13:11:06

Mon, Feb 24, 2020 at 12:38:20PM CET, ecree@solarflare.com wrote:
On 22/02/2020 06:38, Jiri Pirko wrote:
quoted
Fri, Feb 21, 2020 at 07:22:00PM CET, kuba@kernel.org wrote:
quoted
Hmm, but the statistics are on actions, it feels a little bit like we
are perpetuating the mistake of counting on filters here.
You are right, the stats in tc are per-action. However, in both mlxsw
and mlx5, the stats are per-filter. What hw_stats does is that it
basically allows the user to set the type for all the actions in the
filter at once.

Could you imagine a usecase that would use different HW stats type for
different actions in one action-chain?
Potentially a user could only want stats on one action and disable them
on another.  For instance, if their action chain does delivery to the
'customer' and also mirrors the packets for monitoring, they might only
want stats on the first delivery (e.g. for billing) and not want to
waste a counter on the mirror.
Okay.

quoted
Plus, if the fine grained setup is ever needed, the hw_stats could be in
future easilyt extended to be specified per-action too overriding
the per-filter setup only for specific action. What do you think?
I think this is improper; the stats type should be defined per-action in
the uapi, even if userland initially only has UI to set it across the
entire filter.  (I imagine `tc action` would grow the corresponding UI
pretty quickly.)  Then on the driver side, you must determine whether
your hardware can support the user's request, and if not, return an
appropriate error code.

Let's try not to encourage people (users, future HW & driver developers)
to keep thinking of stats as per-filter entities.
Okay, but in that case, it does not make sense to have "UI to set it
across the entire filter". The UI would have to set it per-action too.
Othewise it would make people think it is per-filter entity.
But I guess the tc cmdline is chatty already an it can take other
repetitive cmdline options.

What do you think?


Thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help