Ema has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/351707 )

Change subject: BBR Congestion Control
......................................................................

BBR Congestion Control

Introduce a boolean hiera flag called 'bbr_congestion_control',
defaulting to false, to enable BBR for TCP Congestion Control.

When using BBR, the packet scheduler needs to be set to 'fq' as the
FQ/pacing queuing discipline is the main mechanism used by BBR on Linux
to send out data at the proper rate, instead of relying only on the TCP
congestion window.

Bug: T147569
Ref: https://lwn.net/Articles/701165/
Change-Id: Idf8416bb1e70dfca1fef5ac8286cc701b68455ac
---
M modules/base/manifests/sysctl.pp
1 file changed, 23 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/07/351707/1

diff --git a/modules/base/manifests/sysctl.pp b/modules/base/manifests/sysctl.pp
index aecde53..d9cbcb0 100644
--- a/modules/base/manifests/sysctl.pp
+++ b/modules/base/manifests/sysctl.pp
@@ -106,4 +106,27 @@
             },
         }
     }
+
+    # BBR congestion control (T147569)
+    # https://lwn.net/Articles/701165/
+    #
+    # The BBR TCP congestion control algorithm is based on Bottleneck
+    # Bandwidth, i.e. the estimated bandwidth of the slowest link, and
+    # Round-Trip Time to control outgoing traffic. Other algorithms such as
+    # CUBIC (default on Linux since 2.6.19) and Reno are instead based on
+    # packet loss.
+    #
+    # To send out data at the proper rate, BBR uses the tc-fq packet scheduler
+    # instead of the TCP congestion window.
+    #
+    # It has been added to Linux since version 4.9.
+    $use_bbr = hiera('bbr_congestion_control', false)
+    if ($use_bbr) and (versioncmp($::kernelversion, '4.9') >= 0) {
+        sysctl::parameters { 'tcp_bbr':
+            values => {
+            'net.core.default_qdisc' => 'fq',
+            'net.ipv4.tcp_congestion_control' => 'bbr',
+            },
+        }
+    }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/351707
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idf8416bb1e70dfca1fef5ac8286cc701b68455ac
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ema <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to