mirror_iproute2/tc
Vlad Buslov 477ca0dfb4 tc: implement support for terse dump
Implement support for classifier/action terse dump using new TCA_DUMP_FLAGS
tlv with only available flag value TCA_DUMP_FLAGS_TERSE. Set the flag when
user requested it with following example CLI (-br for 'brief'):

$ tc -s -br filter show dev ens1f0 ingress
filter protocol ip pref 49151 flower chain 0
filter protocol ip pref 49151 flower chain 0 handle 0x1
  not_in_hw
        action order 1: gact    Action statistics:
        Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
        backlog 0b 0p requeues 0

filter protocol ip pref 49152 flower chain 0
filter protocol ip pref 49152 flower chain 0 handle 0x1
  not_in_hw
        action order 1: gact    Action statistics:
        Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
        backlog 0b 0p requeues 0

In terse mode dump only outputs essential data needed to identify the
filter and action (handle, cookie, etc.) and stats, if requested by the
user. The intention is to significantly improve rule dump rate by omitting
all static data that do not change after rule is created.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
2020-10-31 09:15:15 -06:00
..
.gitignore make yacc usage POSIX compatible 2020-01-20 09:43:22 -08:00
e_bpf.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
em_canid.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
em_cmp.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
em_ipset.c Include bsd/string.h only in include/utils.h 2018-11-05 08:38:32 -08:00
em_ipt.c tc: fix spelling errors 2019-08-12 18:18:51 -07:00
em_meta.c tc/meta: make meta_table static and const 2018-11-19 11:42:44 -08:00
em_nbyte.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
em_u32.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
emp_ematch.l make yacc usage POSIX compatible 2020-01-20 09:43:22 -08:00
emp_ematch.y make yacc usage POSIX compatible 2020-01-20 09:43:22 -08:00
f_basic.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_bpf.c tc: full JSON support for 'bpf' filter 2020-05-05 16:19:06 +00:00
f_cgroup.c tc actions: Improved batching and time filtered dumping 2017-08-04 13:16:51 -07:00
f_flow.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_flower.c tc: flower: support multiple MPLS LSE match 2020-07-06 11:12:43 -07:00
f_fw.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_matchall.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_route.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_rsvp.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_tcindex.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
f_u32.c tc: f_u32: allow skip_hw and skip_sw flags to be last 2018-11-09 08:12:29 -08:00
m_action.c Replace open-coded instances of print_nl() 2020-05-04 17:13:53 -07:00
m_bpf.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_connmark.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_csum.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_ct.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_ctinfo.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_ematch.c tc/ematch: make local functions static 2018-11-19 11:42:44 -08:00
m_ematch.h tc/ematch: make local functions static 2018-11-19 11:42:44 -08:00
m_estimator.c tc/m_estimator: Print proper value for estimator interval in raw. 2020-07-20 13:25:56 -07:00
m_gact.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_gate.c iproute2-next:tc:action: add a gate control action 2020-05-13 02:19:46 +00:00
m_ife.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_ipt.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_mirred.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_mpls.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_nat.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_pedit.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_pedit.h tc/pedit: make functions static 2018-11-19 11:42:44 -08:00
m_police.c action police: make 'mtu' could be set independently in police action 2020-07-05 15:34:04 +00:00
m_sample.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_simple.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_skbedit.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_skbmod.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_tunnel_key.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_vlan.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_xt_old.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
m_xt.c tc: skip actions that don't have options attribute when printing 2020-10-31 09:14:01 -06:00
Makefile tc: Add helpers to support qevent handling 2020-07-05 15:37:27 +00:00
p_eth.c tc/pedit: use structure initialization 2018-11-19 11:42:44 -08:00
p_icmp.c tc/pedit: use structure initialization 2018-11-19 11:42:44 -08:00
p_ip6.c tc: p_ip6: Support pedit of IPv6 dsfield 2020-04-09 14:39:58 +00:00
p_ip.c tc/pedit: use structure initialization 2018-11-19 11:42:44 -08:00
p_tcp.c tc/pedit: use structure initialization 2018-11-19 11:42:44 -08:00
p_udp.c tc/pedit: use structure initialization 2018-11-19 11:42:44 -08:00
q_atm.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
q_cake.c q_cake: properly print memlimit 2020-04-20 09:33:15 -07:00
q_cbq.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
q_cbs.c tc: cbs: add support for JSON output 2019-12-29 09:57:27 -08:00
q_choke.c tc: choke: add support for JSON output 2019-12-29 09:57:27 -08:00
q_clsact.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
q_codel.c tc: codel: add support for JSON output 2019-12-29 09:57:27 -08:00
q_drr.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
q_dsmark.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
q_etf.c etf: Add skip_sock_check 2019-07-18 15:44:21 -07:00
q_ets.c tc: Add support for ETS Qdisc 2020-01-18 21:54:12 +00:00
q_fifo.c tc: jsonify output of q_fifo 2018-10-08 09:22:22 -07:00
q_fq_codel.c tc: fq_codel: add drop_batch parameter 2020-04-27 14:56:42 -07:00
q_fq_pie.c tc: add support for FQ-PIE packet scheduler 2020-02-04 03:24:39 -08:00
q_fq.c tc: fq: clarify the length of orphan_mask. 2020-10-15 15:16:52 -07:00
q_gred.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
q_hfsc.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
q_hhf.c tc: hhf: add support for JSON output 2019-12-29 09:57:27 -08:00
q_htb.c fix print_0xhex on 32 bit 2018-12-10 14:20:32 -08:00
q_ingress.c ingress: Don't break JSON output 2018-04-25 11:08:39 -07:00
q_mqprio.c tc: mqprio: reject queues count/offset pair count higher than num_tc 2020-05-18 14:57:15 +00:00
q_multiq.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_netem.c tc: fix spelling errors 2019-08-12 18:18:51 -07:00
q_pie.c Revert "tc: pie: change maximum integer value of tc_pie_xstats->prob" 2020-03-10 18:29:26 +00:00
q_plug.c tc: add support for plug qdisc 2019-05-04 09:22:14 -07:00
q_prio.c tc: prio: fix space in JSON tag 2020-01-06 13:11:41 -08:00
q_qfq.c treewide: Use addattr_nest()/addattr_nest_end() to handle nested attributes 2018-02-02 15:01:09 -08:00
q_red.c tc: Add space after format specifier 2020-07-29 17:03:46 +00:00
q_rr.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_sfb.c tc: sfb: add support for JSON output 2019-12-29 09:57:27 -08:00
q_sfq.c tc: sfq: add support for JSON output 2019-12-29 09:57:27 -08:00
q_skbprio.c tc: skbprio: add support for JSON output 2020-01-06 13:12:02 -08:00
q_taprio.c Replace open-coded instances of print_nl() 2020-05-04 17:13:53 -07:00
q_tbf.c tc: tbf: add support for JSON output 2019-12-29 09:57:27 -08:00
static-syms.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
tc_cbq.c tc: fix spelling errors 2019-08-12 18:18:51 -07:00
tc_cbq.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
tc_class.c tc: parse attributes with NLA_F_NESTED flag 2020-01-22 03:45:48 +00:00
tc_common.h Revert "tc: Add batchsize feature for filter and actions" 2019-08-02 09:34:51 -07:00
tc_core.c iproute2-next: police: support 64bit rate and peakrate in tc utility 2019-09-15 10:39:19 -07:00
tc_core.h iproute2-next: police: support 64bit rate and peakrate in tc utility 2019-09-15 10:39:19 -07:00
tc_estimator.c tc: support conversions to or from 64 bit nanosecond-based time 2018-08-30 11:04:38 -07:00
tc_exec.c treewide: refactor help messages 2019-05-20 14:35:07 -07:00
tc_filter.c tc: implement support for terse dump 2020-10-31 09:15:15 -06:00
tc_monitor.c Tree wide: Drop sockaddr_nl arg 2018-10-22 09:43:48 -07:00
tc_qdisc.c tc: Look for blocks in qevents 2020-07-20 16:34:02 +00:00
tc_qevent.c tc: Add space after format specifier 2020-07-29 17:03:46 +00:00
tc_qevent.h tc: Look for blocks in qevents 2020-07-20 16:34:02 +00:00
tc_red.c tc: q_red: Support 'nodrop' flag 2020-03-25 16:45:37 +00:00
tc_red.h tc: move RED flag printing to helper 2018-11-24 07:10:58 -08:00
tc_stab.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
tc_util.c tc: report time an action was first used 2020-05-31 22:51:19 +00:00
tc_util.h tc: Look for blocks in qevents 2020-07-20 16:34:02 +00:00
tc.c tc: implement support for terse dump 2020-10-31 09:15:15 -06:00