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

Issue 7029049: Merge 84251, 85083, 85188, 85375. (Closed)

Created:
9 years, 7 months ago by wtc
Modified:
9 years, 7 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr.
Visibility:
Public.

Description

Merge 84251, 85083, 85188, 85375. Add a fallback socket connect() for IPv6. When a hostname has both IPv6 and IPv4 addresses, and the IPv6 address is listed first, we start a timer (300ms) (deliberately chosen to be different from the backup connect job). If the timer fires, that means the IPv6 connect() hasn't completed yet, and we start a second socket connect() where we give it the same AddressList, except we move all IPv6 addresses that are in front of the first IPv4 address to the end. That way, we will use the first IPv4 address. We will race these two connect()s and pass the first one to complete to ConnectJob::set_socket(). Adds 4 new TCP connection latency histograms to assess the new behavior: IPv6 raceable (includes both when it races and doesn't, which are distinguished by whether or not the samples exceed the race timeout of 300ms) IPv6 solo (no IPv4 addresses to race against) IPv4 no race (IPv4 is the first address, so we're not racing) IPv4 wins race (IPv4 raced and won, even though it started behind). BUG=81686 TEST=On Linux, drop ip6 packets via `sudo ip6tables -A OUTPUT -p tcp -j DROP`. Then test against a site with both IPv6 and IPv4 addresses (such as www.ripe.net). It should load without hitting 20s connect() timeouts on the IPv6 addresses. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=85934

Patch Set 1 #

Patch Set 2 : Upload before checkin #

Unified diffs Side-by-side diffs Delta from patch set Stats (+578 lines, -88 lines) Patch
M net/base/address_list.cc View 3 chunks +4 lines, -54 lines 0 comments Download
M net/base/net_util.h View 1 chunk +10 lines, -0 lines 0 comments Download
M net/base/net_util.cc View 2 chunks +53 lines, -0 lines 0 comments Download
M net/socket/transport_client_socket_pool.h View 3 chunks +34 lines, -7 lines 0 comments Download
M net/socket/transport_client_socket_pool.cc View 7 chunks +186 lines, -11 lines 0 comments Download
M net/socket/transport_client_socket_pool_unittest.cc View 14 chunks +291 lines, -16 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
wtc
Please review this CL for merging to the M12 742 branch. I had to fix ...
9 years, 7 months ago (2011-05-19 00:32:30 UTC) #1
willchan no longer on Chromium
9 years, 7 months ago (2011-05-19 01:14:38 UTC) #2
LGTM

Powered by Google App Engine
This is Rietveld 408576698