| 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 |