ltm rule command TCP congestionΒΆ

iRule(1)					  BIG-IP TMSH Manual					     iRule(1)

TCP::congestion
       Sets the TCP congestion control algorithm.

SYNOPSIS
       TCP::congestion (none	  |
				reno	  |
				newreno   |
				highspeed |
				scalable  |
				vegas	  |
				cdg	  |
				chd	  |
				illinois  |
				woodside  |
				cubic	  |
				westwood  |
				bbr)?

DESCRIPTION
       Changes the TCP congestion control algorithm and initializes any state variables unique to the new algorithm.

       Syntax

       TCP::congestion []

       TCP::congestion 

	    * Specifies that the system does not use a network-congestion-control
	      mechanism, even when congestion occurs.

       TCP::congestion 

	    * Specifies that the system uses an implementation of the TCP Fast
	      Recovery algorithm, which is based on the implementation in the BSD
	      Reno release.

       TCP::congestion 

	    * Specifies that the system uses a modification to the Reno algorithm
	      that responds to partial acknowledgements when SACKs are
	      unavailable.

       TCP::congestion 

	    * Specifies that the system uses a more aggressive, loss-based
	      algorithm.

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm modification that
	      adds a scalable, delay-based and loss-based component into the Reno
	      algorithm.

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm modification that
	      adds a delay-based and loss-based component into the Reno
	      algorithm.

       TCP::congestion 

	    * Specifies that the system uses a delay based TCP that senses onset
	      of congestion by variations in round trip time (RTT).

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm that aims to keep
	      network queuing delays below a particular threshold
	      (queue_threshold) and decides to reduce the congestion window
	      (cwnd) probabilistically based on its estimate of the network
	      queuing delay.

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm that is especially
	      targeted at high-speed, long-distance networks.

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm that is especially
	      targeted at high-speed, long-distance networks with enhanced
	      congestion recovery.

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm that is optimized
	      for high bandwidth, high delay networks.

       TCP::congestion 

	    * Specifies that the system uses a TCP algorithm based on a bandwidth
	      estimation metric.

       TCP::congestion 

	    * Specifies that the system uses an implementation of the BBR
	      congestion control algorithm, which uses connection's maximum
	      delivery rate (bottleneck bandwidth) and minimum round trip time
	      to avoid growing buffers and path delay.

RETURN VALUE
       TCP::congestion returns the current congestion control algorithm.

VALID DURING
       ANY_EVENT

EXAMPLES
	when SERVER_CONNECTED {
	    log local0. "Client: [client_addr]:[client_port] - Server: [server_addr]:[server_port]."
	    # Set client-side congestion control to Woodside.
	    clientside {
		log local0. "Client: congestion [TCP::congestion] to woodside"
		TCP::congestion woodside
	    }
	    # Set server-side congestion control to High-Speed.
	    serverside {
		log local0. "Server: congestion [TCP::congestion] to highspeed"
		TCP::congestion highspeed
	    }
	}

HINTS
SEE ALSO
CHANGE LOG
       @BIGIP-11.6.0 --First introduced the command.  @BIGIP-13.0.0 --Calling with no arguments gets the current
       value.  @BIGIP-14.1.0 --Added "bbr" option.

BIG-IP						      2020-06-23					     iRule(1)