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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 QUIC_FLAG(bool, | 55 QUIC_FLAG(bool, |
56 FLAGS_quic_reloadable_flag_quic_use_cheap_stateless_rejects, | 56 FLAGS_quic_reloadable_flag_quic_use_cheap_stateless_rejects, |
57 true) | 57 true) |
58 | 58 |
59 // If true, QUIC respect HTTP2 SETTINGS frame rather than always close the | 59 // If true, QUIC respect HTTP2 SETTINGS frame rather than always close the |
60 // connection. | 60 // connection. |
61 QUIC_FLAG(bool, | 61 QUIC_FLAG(bool, |
62 FLAGS_quic_reloadable_flag_quic_respect_http2_settings_frame, | 62 FLAGS_quic_reloadable_flag_quic_respect_http2_settings_frame, |
63 true) | 63 true) |
64 | 64 |
65 // If true, re-enables QUIC_VERSION_36. | |
66 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_36_v3, true) | |
67 | |
68 // If true, only open limited number of quic sessions per epoll event. Leave the | 65 // If true, only open limited number of quic sessions per epoll event. Leave the |
69 // rest to next event. | 66 // rest to next event. |
70 QUIC_FLAG(bool, | 67 QUIC_FLAG(bool, |
71 FLAGS_quic_reloadable_flag_quic_limit_num_new_sessions_per_epoll_loop, | 68 FLAGS_quic_reloadable_flag_quic_limit_num_new_sessions_per_epoll_loop, |
72 true) | 69 true) |
73 | 70 |
74 // If true, QUIC server push will enabled by default. | 71 // If true, QUIC server push will enabled by default. |
75 QUIC_FLAG(bool, | 72 QUIC_FLAG(bool, |
76 FLAGS_quic_reloadable_flag_quic_enable_server_push_by_default, | 73 FLAGS_quic_reloadable_flag_quic_enable_server_push_by_default, |
77 true) | 74 true) |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 | 109 |
113 // If true, GFE sends SETTINGS_MAX_HEADER_LIST_SIZE to the client at the | 110 // If true, GFE sends SETTINGS_MAX_HEADER_LIST_SIZE to the client at the |
114 // beginning of a connection. | 111 // beginning of a connection. |
115 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_send_max_header_list_size, true) | 112 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_send_max_header_list_size, true) |
116 | 113 |
117 // If true, fix quantization of CubicBytes while performing convex increases. | 114 // If true, fix quantization of CubicBytes while performing convex increases. |
118 QUIC_FLAG(bool, | 115 QUIC_FLAG(bool, |
119 FLAGS_quic_reloadable_flag_quic_fix_cubic_bytes_quantization, | 116 FLAGS_quic_reloadable_flag_quic_fix_cubic_bytes_quantization, |
120 false) | 117 false) |
121 | 118 |
122 // If true, Makes GFE respect the connection options for initial flow control | |
123 // window larger than 32 KB. | |
124 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_large_ifw_options, true) | |
125 | |
126 // If true, fix Cubic\'s use of kBetaLastMax for n-connection emulation. | 119 // 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) | 120 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_beta_last_max, false) |
128 | 121 |
129 // If true, enable QUIC v37. | |
130 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_37, true) | |
131 | |
132 // If true, disables QUIC v34. | |
133 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_disable_version_34, true) | |
134 | |
135 // If greater than zero, mean RTT variation is multiplied by the specified | 122 // If greater than zero, mean RTT variation is multiplied by the specified |
136 // factor and added to the congestion window limit. | 123 // factor and added to the congestion window limit. |
137 QUIC_FLAG(double, FLAGS_quic_bbr_rtt_variation_weight, 0.0f) | 124 QUIC_FLAG(double, FLAGS_quic_bbr_rtt_variation_weight, 0.0f) |
138 | 125 |
139 // Congestion window gain for QUIC BBR during PROBE_BW phase. | 126 // Congestion window gain for QUIC BBR during PROBE_BW phase. |
140 QUIC_FLAG(double, FLAGS_quic_bbr_cwnd_gain, 2.0f) | 127 QUIC_FLAG(double, FLAGS_quic_bbr_cwnd_gain, 2.0f) |
141 | 128 |
142 // If true, bidi streaming is always enabled in QUIC. | 129 // If true, bidi streaming is always enabled in QUIC. |
143 QUIC_FLAG(bool, | 130 QUIC_FLAG(bool, |
144 FLAGS_quic_reloadable_flag_quic_always_enable_bidi_streaming, | 131 FLAGS_quic_reloadable_flag_quic_always_enable_bidi_streaming, |
145 true) | 132 true) |
146 | 133 |
147 // If true, allows the 1RTT and 2RTT connection options to reduce the time | 134 // If true, allows the 1RTT and 2RTT connection options to reduce the time |
148 // in BBR STARTUP to 1 or 2 RTTs with no bandwidth increase from 3. | 135 // in BBR STARTUP to 1 or 2 RTTs with no bandwidth increase from 3. |
149 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_2_rtt_bbr_startup, false) | 136 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_2_rtt_bbr_startup, true) |
150 | 137 |
151 // If true, do not send or process stop waiting frames in QUIC if the NSTP | 138 // If true, do not send or process stop waiting frames in QUIC if the NSTP |
152 // connection option is provided. | 139 // connection option is provided. |
153 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_stop_waiting_frames, false) | 140 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_stop_waiting_frames, false) |
154 | 141 |
155 // Allows one self address change. | 142 // Allows one self address change. |
156 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_one_address_change, false) | 143 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_allow_one_address_change, false) |
157 | 144 |
158 // If true, no longer send or process the SRBF value in QuicConfig. | |
159 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_no_socket_receive_buffer, false) | |
160 | |
161 // If true, multipath bit is not used in public flag. | 145 // If true, multipath bit is not used in public flag. |
162 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_multipath_bit, false) | 146 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_remove_multipath_bit, false) |
163 | 147 |
164 // Allow QUIC's flow control autotuning to increase the window as | 148 // Allow QUIC's flow control autotuning to increase the window as |
165 // quickly for the first adjustment as in subsequent ones. | 149 // quickly for the first adjustment as in subsequent ones. |
166 QUIC_FLAG(bool, | 150 QUIC_FLAG(bool, |
167 FLAGS_quic_reloadable_flag_quic_flow_control_faster_autotune, | 151 FLAGS_quic_reloadable_flag_quic_flow_control_faster_autotune, |
168 true) | 152 true) |
169 | 153 |
170 // Only consider using the ack spacing in QUIC BBR if 2 packets are acked at | |
171 // once. | |
172 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_ack_spacing2, false) | |
173 | |
174 // If true, QUIC BBR stores a max filtered number of bytes delivered at a rate | 154 // If true, QUIC BBR stores a max filtered number of bytes delivered at a rate |
175 // faster than the sending rate. | 155 // faster than the sending rate. |
176 QUIC_FLAG(bool, | 156 QUIC_FLAG(bool, |
177 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes, | 157 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes, |
178 false) | 158 false) |
179 | 159 |
180 // If true, allow cubic updates on every ack, rather than occasionally limiting | 160 // If true, allow cubic updates on every ack, rather than occasionally limiting |
181 // the frequency to once every 30ms. | 161 // the frequency to once every 30ms. |
182 QUIC_FLAG(bool, | 162 QUIC_FLAG(bool, |
183 FLAGS_quic_reloadable_flag_quic_enable_cubic_per_ack_updates, | 163 FLAGS_quic_reloadable_flag_quic_enable_cubic_per_ack_updates, |
184 false) | 164 false) |
185 | 165 |
186 // Support bandwidth resumption in QUIC BBR. | 166 // Support bandwidth resumption in QUIC BBR. |
187 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_bandwidth_resumption, false) | 167 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_bandwidth_resumption, false) |
188 | 168 |
189 // Add the equivalent number of bytes as 3 TCP TSO segments to QUIC's BBR CWND. | 169 // Add the equivalent number of bytes as 3 TCP TSO segments to QUIC's BBR CWND. |
190 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_add_tso_cwnd, false) | 170 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_add_tso_cwnd, false) |
191 | 171 |
192 // Fix a crash that occurs when a client sends multiple CHLOs close together on | |
193 // the same connection. | |
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 | 172 // If true, enable version 38 which supports new PADDING frame and respects NSTP |
197 // connection option. | 173 // connection option. |
198 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_38, true) | 174 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_38, true) |
199 | 175 |
200 // If true, enable QUIC v39. | 176 // If true, enable QUIC v39. |
201 QUIC_FLAG(bool, FLAGS_quic_enable_version_39, false) | 177 QUIC_FLAG(bool, FLAGS_quic_enable_version_39, false) |
202 | 178 |
203 // If true, on client side, 8-byte connection ID in public header is read and | 179 // If true, on client side, 8-byte connection ID in public header is read and |
204 // written in big endian. | 180 // written in big endian. |
205 QUIC_FLAG(bool, | 181 QUIC_FLAG(bool, |
206 FLAGS_quic_restart_flag_quic_big_endian_connection_id_client, | 182 FLAGS_quic_restart_flag_quic_big_endian_connection_id_client, |
207 false) | 183 false) |
208 | 184 |
209 // If true, on server side, 8-byte connection ID in public header is read and | 185 // If true, on server side, 8-byte connection ID in public header is read and |
210 // written in big endian. | 186 // written in big endian. |
211 QUIC_FLAG(bool, | 187 QUIC_FLAG(bool, |
212 FLAGS_quic_restart_flag_quic_big_endian_connection_id_server, | 188 FLAGS_quic_restart_flag_quic_big_endian_connection_id_server, |
213 false) | 189 false) |
214 | 190 |
215 // Simplify QUIC\'s adaptive time loss detection to measure the necessary | 191 // Simplify QUIC\'s adaptive time loss detection to measure the necessary |
216 // reordering window for every spurious retransmit. | 192 // reordering window for every spurious retransmit. |
217 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_adaptive_time_loss, false) | 193 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_adaptive_time_loss, false) |
| 194 |
| 195 // In QUIC BBR, keep sending at the max bandwidth observed in the previous 2 |
| 196 // RTTs for another SRTT. |
| 197 QUIC_FLAG(bool, |
| 198 FLAGS_quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate, |
| 199 false) |
| 200 |
| 201 // Base CWND on SRTT instead of min_rtt for QUIC BBR. |
| 202 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_base_cwnd_on_srtt, false) |
| 203 |
| 204 // If true, enable random padding of size [1, 256] when response body is |
| 205 // compressed for QUIC version >= 38. |
| 206 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_random_padding, false) |
OLD | NEW |