On 2020-11-04 7:39 p.m., Jakub Kicinski wrote:
On Mon,  2 Nov 2020 22:12:43 +0200 Vlad Buslov wrote:
Allow user to request action terse dump with new flag value
TCA_FLAG_TERSE_DUMP. Only output essential action info in terse dump (kind,
stats, index and cookie, if set by the user when creating the action). This
is different from filter terse dump where index is excluded (filter can be
identified by its own handle).

Move tcf_action_dump_terse() function to the beginning of source file in
order to call it from tcf_dump_walker().

Signed-off-by: Vlad Buslov <v...@buslov.dev>
Suggested-by: Jamal Hadi Salim <j...@mojatatu.com>

Jiri, Cong, can I get an ack?

The previous terse dump made sense because it fulfilled the need of
an important user (OvS).


The requirement is to save on how much data crosses between user
space and the kernel. If you are polling the kernel every second
for stats and you can shave say 32B per rule - it is not a big
deal if you have a few rules. If you have 1M rules thats 32MB/s
removed.
So how do you get the stats? You can poll the rules (which have actions
that embed the stats). That approach is taken by Ovs and some others.
Or you can poll the actions instead (approach we have taken to cut
further on data crossing). Polling the actions has also got a lot of
other features built in for this precise purpose (example time-of-use
filtering).
Terse is useful in both cases because it cuts the amount of data
further.

Hope that clarifies.

cheers,
jamal

Reply via email to