actions in tc(8) Linux actions in tc(8)
NAME
actions - independently defined actions in tc
SYNOPSIS
tc [ TC_OPTIONS ] actions add | change | replace ACTSPEC
tc [ TC_OPTIONS ] actions get | delete ACTISPEC
tc [ TC_OPTIONS ] actions flush ACTNAMESPEC
tc [ TC_OPTIONS ] actions ls | list ACTNAMESPEC [ ACTFILTER ]
ACTSPEC := action ACTDETAIL [ INDEXSPEC ] [ COOKIESPEC ] [
FLAGS ] [ HWSTATSSPEC ] [ CONTROL ] [ SKIPSPEC ]
ACTISPEC := ACTNAMESPEC INDEXSPEC
ACTNAMESPEC := action ACTNAME
INDEXSPEC := index INDEX
ACTFILTER := since MSTIME
COOKIESPEC := cookie COOKIE
FLAGS := no_percpu
HWSTATSSPEC := hw_stats { immediate | delayed | disabled }
ACTDETAIL := ACTNAME ACTPARAMS
ACTNAME may be any valid action type: gact, mirred, bpf, conn-
mark, csum, police, etc.
MSTIME Time since last update.
CONTROL := { reclassify | pipe | drop | continue | ok }
SKIPSPEC := { skip_sw | skip_hw }
TC_OPTIONS These are the options that are specific to tc and
not only the options. Refer to tc(8) for more information.
DESCRIPTION
The actions object in tc allows a user to define actions independently
of a classifier (filter). These actions can then be assigned to one or
more filters, with any packets matching the classifier's criteria hav-
ing that action performed on them.
Each action type (mirred, police, etc.) will have its own table to
store all created actions.
OPERATIONS
add Create a new action in that action's table.
change
replace
Make modifications to an existing action.
get Display the action with the specified index value. When combined
with the -s option for tc, display the statistics for that
action.
delete Delete the action with the specified index value. If the action
is already associated with a classifier, it does not delete the
classifier.
ls
list List all the actions in the specified table. When combined with
the -s option for tc, display the statistics for all actions in
the specified table. When combined with the option since allows
doing a millisecond time-filter since the last time an action
was used in the datapath.
flush Delete all actions stored in the specified table.
ACTION OPTIONS
Note that these options are available to all action types.
index INDEX
Specify the table index value of an action. INDEX is a 32-bit
value that is unique to the specific type of action referenced.
For add, change, and replace operations, the index is optional.
When adding a new action, specifying an index value will assign
the action to that index unless that index value has already
been assigned. Omitting the index value for an add operation
will cause the kernel to assign a value to the new action.
For get and delete operations, the index is required to identify
the specific action to be displayed or deleted.
cookie COOKIE
In addition to the specific action, mark the matching packet
with the value specified by COOKIE. The COOKIE is a 128-bit
value that will not be interpreted by the kernel whatsoever. As
such, it can be used as a correlating value for maintaining user
state. The value to be stored is completely arbitrary and does
not require a specific format. It is stored inside the action
structure itself.
FLAGS Action-specific flags. Currently, the only supported flag is
no_percpu which indicates that action is expected to have mini-
mal software data-path traffic and doesn't need to allocate stat
counters with percpu allocator. This option is intended to be
used by hardware-offloaded actions.
hw_stats HW_STATS
Specifies the type of HW stats of new action. If omitted, any
stats counter type is going to be used, according to driver and
its resources. The HW_STATS indicates the type. Any of the fol-
lowing are valid:
immediate
Means that in dump, user gets the current HW stats state
from the device queried at the dump time.
delayed
Means that in dump, user gets HW stats that might be out
of date for some time, maybe couple of seconds. This is
the case when driver polls stats updates periodically or
when it gets async stats update from the device.
disabled
No HW stats are going to be available in dump.
since MSTIME
When dumping large number of actions, a millisecond time-filter
can be specified MSTIME. The MSTIME is a millisecond count
since last time a packet hit the action. As an example specify-
ing "since 20000" implies to dump all actions that have seen
packets in the last 20 seconds. This option is useful when the
kernel has a large number of actions and you are only interested
in recently used actions.
CONTROL
The CONTROL indicates how tc should proceed after executing the
action. Any of the following are valid:
reclassify
Restart the classifiction by jumping back to the first
filter attached to the action's parent.
pipe Continue with the next action. This is the default con-
trol.
drop Drop the packed without running any further actions.
continue
Continue the classification with the next filter.
pass Return to the calling qdisc for packet processing, and
end classification of this packet.
SKIPSPEC
The SKIPSPEC indicates how tc should proceed when executing the
action. Any of the following are valid:
skip_sw
Do not process action by software. If hardware has no
offload support for this action, operation will fail.
skip_hw
Do not process action by hardware.
SEE ALSO
tc(8), tc-bpf(8), tc-connmark(8), tc-csum(8), tc-ife(8), tc-mirred(8),
tc-nat(8), tc-pedit(8), tc-police(8), tc-simple(8), tc-skbedit(8), tc-
skbmod(8), tc-tunnel_key(8), tc-vlan(8), tc-xt(8)
iproute2 1 Aug 2017 actions in tc(8)