mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-10-31 12:21:10 +00:00 
			
		
		
		
	 519ace17f9
			
		
	
	
		519ace17f9
		
	
	
	
	
		
			
			Update man page to reflect the changes made in Linux. Signed-off-by: Leslie Monis <lesliemonis@gmail.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
		
			
				
	
	
		
			128 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH PIE 8 "16 January 2014" "iproute2" "Linux"
 | |
| .SH NAME
 | |
| PIE \- Proportional Integral controller-Enhanced AQM algorithm
 | |
| .SH SYNOPSIS
 | |
| .B tc qdisc ... pie
 | |
| [
 | |
| .B limit
 | |
| PACKETS ] [
 | |
| .B target
 | |
| TIME ] [
 | |
| .B tupdate
 | |
| TIME ] [
 | |
| .B alpha
 | |
| int ] [
 | |
| .B beta
 | |
| int ] [
 | |
| .B ecn
 | |
| |
 | |
| .B noecn
 | |
| ] [
 | |
| .B bytemode
 | |
| |
 | |
| .B nobytemode
 | |
| ]
 | |
| 
 | |
| .SH DESCRIPTION
 | |
| Proportional Integral controller-Enhanced (PIE) is a control theoretic active
 | |
| queue management scheme. It is based on the proportional integral controller but
 | |
| aims to control delay. The main design goals are
 | |
|  o Low latency control
 | |
|  o High link utilization
 | |
|  o Simple implementation
 | |
|  o Guaranteed stability and fast responsiveness
 | |
| 
 | |
| .SH ALGORITHM
 | |
| PIE is designed to control delay effectively. First, an average dequeue rate is
 | |
| estimated based on the standing queue. The rate is used to calculate the current
 | |
| delay. Then, on a periodic basis, the delay is used to calculate the dropping
 | |
| probabilty. Finally, on arrival, a packet is dropped (or marked) based on this
 | |
| probability.
 | |
| 
 | |
| PIE makes adjustments to the probability based on the trend of the delay i.e.
 | |
| whether it is going up or down.The delay converges quickly to the target value
 | |
| specified.
 | |
| 
 | |
| alpha and beta are statically chosen parameters chosen to control the drop probability
 | |
| growth and are determined through control theoretic approaches. alpha determines how
 | |
| the deviation between the current and target latency changes probability. beta exerts
 | |
| additional adjustments depending on the latency trend.
 | |
| 
 | |
| The drop probabilty is used to mark packets in ecn mode. However, as in RED,
 | |
| beyond 10% packets are dropped based on this probability. The bytemode is used
 | |
| to drop packets proportional to the packet size.
 | |
| 
 | |
| Additional details can be found in the paper cited below.
 | |
| 
 | |
| .SH PARAMETERS
 | |
| .SS limit
 | |
| limit on the queue size in packets. Incoming packets are dropped when this limit
 | |
| is reached. Default is 1000 packets.
 | |
| 
 | |
| .SS target
 | |
| is the expected queue delay. The default target delay is 15ms.
 | |
| 
 | |
| .SS tupdate
 | |
| is the frequency at which the system drop probability is calculated. The default is 15ms.
 | |
| 
 | |
| .SS alpha
 | |
| .SS beta
 | |
| alpha and beta are parameters chosen to control the drop probability. These
 | |
| should be in the range between 0 and 32.
 | |
| 
 | |
| .SS ecn | noecn
 | |
| is used to mark packets instead of dropping
 | |
| .B ecn
 | |
| to turn on ecn mode,
 | |
| .B noecn
 | |
| to turn off ecn mode. By default,
 | |
| .B ecn
 | |
| is turned off.
 | |
| 
 | |
| .SS bytemode | nobytemode
 | |
| is used to scale drop probability proportional to packet size
 | |
| .B bytemode
 | |
| to turn on bytemode,
 | |
| .B nobytemode
 | |
| to turn off bytemode. By default,
 | |
| .B bytemode
 | |
| is turned off.
 | |
| 
 | |
| .SH EXAMPLES
 | |
|  # tc qdisc add dev eth0 root pie
 | |
|  # tc -s qdisc show
 | |
|    qdisc pie 8036: dev eth0 root refcnt 2 limit 1000p target 15.0ms tupdate 16.0ms alpha 2 beta 20
 | |
|     Sent 31216108 bytes 20800 pkt (dropped 80, overlimits 0 requeues 0)
 | |
|     backlog 16654b 11p requeues 0
 | |
|    prob 0.006161 delay 15666us avg_dq_rate 1159667
 | |
|    pkts_in 20811 overlimit 0 dropped 80 maxq 50 ecn_mark 0
 | |
| 
 | |
|  # tc qdisc add dev eth0 root pie limit 100 target 20ms tupdate 30ms ecn
 | |
|  # tc -s qdisc show
 | |
|    qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 20.0ms tupdate 32.0ms alpha 2 beta 20 ecn
 | |
|     Sent 6591724 bytes 4442 pkt (dropped 27, overlimits 0 requeues 0)
 | |
|     backlog 18168b 12p requeues 0
 | |
|    prob 0.008845 delay 11348us avg_dq_rate 1342773
 | |
|    pkts_in 4454 overlimit 0 dropped 27 maxq 65 ecn_mark 0
 | |
| 
 | |
|  # tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode
 | |
|  # tc -s qdisc show
 | |
|    qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 50.0ms tupdate 32.0ms alpha 2 beta 20 bytemode
 | |
|     Sent 1616274 bytes 1137 pkt (dropped 0, overlimits 0 requeues 0)
 | |
|     backlog 13626b 9p requeues 0
 | |
|    prob 0.000000 delay 0us avg_dq_rate 0
 | |
|    pkts_in 1146 overlimit 0 dropped 0 maxq 23 ecn_mark 0
 | |
| 
 | |
| .SH SEE ALSO
 | |
| .BR tc (8),
 | |
| .BR tc-codel (8)
 | |
| .BR tc-red (8)
 | |
| 
 | |
| .SH SOURCES
 | |
|  o RFC 8033: https://tools.ietf.org/html/rfc8033
 | |
| 
 | |
| .SH AUTHORS
 | |
| PIE was implemented by Vijay Subramanian and Mythili Prabhu, also the authors of
 | |
| this man page. Please report bugs and corrections to the Linux networking
 | |
| development mailing list at <netdev@vger.kernel.org>.
 |