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 25 matching lines...) Expand all Loading... |
36 QUIC_FLAG(bool, FLAGS_quic_enable_multipath, false) | 36 QUIC_FLAG(bool, FLAGS_quic_enable_multipath, false) |
37 | 37 |
38 // If true, require handshake confirmation for QUIC connections, functionally | 38 // If true, require handshake confirmation for QUIC connections, functionally |
39 // disabling 0-rtt handshakes. | 39 // disabling 0-rtt handshakes. |
40 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. | 40 // TODO(rtenneti): Enable this flag after CryptoServerTest's are fixed. |
41 QUIC_FLAG(bool, FLAGS_quic_require_handshake_confirmation, false) | 41 QUIC_FLAG(bool, FLAGS_quic_require_handshake_confirmation, false) |
42 | 42 |
43 // If true, disable pacing in QUIC. | 43 // If true, disable pacing in QUIC. |
44 QUIC_FLAG(bool, FLAGS_quic_disable_pacing_for_perf_tests, false) | 44 QUIC_FLAG(bool, FLAGS_quic_disable_pacing_for_perf_tests, false) |
45 | 45 |
46 // If true, QUIC connections can do bandwidth resumption with an initial window | |
47 // of < 10 packets. | |
48 QUIC_FLAG(bool, FLAGS_quic_no_lower_bw_resumption_limit, true) | |
49 | |
50 // If true, QUIC public reset packets will have the \"pre-v33\" public header | 46 // If true, QUIC public reset packets will have the \"pre-v33\" public header |
51 // flags. | 47 // flags. |
52 QUIC_FLAG(bool, FLAGS_quic_use_old_public_reset_packets, true) | 48 QUIC_FLAG(bool, FLAGS_quic_use_old_public_reset_packets, true) |
53 | 49 |
54 // If true, QUIC will use cheap stateless rejects without creating a full | 50 // If true, QUIC will use cheap stateless rejects without creating a full |
55 // connection. | 51 // connection. |
56 QUIC_FLAG(bool, FLAGS_quic_use_cheap_stateless_rejects, true) | 52 QUIC_FLAG(bool, FLAGS_quic_use_cheap_stateless_rejects, true) |
57 | 53 |
58 // If true, QUIC respect HTTP2 SETTINGS frame rather than always close the | 54 // If true, QUIC respect HTTP2 SETTINGS frame rather than always close the |
59 // connection. | 55 // connection. |
60 QUIC_FLAG(bool, FLAGS_quic_respect_http2_settings_frame, true) | 56 QUIC_FLAG(bool, FLAGS_quic_respect_http2_settings_frame, true) |
61 | 57 |
62 // If true, enables QUIC_VERSION_35. | 58 // If true, enables QUIC_VERSION_35. |
63 QUIC_FLAG(bool, FLAGS_quic_enable_version_35, true) | 59 QUIC_FLAG(bool, FLAGS_quic_enable_version_35, true) |
64 | 60 |
65 // If true, re-enables QUIC_VERSION_36. | 61 // If true, re-enables QUIC_VERSION_36. |
66 QUIC_FLAG(bool, FLAGS_quic_enable_version_36_v2, true) | 62 QUIC_FLAG(bool, FLAGS_quic_enable_version_36_v2, true) |
67 | 63 |
68 // If true, use async codepaths to invoke ProofSource::GetProof. | 64 // If true, use async codepaths to invoke ProofSource::GetProof. |
69 QUIC_FLAG(bool, FLAGS_enable_async_get_proof, false) | 65 QUIC_FLAG(bool, FLAGS_enable_async_get_proof, false) |
70 | 66 |
71 // If true, requires handshake confirmations for all QUIC handshakes with | 67 // If true, requires handshake confirmations for all QUIC handshakes with |
72 // versions less than 33. | 68 // versions less than 33. |
73 QUIC_FLAG(bool, FLAGS_quic_require_handshake_confirmation_pre33, false) | 69 QUIC_FLAG(bool, FLAGS_quic_require_handshake_confirmation_pre33, false) |
74 | 70 |
75 // If true, defer creation of new connection till its CHLO arrives. | 71 // If true, defer creation of new connection till its CHLO arrives. |
76 QUIC_FLAG(bool, FLAGS_quic_buffer_packet_till_chlo, true) | 72 QUIC_FLAG(bool, FLAGS_quic_buffer_packet_till_chlo, true) |
77 | 73 |
78 // If true, disables QUIC version less than 32. | |
79 QUIC_FLAG(bool, FLAGS_quic_disable_pre_32, true) | |
80 | |
81 // If true, QUIC will enforce the MTU limit for connections that may require a | |
82 // small MTU. | |
83 QUIC_FLAG(bool, FLAGS_quic_enforce_mtu_limit, false) | |
84 | |
85 // Disable MTU probing if MTU probe causes ERR_MSG_TOO_BIG instead of aborting | 74 // Disable MTU probing if MTU probe causes ERR_MSG_TOO_BIG instead of aborting |
86 // the connection. | 75 // the connection. |
87 QUIC_FLAG(bool, FLAGS_graceful_emsgsize_on_mtu_probe, true) | 76 QUIC_FLAG(bool, FLAGS_graceful_emsgsize_on_mtu_probe, true) |
88 | 77 |
89 // If true, only open limited number of quic sessions per epoll event. Leave the | 78 // If true, only open limited number of quic sessions per epoll event. Leave the |
90 // rest to next event. This flag can be turned on only if | 79 // rest to next event. This flag can be turned on only if |
91 // --quic_buffer_packet_till_chlo is true. | 80 // --quic_buffer_packet_till_chlo is true. |
92 QUIC_FLAG(bool, FLAGS_quic_limit_num_new_sessions_per_epoll_loop, true) | 81 QUIC_FLAG(bool, FLAGS_quic_limit_num_new_sessions_per_epoll_loop, true) |
93 | 82 |
94 // If true, lazy allocate and early release memeory used in | 83 // If true, lazy allocate and early release memeory used in |
95 // QuicStreamSequencerBuffer to buffer incoming data. | 84 // QuicStreamSequencerBuffer to buffer incoming data. |
96 QUIC_FLAG(bool, FLAGS_quic_reduce_sequencer_buffer_memory_life_time, true) | 85 QUIC_FLAG(bool, FLAGS_quic_reduce_sequencer_buffer_memory_life_time, true) |
97 | 86 |
98 // If true, allow server address change if it is because of mapped ipv4 address. | 87 // If true, allow server address change if it is because of mapped ipv4 address. |
99 QUIC_FLAG(bool, FLAGS_quic_allow_server_address_change_for_mapped_ipv4, true) | 88 QUIC_FLAG(bool, FLAGS_quic_allow_server_address_change_for_mapped_ipv4, true) |
100 | 89 |
101 // If true, disables QUIC version less than 34. | 90 // If true, disables QUIC version less than 34. |
102 QUIC_FLAG(bool, FLAGS_quic_disable_pre_34, false) | 91 QUIC_FLAG(bool, FLAGS_quic_disable_pre_34, false) |
103 | 92 |
104 // When true, decode the packet number from the largest received packet, rather | 93 // When true, decode the packet number from the largest received packet, rather |
105 // than the most recent. | 94 // than the most recent. |
106 QUIC_FLAG(bool, FLAGS_quic_packet_numbers_largest_received, true) | 95 QUIC_FLAG(bool, FLAGS_quic_packet_numbers_largest_received, true) |
107 | 96 |
108 // Only close the connection on the 5th RTO client side when the 5RTO option | 97 // Only close the connection on the 5th RTO client side when the 5RTO option |
109 // is enabled. | 98 // is enabled. |
110 QUIC_FLAG(bool, FLAGS_quic_only_5rto_client_side, true) | 99 QUIC_FLAG(bool, FLAGS_quic_only_5rto_client_side, true) |
111 | 100 |
112 // If true, QUIC server push will enabled by default. | 101 // If true, QUIC server push will enabled by default. |
113 QUIC_FLAG(bool, FLAGS_quic_enable_server_push_by_default, false) | 102 QUIC_FLAG(bool, FLAGS_quic_enable_server_push_by_default, true) |
114 | 103 |
115 // Only inform the QuicSentPacketManager of packets that were sent, | 104 // Only inform the QuicSentPacketManager of packets that were sent, |
116 // not those that we tried to send. | 105 // not those that we tried to send. |
117 QUIC_FLAG(bool, FLAGS_quic_only_track_sent_packets, false) | 106 QUIC_FLAG(bool, FLAGS_quic_only_track_sent_packets, true) |
118 | 107 |
119 // If true, connection is closed when packet generator is trying to | 108 // If true, connection is closed when packet generator is trying to |
120 // add a frame which alone cannot fit into a packet. | 109 // add a frame which alone cannot fit into a packet. |
121 QUIC_FLAG(bool, FLAGS_quic_close_connection_on_huge_frames, true) | 110 QUIC_FLAG(bool, FLAGS_quic_close_connection_on_huge_frames, true) |
122 | 111 |
123 // As the Linux kernel does, limit QUIC's Cubic congestion control to | 112 // As the Linux kernel does, limit QUIC's Cubic congestion control to |
124 // only increase the CWND 1 packet for every two packets acked. | 113 // only increase the CWND 1 packet for every two packets acked. |
125 QUIC_FLAG(bool, FLAGS_quic_limit_cubic_cwnd_increase, true) | 114 QUIC_FLAG(bool, FLAGS_quic_limit_cubic_cwnd_increase, true) |
126 | 115 |
127 // If true, export reject reasons for all rejects, i.e., rejects, | 116 // If true, export reject reasons for all rejects, i.e., rejects, |
(...skipping 19 matching lines...) Expand all Loading... |
147 QUIC_FLAG(bool, FLAGS_quic_conservative_handshake_retransmits, true) | 136 QUIC_FLAG(bool, FLAGS_quic_conservative_handshake_retransmits, true) |
148 | 137 |
149 // If true, buffer packets while parsing public headers instead of parsing down | 138 // If true, buffer packets while parsing public headers instead of parsing down |
150 // if CHLO is already buffered. | 139 // if CHLO is already buffered. |
151 QUIC_FLAG(bool, FLAGS_quic_buffer_packets_after_chlo, false) | 140 QUIC_FLAG(bool, FLAGS_quic_buffer_packets_after_chlo, false) |
152 | 141 |
153 // Previously QUIC didn't register a packet as received until it was fully | 142 // Previously QUIC didn't register a packet as received until it was fully |
154 // processed, but now that flow control is implemented, it can be received once | 143 // processed, but now that flow control is implemented, it can be received once |
155 // decrypted. | 144 // decrypted. |
156 QUIC_FLAG(bool, FLAGS_quic_receive_packet_once_decrypted, false) | 145 QUIC_FLAG(bool, FLAGS_quic_receive_packet_once_decrypted, false) |
| 146 |
| 147 // If true, enable the Lazy FACK style loss detection in QUIC. |
| 148 QUIC_FLAG(bool, FLAGS_quic_enable_lazy_fack, true) |
| 149 |
| 150 // If true, do not override a connection in global map if exists. Only create |
| 151 // QUIC session if it is successfully inserted to the global map. Toss the |
| 152 // packet if insertion fails. |
| 153 QUIC_FLAG(bool, FLAGS_quic_create_session_after_insertion, false) |
| 154 |
| 155 // If true, rejected packet number is removed from public reset packet. |
| 156 QUIC_FLAG(bool, FLAGS_quic_remove_packet_number_from_public_reset, false) |
OLD | NEW |