| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file intentionally does not have header guards, it's included | 5 // This file intentionally does not have header guards, it's included |
| 6 // inside a macro to generate values. | 6 // inside a macro to generate values. |
| 7 | 7 |
| 8 // This file contains the list of QUIC protocol flags. | 8 // This file contains the list of QUIC protocol flags. |
| 9 | 9 |
| 10 // Time period for which a given connection_id should live in the time-wait | 10 // Time period for which a given connection_id should live in the time-wait |
| 11 // state. | 11 // state. |
| 12 QUIC_FLAG(int64_t, FLAGS_quic_time_wait_list_seconds, 200) | 12 QUIC_FLAG(int64_t, FLAGS_quic_time_wait_list_seconds, 200) |
| 13 | 13 |
| 14 // Currently, this number is quite conservative. The max QPS limit for an | 14 // Currently, this number is quite conservative. The max QPS limit for an |
| 15 // individual server silo is currently set to 1000 qps, though the actual max | 15 // individual server silo is currently set to 1000 qps, though the actual max |
| 16 // that we see in the wild is closer to 450 qps. Regardless, this means that | 16 // that we see in the wild is closer to 450 qps. Regardless, this means that |
| 17 // the longest time-wait list we should see is 200 seconds * 1000 qps, 200000. | 17 // the longest time-wait list we should see is 200 seconds * 1000 qps, 200000. |
| 18 // Of course, there are usually many queries per QUIC connection, so we allow a | 18 // Of course, there are usually many queries per QUIC connection, so we allow a |
| 19 // factor of 3 leeway. | 19 // factor of 3 leeway. |
| 20 // | 20 // |
| 21 // Maximum number of connections on the time-wait list. A negative value implies | 21 // Maximum number of connections on the time-wait list. A negative value implies |
| 22 // no configured limit. | 22 // no configured limit. |
| 23 QUIC_FLAG(int64_t, FLAGS_quic_time_wait_list_max_connections, 600000) | 23 QUIC_FLAG(int64_t, FLAGS_quic_time_wait_list_max_connections, 600000) |
| 24 | 24 |
| 25 // Enables server-side support for QUIC stateless rejects. | 25 // Enables server-side support for QUIC stateless rejects. |
| 26 QUIC_FLAG(bool, | 26 QUIC_FLAG(bool, |
| 27 FLAGS_quic_reloadable_flag_enable_quic_stateless_reject_support, | 27 FLAGS_quic_reloadable_flag_enable_quic_stateless_reject_support, |
| 28 true) | 28 true) |
| 29 | 29 |
| 30 // If true, multipath is enabled for the connection. | |
| 31 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_multipath, false) | |
| 32 | |
| 33 // If true, require handshake confirmation for QUIC connections, functionally | 30 // If true, require handshake confirmation for QUIC connections, functionally |
| 34 // disabling 0-rtt handshakes. | 31 // disabling 0-rtt handshakes. |
| 35 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. | 32 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. |
| 36 QUIC_FLAG(bool, | 33 QUIC_FLAG(bool, |
| 37 FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, | 34 FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, |
| 38 false) | 35 false) |
| 39 | 36 |
| 40 // If true, disable pacing in QUIC. | 37 // If true, disable pacing in QUIC. |
| 41 QUIC_FLAG(bool, FLAGS_quic_disable_pacing_for_perf_tests, false) | 38 QUIC_FLAG(bool, FLAGS_quic_disable_pacing_for_perf_tests, false) |
| 42 | 39 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 // If enabled, use refactored stream creation methods. | 144 // If enabled, use refactored stream creation methods. |
| 148 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_refactor_stream_creation, false) | 145 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_refactor_stream_creation, false) |
| 149 | 146 |
| 150 // A second take on fixing QUIC BBR packet conservation. | 147 // A second take on fixing QUIC BBR packet conservation. |
| 151 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_fix_conservation2, true) | 148 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_fix_conservation2, true) |
| 152 | 149 |
| 153 // If true, GFEs generate and validate source address token using the actual | 150 // If true, GFEs generate and validate source address token using the actual |
| 154 // client IP for proxied session. | 151 // client IP for proxied session. |
| 155 QUIC_FLAG(bool, | 152 QUIC_FLAG(bool, |
| 156 FLAGS_quic_reloadable_flag_quic_use_client_address_for_stk_in_proxy, | 153 FLAGS_quic_reloadable_flag_quic_use_client_address_for_stk_in_proxy, |
| 157 false) | 154 true) |
| 158 | 155 |
| 159 // If true, export a varz mapping QUIC non 0-rtt handshake with corresponding | 156 // If true, export a varz mapping QUIC non 0-rtt handshake with corresponding |
| 160 // frontend service. | 157 // frontend service. |
| 161 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_account_handshake, false) | 158 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_account_handshake, false) |
| 162 | 159 |
| 163 // Allows the 3RTO QUIC connection option to close a QUIC connection after | 160 // Allows the 3RTO QUIC connection option to close a QUIC connection after |
| 164 // 3RTOs if there are no open streams. | 161 // 3RTOs if there are no open streams. |
| 165 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_3rtos, false) | 162 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_3rtos, false) |
| 166 | 163 |
| 167 // If true, enable experiment for testing PCC congestion-control. | 164 // If true, enable experiment for testing PCC congestion-control. |
| 168 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_pcc, false) | 165 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_pcc, false) |
| 169 | 166 |
| 170 // If true, enable QUIC v40. | 167 // If true, enable QUIC v40. |
| 171 QUIC_FLAG(bool, FLAGS_quic_enable_version_40, false) | 168 QUIC_FLAG(bool, FLAGS_quic_enable_version_40, false) |
| 172 | 169 |
| 173 // If true, use the more CPU efficient bandwidth sampler datastructure. | 170 // If true, use the more CPU efficient bandwidth sampler datastructure. |
| 174 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_faster_bandwidth_sampler, false) | 171 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_faster_bandwidth_sampler, true) |
| 175 | 172 |
| 176 // In QUIC, QuicSession gets notified when stream frames are acked, discarded or | 173 // In QUIC, QuicSession gets notified when stream frames are acked, discarded or |
| 177 // retransmitted. | 174 // retransmitted. |
| 178 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_use_stream_notifier2, false) | 175 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_use_stream_notifier2, false) |
| 179 | 176 |
| 180 // When true, defaults to BBR congestion control instead of Cubic. | 177 // When true, defaults to BBR congestion control instead of Cubic. |
| 181 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_default_to_bbr, false) | 178 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_default_to_bbr, false) |
| 182 | 179 |
| 183 // Allow a new rate based recovery in QUIC BBR to be enabled via connection | 180 // Allow a new rate based recovery in QUIC BBR to be enabled via connection |
| 184 // option. | 181 // option. |
| 185 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_rate_recovery, false) | 182 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_rate_recovery, false) |
| 186 | 183 |
| 187 // If true, allow trailing headers with duplicate keys, and combine the values | 184 // If true, allow trailing headers with duplicate keys, and combine the values |
| 188 // from duplicate keys into a single delimted header. | 185 // from duplicate keys into a single delimted header. |
| 189 QUIC_FLAG(bool, | 186 QUIC_FLAG(bool, |
| 190 FLAGS_quic_reloadable_flag_quic_handle_duplicate_trailers, | 187 FLAGS_quic_reloadable_flag_quic_handle_duplicate_trailers, |
| 191 false) | 188 false) |
| 192 | 189 |
| 193 // Allows QUIC BBR up to twice the previously measured ack aggregation to be | 190 // Allows QUIC BBR up to twice the previously measured ack aggregation to be |
| 194 // added to the CWND as long as bytes_in_flight goes below the target recently. | 191 // added to the CWND as long as bytes_in_flight goes below the target recently. |
| 195 QUIC_FLAG(bool, | 192 QUIC_FLAG(bool, |
| 196 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes2, | 193 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes2, |
| 197 false) | 194 false) |
| OLD | NEW |