Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Issue 279453004: Allows QUIC connections to remain established even though the peer's (Closed)

Created:
6 years, 7 months ago by ramant (doing other things)
Modified:
6 years, 7 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, wtc
Visibility:
Public.

Description

Allows QUIC connections to remain established even though the peer's port has changed. Should make things a bit better for clients experiencing NAT rebinding while talking QUIC to internal server. QUIC connection port migration. Protected behind FLAGS_quic_allow_port_migration Merge internal change: 66523001 R=rch@chromium.org

Patch Set 1 #

Total comments: 12
Unified diffs Side-by-side diffs Delta from patch set Stats (+159 lines, -21 lines) Patch
M net/quic/quic_connection.h View 3 chunks +22 lines, -3 lines 3 comments Download
M net/quic/quic_connection.cc View 5 chunks +47 lines, -15 lines 6 comments Download
M net/quic/quic_flags.h View 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/quic_flags.cc View 1 chunk +4 lines, -0 lines 3 comments Download
M net/tools/quic/end_to_end_test.cc View 4 chunks +59 lines, -1 line 0 comments Download
M net/tools/quic/quic_client.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/tools/quic/quic_client.cc View 2 chunks +10 lines, -2 lines 0 comments Download
M net/tools/quic/test_tools/quic_client_peer.h View 1 chunk +2 lines, -0 lines 0 comments Download
M net/tools/quic/test_tools/quic_client_peer.cc View 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
ramant (doing other things)
6 years, 7 months ago (2014-05-12 23:36:24 UTC) #1
Ryan Hamilton
lgtm
6 years, 7 months ago (2014-05-12 23:38:44 UTC) #2
wtc
Patch set 1 LGTM. Note that a comment and an error message seem wrong. Please ...
6 years, 7 months ago (2014-05-13 16:37:15 UTC) #3
ramant (doing other things)
On 2014/05/13 16:37:15, wtc wrote: > Patch set 1 LGTM. Note that a comment and ...
6 years, 7 months ago (2014-05-13 21:22:58 UTC) #4
Robbie Shade
https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc File net/quic/quic_connection.cc (right): https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc#newcode1213 net/quic/quic_connection.cc:1213: "IP or port migration is not yet a supported ...
6 years, 7 months ago (2014-05-13 21:31:21 UTC) #5
wtc
Robbie: thank you for the reply. https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc File net/quic/quic_connection.cc (right): https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc#newcode1213 net/quic/quic_connection.cc:1213: "IP or port ...
6 years, 7 months ago (2014-05-13 23:20:41 UTC) #6
Robbie Shade
https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc File net/quic/quic_connection.cc (right): https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc#newcode1213 net/quic/quic_connection.cc:1213: "IP or port migration is not yet a supported ...
6 years, 7 months ago (2014-05-13 23:30:11 UTC) #7
ramant (doing other things)
6 years, 7 months ago (2014-05-14 05:30:23 UTC) #8
Message was sent while issue was closed.
Made the changes in https://codereview.chromium.org/286693003/

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc
File net/quic/quic_connection.cc (right):

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc#...
net/quic/quic_connection.cc:1213: "IP or port migration is not yet a supported
feature");
On 2014/05/13 23:30:11, Robbie Shade wrote:
> > > "Neither IP address migration, nor server port migration are supported."
> > 
> > This sounds good. Did you mean "server port" or "self port"?
> 
> Yep "self port" is correct, although in practice "server port" is also right
as
> the only expected use case for this is a client behind a NAT.

Done.


> 
> > Also, do you think we should use a different error message for the
> > !FLAGS_quic_allow_port_migration && peer_port_changed_) case?
> 
> Not worth changing I don't think - the flag will be removed in a few weeks
once
> it's been verified as safe.

Acknowledged.

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.cc#...
net/quic/quic_connection.cc:1213: "IP or port migration is not yet a supported
feature");
On 2014/05/13 21:31:21, Robbie Shade wrote:
> How about:
> 
> "Neither IP address migration, nor server port migration are supported."

Made this change in
https://codereview.chromium.org/286693003/diff/1/net/quic/quic_connection.cc

Done.

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.h
File net/quic/quic_connection.h (right):

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_connection.h#n...
net/quic/quic_connection.h:757: // If true, and the IP has not changed, then we
can migrate the connection.
On 2014/05/13 21:31:21, Robbie Shade wrote:
> On 2014/05/13 16:37:15, wtc wrote:
> > 
> > IMPORTANT: this comment doesn't match the code in
> > QuicConnection::ProcessValidatedPacket(). To match the code, this comment
> should
> > say:
> > 
> >   We do not support connection migration when the self port changed.
> 
> 
> Correct - this comment is wrong, make the change wtc suggests.

Made this change in
https://codereview.chromium.org/286693003/diff/1/net/quic/quic_connection.h

Done.

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_flags.cc
File net/quic/quic_flags.cc (right):

https://codereview.chromium.org/279453004/diff/1/net/quic/quic_flags.cc#newco...
net/quic/quic_flags.cc:40: // If true, allow port migration of established QUIC
connections.
On 2014/05/13 21:31:21, Robbie Shade wrote:
> On 2014/05/13 16:37:15, wtc wrote:
> > 
> > Nit: it would be nice to clarify whether we only allow *peer* port
migration.
> 
> Yes, this should be changed to:
> 
> "If true, allow peer port migration of established QUIC connections."

Made this change in
https://codereview.chromium.org/286693003/diff/1/net/quic/quic_flags.cc

Done.

Powered by Google App Engine
This is Rietveld 408576698