mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-10-31 11:48:18 +00:00 
			
		
		
		
	 e2a055dd23
			
		
	
	
		e2a055dd23
		
	
	
	
	
		
			
			- CONTROL has to come last, otherwise 'index' applies to gact and not simple itself. - Man page wasn't updated to reflect syntax changes. Signed-off-by: Phil Sutter <phil@nwl.cc>
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .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)
 |