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 |