DescriptionLand Recent QUIC Changes until 05/13/2015
Adds support to the PacketDroppingTestWriter for dropping the first N
packets of a connection. Will be used for testing stateless rejects,
when the initial stateless reject (SREJ) from the server back to the
client gets lost.
Test only and not even used in this CL.
Merge internal change: 93446002
https://codereview.chromium.org/1136553007/
Minor cleanup of obsolete comment and code. No functional change.
Merge internal change: 93441848
https://codereview.chromium.org/1139153003/
Remove the no longer used kPACE connection option. No functional change.
Merge internal change: 93437185
https://codereview.chromium.org/1135253004/
Rename local variable only - consumed_window to available_window.
QuicFlowController::MaybeSendWindowUpdate() - rename counterintuitive
consumed_window.
Merge internal change: 93431527
https://codereview.chromium.org/1145433003/
Protected by FLAGS_enable_quic_stateless_reject_support. Add support
for stateless rejects to the QuicDispatcher code.
QuicServerSession - Added extra setter, which the dispatcher uses to
indicate that session should issue stateless rejects (if supported by
the peer).
QuicDispatcher - Will use stateless rejects if the session map is over
a threshold, configurable via flag. If a stateless reject has been
issued, the dispatcher will close the session silently. It will also
add the connection-id to the time-wait list, indicating that further
packets for the connection-id should be black-holed.
Changes to the end_to_end_tests will be made in a separate CL.
Merge internal change: 93414515
https://codereview.chromium.org/1128103007/
Added support for stateless time-wait entries. Will be used in a
subsequent CL.
Time-wait list entries can now be marked as stateless, which means
that the corresponding connection was closed via stateless reject.
Since all state for that connection id is dropped after the stateless
reject, the time-wait list manager will not respond to incoming
packets for the connection ID with public resets. Instead, it will
black-hole the packets.
Added corresponding tests.
Merge internal change: 93412303
https://codereview.chromium.org/1135113003/
Remove FLAGS_quic_use_optimized_packet_reader now that it's been deployed.
Merge internal change: 93331362
https://codereview.chromium.org/1128933010/
Fixing a bug in the QUIC code where we could create new streams
server-side even once the connection was killed off.
Not creating QUIC streams after disconnect. Not flag protected.
Merge internal change: 92727137
https://codereview.chromium.org/1142543002/
Flag-protected. Add stateless reject support to crypto streams.
Client crypto stream:
The client now sends all connection options on all handshake messages.
(Previously, no options were sent on inchoate hellos). This is so
that the client can indicate support for stateless rejects during the
initial handshake.
If the crypto client stream receives a stateless reject from the
server, it will continue validating and cacheing the proof. It will
abandon the connection with a special error code immediately
thereafter. It will NOT send close messages after a reject, since
there is no state at the server to close. (We may have to change this
when we do stateless by default).
Server crypto stream:
The server now processes connection options speculatively on all
handshake messages. This is so that the server can detect that the
client supports stateless rejects prior to sending the reject itself.
It will only consider the options to be "negotiated", however, prior
to sending an SHLO.
The crypto server stream now also maintains an additional boolean,
indicating whether it should use stateless rejects when rejecting
messages on the stream ("use_stateless_rejects"). If rejecting, it
will only emit a stateless reject if both using stateless rejects and
the client supports it.
Merge internal change: 92677792
https://codereview.chromium.org/1139183002/
Crypto-client config no longer gives stateless reject error.
QuicCryptoClientConfig::ProcessRejection no longer produces an error
when processing a stateless reject. The client can always inspect the
message tag directly to determine that the reject is stateless.
flag-protected.
Merge internal change: 92637704
https://codereview.chromium.org/1145453002/
Remove FLAGS_quic_limit_max_cwnd_to_receive_buffer.
Merge internal change: 92419361
https://codereview.chromium.org/1141743004/
R=rch@chromium.org
Committed: https://crrev.com/a2ea9160ddf76a700e0667a0ed07a96c40fd7450
Cr-Commit-Position: refs/heads/master@{#330162}
Patch Set 1 #Patch Set 2 : compile error fixes #Messages
Total messages: 6 (1 generated)
|