iproute2/tc
Davide Caratti 75ef7b18d2 tc: fix parsing of the control action
If the user didn't specify any control action, don't pop the command line
arguments: otherwise, parsing of the next argument (tipically the 'index'
keyword) results in an error, causing the following 'tc-testing' failures:

 Test a6d6: Add skbedit action with index
 Test 38f3: Delete skbedit action
 Test a568: Add action with ife type
 Test b983: Add action without ife type
 Test 7d50: Add skbmod action to set destination mac
 Test 9b29: Add skbmod action to set source mac
 Test e93a: Delete an skbmod action

Also, add missing parse for 'ok' control action to m_police, to fix the
following 'tc-testing' failure:

 Test 8dd5: Add police action with control ok

tested with:
 # ./tdc.py

test results:
 all tests ok using kernel 4.16-rc2, except 9aa8 "Get a single skbmod
 action from a list" (which is failing also before this commit)

Fixes: 3572e01a09 ("tc: util: Don't call NEXT_ARG_FWD() in __parse_action_control()")
Cc: Michal Privoznik <mprivozn@redhat.com>
Cc: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-03-04 09:01:38 -08:00
..
.gitignore Add ignore files to make using git easier 2006-08-08 12:04:38 -07:00
Makefile SPDX license identifiers 2017-11-24 12:21:35 -08:00
e_bpf.c bpf: make tc's bpf loader generic and move into lib 2016-11-29 12:35:32 -08: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 Convert the obvious cases to strlcpy() 2017-09-01 12:10:54 -07:00
em_meta.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -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 tc/lexer: let quotes actually start strings 2018-01-24 08:49:10 -08:00
emp_ematch.y tc: remove extra whitespace 2015-10-23 15:43:28 -07:00
f_basic.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
f_bpf.c f_bpf: communicate ifindex for eBPF offload 2017-11-26 11:57:57 -08:00
f_cgroup.c tc actions: Improved batching and time filtered dumping 2017-08-04 13:16:51 -07:00
f_flow.c tc actions: Improved batching and time filtered dumping 2017-08-04 13:16:51 -07:00
f_flower.c tc: jsonify flower filter 2017-11-26 12:20:51 -08:00
f_fw.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
f_matchall.c tc: jsonify matchall filter 2017-11-26 12:20:51 -08:00
f_route.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
f_rsvp.c tc: break long lines 2017-11-24 11:31:36 -08:00
f_tcindex.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
f_u32.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
m_action.c tc: fix an off-by-one error while printing tc actions 2018-02-23 08:18:29 -08:00
m_bpf.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_connmark.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_csum.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_ematch.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
m_ematch.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
m_estimator.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
m_gact.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_ife.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_ipt.c tc: replace magic constant 16 with #define 2017-11-24 11:19:18 -08:00
m_mirred.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_nat.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_pedit.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_pedit.h drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
m_police.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_sample.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_simple.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
m_skbedit.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_skbmod.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_tunnel_key.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_vlan.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
m_xt.c tc: replace magic constant 16 with #define 2017-11-24 11:19:18 -08:00
m_xt_old.c tc: replace magic constant 16 with #define 2017-11-24 11:19:18 -08:00
p_eth.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
p_icmp.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
p_ip.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
p_ip6.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
p_tcp.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
p_udp.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
q_atm.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
q_cbq.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_cbs.c tc: break long lines 2017-11-24 11:31:36 -08:00
q_choke.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_clsact.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
q_codel.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_drr.c tc: break long lines 2017-11-24 11:31:36 -08:00
q_dsmark.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
q_fifo.c tc: break long lines 2017-11-24 11:31:36 -08:00
q_fq.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_fq_codel.c tc: jsonify fq_codel qdisc 2017-11-26 12:20:51 -08:00
q_gred.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_hfsc.c tc: break long lines 2017-11-24 11:31:36 -08:00
q_hhf.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
q_htb.c tc: jsonify htb qdisc 2017-11-26 12:20:51 -08:00
q_ingress.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_mqprio.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08: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: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_pie.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_prio.c tc: prio: JSON-ify prio output 2018-01-26 13:00:18 -08:00
q_qfq.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_red.c tc: red: JSON-ify RED output 2018-01-26 12:59:55 -08: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: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_sfq.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
q_tbf.c tc: break long lines 2017-11-24 11:31:36 -08:00
static-syms.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
tc.c tc: Add batchsize feature for filter and actions 2018-01-14 09:03:35 -08:00
tc_cbq.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
tc_cbq.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
tc_class.c tc: B.W limits can now be specified in %. 2017-11-24 11:22:13 -08:00
tc_common.h tc: Add batchsize feature for filter and actions 2018-01-14 09:03:35 -08:00
tc_core.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
tc_core.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
tc_estimator.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
tc_exec.c tc: replace magic constant 16 with #define 2017-11-24 11:19:18 -08:00
tc_filter.c tc: introduce support for block-handle for filter operations 2018-01-21 10:42:53 -08:00
tc_monitor.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
tc_qdisc.c tc: implement ingress/egress block index attributes for qdiscs 2018-01-21 10:42:57 -08:00
tc_red.c tc: red: allow setting th_min and th_max to the same value 2018-01-19 12:35:23 -08:00
tc_red.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
tc_stab.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
tc_util.c tc: fix parsing of the control action 2018-03-04 09:01:38 -08:00
tc_util.h tc: introduce tc_qdisc_block_exists helper 2018-01-21 10:42:35 -08:00