You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.8 KiB
100 lines
2.8 KiB
.TH "Simple action in tc" 8 "12 Jan 2015" "iproute2" "Linux"
|
|
|
|
.SH NAME
|
|
simple - basic example action
|
|
.SH SYNOPSIS
|
|
.in +8
|
|
.ti -8
|
|
.BR tc " ... " "action simple"
|
|
[
|
|
.BI sdata " STRING"
|
|
] [
|
|
.BI index " INDEX"
|
|
] [
|
|
.I CONTROL
|
|
]
|
|
|
|
.ti -8
|
|
.IR CONTROL " := {"
|
|
.BR reclassify " | " pipe " | " drop " | " continue " | " ok " }"
|
|
|
|
.SH DESCRIPTION
|
|
This is a pedagogical example rather than an actually useful action. Upon every access, it prints the given
|
|
.I STRING
|
|
which may be of arbitrary length.
|
|
.SH OPTIONS
|
|
.TP
|
|
.BI sdata " STRING"
|
|
The actual string to print.
|
|
.TP
|
|
.BI index " INDEX"
|
|
Optional action index value.
|
|
.TP
|
|
.I CONTROL
|
|
Indicate how
|
|
.B tc
|
|
should proceed after executing the action. For a description of the possible
|
|
.I CONTROL
|
|
values, see
|
|
.BR tc-actions (8).
|
|
.SH EXAMPLES
|
|
The following example makes the kernel yell "Incoming ICMP!" every time it sees
|
|
an incoming ICMP on eth0. Steps are:
|
|
.IP 1) 4
|
|
Add an ingress qdisc point to eth0
|
|
.IP 2) 4
|
|
Start a chain on ingress of eth0 that first matches ICMP then invokes the
|
|
simple action to shout.
|
|
.IP 3) 4
|
|
display stats and show that no packet has been seen by the action
|
|
.IP 4) 4
|
|
Send one ping packet to google (expect to receive a response back)
|
|
.IP 5) 4
|
|
grep the logs to see the logged message
|
|
.IP 6) 4
|
|
display stats again and observe increment by 1
|
|
|
|
.RE
|
|
.EX
|
|
hadi@noma1:$ tc qdisc add dev eth0 ingress
|
|
hadi@noma1:$tc filter add dev eth0 parent ffff: protocol ip prio 5 \\
|
|
u32 match ip protocol 1 0xff flowid 1:1 action simple sdata "Incoming ICMP"
|
|
|
|
hadi@noma1:$ sudo tc -s filter ls dev eth0 parent ffff:
|
|
filter protocol ip pref 5 u32
|
|
filter protocol ip pref 5 u32 fh 800: ht divisor 1
|
|
filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
|
|
match 00010000/00ff0000 at 8
|
|
action order 1: Simple <Incoming ICMP>
|
|
index 4 ref 1 bind 1 installed 29 sec used 29 sec
|
|
Action statistics:
|
|
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
|
|
backlog 0b 0p requeues 0
|
|
|
|
|
|
hadi@noma1$ ping -c 1 www.google.ca
|
|
PING www.google.ca (74.125.225.120) 56(84) bytes of data.
|
|
64 bytes from ord08s08-in-f24.1e100.net (74.125.225.120): icmp_req=1 ttl=53 time=31.3 ms
|
|
|
|
--- www.google.ca ping statistics ---
|
|
1 packets transmitted, 1 received, 0% packet loss, time 0ms
|
|
rtt min/avg/max/mdev = 31.316/31.316/31.316/0.000 ms
|
|
|
|
hadi@noma1$ dmesg | grep simple
|
|
[135354.473951] simple: Incoming ICMP_1
|
|
|
|
hadi@noma1$ sudo tc/tc -s filter ls dev eth0 parent ffff:
|
|
filter protocol ip pref 5 u32
|
|
filter protocol ip pref 5 u32 fh 800: ht divisor 1
|
|
filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
|
|
match 00010000/00ff0000 at 8
|
|
action order 1: Simple <Incoming ICMP>
|
|
index 4 ref 1 bind 1 installed 206 sec used 67 sec
|
|
Action statistics:
|
|
Sent 84 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
|
|
backlog 0b 0p requeues 0
|
|
.EE
|
|
.SH SEE ALSO
|
|
.BR tc (8)
|
|
.BR tc-actions (8)
|