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 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC | 10 // If true, QUIC BBR congestion control may be enabled via Finch and/or via QUIC |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 // QUIC session if it is successfully inserted to the global map. Toss the | 86 // QUIC session if it is successfully inserted to the global map. Toss the |
87 // packet if insertion fails. | 87 // packet if insertion fails. |
88 QUIC_FLAG(bool, | 88 QUIC_FLAG(bool, |
89 FLAGS_quic_reloadable_flag_quic_create_session_after_insertion, | 89 FLAGS_quic_reloadable_flag_quic_create_session_after_insertion, |
90 false) | 90 false) |
91 | 91 |
92 // If true, rejected packet number is removed from public reset packet. | 92 // If true, rejected packet number is removed from public reset packet. |
93 QUIC_FLAG( | 93 QUIC_FLAG( |
94 bool, | 94 bool, |
95 FLAGS_quic_reloadable_flag_quic_remove_packet_number_from_public_reset, | 95 FLAGS_quic_reloadable_flag_quic_remove_packet_number_from_public_reset, |
96 false) | 96 true) |
97 | 97 |
98 // If true, v33 QUIC client uses 1 bit to specify 8-byte connection id in | 98 // If true, v33 QUIC client uses 1 bit to specify 8-byte connection id in |
99 // public flag. | 99 // public flag. |
100 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_v33_hacks2, false) | 100 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_v33_hacks2, false) |
101 | 101 |
102 // Enable QUIC force HOL blocking experiment. | 102 // Enable QUIC force HOL blocking experiment. |
103 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_force_hol_blocking, true) | 103 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_force_hol_blocking, true) |
104 | 104 |
105 // If true, allows packets to be buffered in anticipation of a future CHLO, and | 105 // If true, allows packets to be buffered in anticipation of a future CHLO, and |
106 // allow CHLO packets to be buffered until next iteration of the event loop. | 106 // allow CHLO packets to be buffered until next iteration of the event loop. |
(...skipping 18 matching lines...) Expand all Loading... |
125 | 125 |
126 // If true, fix Cubic\'s use of kBetaLastMax for n-connection emulation. | 126 // If true, fix Cubic\'s use of kBetaLastMax for n-connection emulation. |
127 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_beta_last_max, false) | 127 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_beta_last_max, false) |
128 | 128 |
129 // If true, enable QUIC v37. | 129 // If true, enable QUIC v37. |
130 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_37, true) | 130 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_37, true) |
131 | 131 |
132 // If true, disables QUIC v34. | 132 // If true, disables QUIC v34. |
133 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_disable_version_34, true) | 133 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_disable_version_34, true) |
134 | 134 |
135 // If true, enable quic version 38 | |
136 QUIC_FLAG(bool, FLAGS_quic_enable_version_38, false) | |
137 | |
138 // When true, ensures the session's flow control window is always at least 1.5x | |
139 // larger than the largest stream flow control window. | |
140 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_flow_control_invariant, true) | |
141 | |
142 // If greater than zero, mean RTT variation is multiplied by the specified | 135 // If greater than zero, mean RTT variation is multiplied by the specified |
143 // factor and added to the congestion window limit. | 136 // factor and added to the congestion window limit. |
144 QUIC_FLAG(double, FLAGS_quic_bbr_rtt_variation_weight, 0.0f) | 137 QUIC_FLAG(double, FLAGS_quic_bbr_rtt_variation_weight, 0.0f) |
145 | 138 |
146 // Congestion window gain for QUIC BBR during PROBE_BW phase. | 139 // Congestion window gain for QUIC BBR during PROBE_BW phase. |
147 QUIC_FLAG(double, FLAGS_quic_bbr_cwnd_gain, 2.0f) | 140 QUIC_FLAG(double, FLAGS_quic_bbr_cwnd_gain, 2.0f) |
148 | 141 |
149 // If true, bidi streaming is always enabled in QUIC. | 142 // If true, bidi streaming is always enabled in QUIC. |
150 QUIC_FLAG(bool, | 143 QUIC_FLAG(bool, |
151 FLAGS_quic_reloadable_flag_quic_always_enable_bidi_streaming, | 144 FLAGS_quic_reloadable_flag_quic_always_enable_bidi_streaming, |
152 false) | 145 true) |
153 | 146 |
154 // If true, allows the 1RTT and 2RTT connection options to reduce the time | 147 // If true, allows the 1RTT and 2RTT connection options to reduce the time |
155 // in BBR STARTUP to 1 or 2 RTTs with no bandwidth increase from 3. | 148 // in BBR STARTUP to 1 or 2 RTTs with no bandwidth increase from 3. |
156 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_2_rtt_bbr_startup, false) | 149 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_2_rtt_bbr_startup, false) |
157 | 150 |
158 // If true, do not send or process stop waiting frames in QUIC if the NSTP | 151 // If true, do not send or process stop waiting frames in QUIC if the NSTP |
159 // connection option is provided. | 152 // connection option is provided. |
160 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_stop_waiting_frames, false) | 153 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_stop_waiting_frames, false) |
161 | 154 |
162 // Allows one self address change. | 155 // Allows one self address change. |
163 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_one_address_change, false) | 156 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_one_address_change, false) |
164 | 157 |
165 // If true, no longer send or process the SRBF value in QuicConfig. | 158 // If true, no longer send or process the SRBF value in QuicConfig. |
166 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_socket_receive_buffer, false) | 159 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_socket_receive_buffer, false) |
167 | 160 |
168 // If true, multipath bit is not used in public flag. | 161 // If true, multipath bit is not used in public flag. |
169 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_multipath_bit, false) | 162 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_multipath_bit, false) |
170 | 163 |
171 // Allow QUIC's flow control autotuning to increase the window as | 164 // Allow QUIC's flow control autotuning to increase the window as |
172 // quickly for the first adjustment as in subsequent ones. | 165 // quickly for the first adjustment as in subsequent ones. |
173 QUIC_FLAG(bool, | 166 QUIC_FLAG(bool, |
174 FLAGS_quic_reloadable_flag_quic_flow_control_faster_autotune, | 167 FLAGS_quic_reloadable_flag_quic_flow_control_faster_autotune, |
175 false) | 168 true) |
176 | 169 |
177 // Only consider using the ack spacing in QUIC BBR if 2 packets are acked at | 170 // Only consider using the ack spacing in QUIC BBR if 2 packets are acked at |
178 // once. | 171 // once. |
179 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_ack_spacing2, false) | 172 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_ack_spacing2, false) |
180 | 173 |
181 // If true, 8-byte connection ID in public header is read and written in big | |
182 // endian. | |
183 QUIC_FLAG(bool, FLAGS_quic_restart_flag_quic_big_endian_connection_id, false) | |
184 | |
185 // If true, QUIC BBR stores a max filtered number of bytes delivered at a rate | 174 // If true, QUIC BBR stores a max filtered number of bytes delivered at a rate |
186 // faster than the sending rate. | 175 // faster than the sending rate. |
187 QUIC_FLAG(bool, | 176 QUIC_FLAG(bool, |
188 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes, | 177 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes, |
189 false) | 178 false) |
190 | 179 |
191 // If true, allow cubic updates on every ack, rather than occasionally limiting | 180 // If true, allow cubic updates on every ack, rather than occasionally limiting |
192 // the frequency to once every 30ms. | 181 // the frequency to once every 30ms. |
193 QUIC_FLAG(bool, | 182 QUIC_FLAG(bool, |
194 FLAGS_quic_reloadable_flag_quic_enable_cubic_per_ack_updates, | 183 FLAGS_quic_reloadable_flag_quic_enable_cubic_per_ack_updates, |
195 false) | 184 false) |
196 | 185 |
197 // Support bandwidth resumption in QUIC BBR. | 186 // Support bandwidth resumption in QUIC BBR. |
198 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_bandwidth_resumption, false) | 187 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_bandwidth_resumption, false) |
199 | 188 |
200 // Add the equivalent number of bytes as 3 TCP TSO segments to QUIC's BBR CWND. | 189 // Add the equivalent number of bytes as 3 TCP TSO segments to QUIC's BBR CWND. |
201 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_add_tso_cwnd, false) | 190 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_add_tso_cwnd, false) |
202 | 191 |
203 // Fix a crash that occurs when a client sends multiple CHLOs close together on | 192 // Fix a crash that occurs when a client sends multiple CHLOs close together on |
204 // the same connection. | 193 // the same connection. |
205 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_fix_quic_callback_crash, true) | 194 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_fix_quic_callback_crash, true) |
| 195 |
| 196 // If true, enable version 38 which supports new PADDING frame and respects NSTP |
| 197 // connection option. |
| 198 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_38, false) |
| 199 |
| 200 // If true, enable QUIC v39. |
| 201 QUIC_FLAG(bool, FLAGS_quic_enable_version_39, false) |
| 202 |
| 203 // If true, on client side, 8-byte connection ID in public header is read and |
| 204 // written in big endian. |
| 205 QUIC_FLAG(bool, |
| 206 FLAGS_quic_restart_flag_quic_big_endian_connection_id_client, |
| 207 false) |
| 208 |
| 209 // If true, on server side, 8-byte connection ID in public header is read and |
| 210 // written in big endian. |
| 211 QUIC_FLAG(bool, |
| 212 FLAGS_quic_restart_flag_quic_big_endian_connection_id_server, |
| 213 false) |
| 214 |
| 215 // Simplify QUIC\'s adaptive time loss detection to measure the necessary |
| 216 // reordering window for every spurious retransmit. |
| 217 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_adaptive_time_loss, false) |
OLD | NEW |