|.TH "Packet sample action in tc" 8 "31 Jan 2017" "iproute2" "Linux"
|sample - packet sampling tc action
|.BR tc " ... " "action sample rate"
|.RB "[ " trunc
|.IR SIZE " ] "
|.RB "[ " index
|.IR INDEX " ] "
|.BR tc " ... " "action sample index "
|action allows sampling packets matching classifier.
|The packets are chosen randomly according to the
|parameter, and are sampled using the
|generic netlink channel. The user can also specify packet truncation to save
|user-kernel traffic. Each sample includes some informative metadata about the
|original packet, which is sent using netlink attributes, alongside the original
|The user can either specify the sample action parameters as presented in the
|first form above, or use an existing sample action using its index, as presented
|in the second form.
|.SH SAMPLED PACKETS METADATA FIELDS
|The metadata are delivered to userspace applications using the
|generic netlink channel, where each sample includes the following netlink
|The input interface index of the packet, if there is one.
|The output interface index of the packet. This field is not relevant on ingress
|The size of the original packet (before truncation)
|group the packet was sent to
|A sequence number of the sampled packet. This number is incremented with each
|sampled packet of the current
|The rate the packet was sampled with
|.BI rate " RATE"
|The packet sample rate.
|is the expected ratio between observed packets and sampled packets. For example,
|of 100 will lead to an average of one sampled packet out of every 100 observed.
|.BI trunc " SIZE"
|Upon set, defines the maximum size of the sampled packets, and causes truncation
|.BI group " GROUP"
|group the packet will be sent to. The
|module defines the concept of groups, which allows the user to match specific
|sampled packets in the case of multiple sampling rules, thus identify only the
|packets that came from a specific rule.
|.BI index " INDEX"
|Is a unique ID for an action. When creating new action instance, this parameter
|allows to set the new action index. When using existing action, this parameter
|allows to specify the existing action index. The index must 32bit unsigned
|integer greater than zero.
|Sample one of every 100 packets flowing into interface eth0 to psample group 12:
|tc qdisc add dev eth0 handle ffff: ingress
|tc filter add dev eth0 parent ffff: matchall \\
| action sample rate 100 group 12 index 19
|Use the same action instance to sample eth1 too:
|tc qdisc add dev eth1 handle ffff: ingress
|tc filter add dev eth1 parent ffff: matchall \\
| action sample index 19
|.SH SEE ALSO
|.BR tc (8),
|.BR tc-matchall (8)
|.BR psample (1)