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

Issue 1006001: Refine IPv6 probe to require that the client has an IPv6 address on an interf... (Closed)

Created:
10 years, 9 months ago by jar (doing other things)
Modified:
9 years, 7 months ago
Reviewers:
eroman, wtc
CC:
chromium-reviews, darin-cc_chromium.org, ben+cc_chromium.org
Visibility:
Public.

Description

Refine IPv6 probe to require that the client has an IPv6 address on an interface This currently only works on Posix, not windows. Network changes are monitored, and the test is repeated each time interfaces change (which is a subset of any IP addresses changing). The test performed is performed on a worker thread, so latency should not be an issue (even if we created much slower tests). The current test appears to takes in the raneg of 50-100ms, and probably (under the covers) does some reading from files). BUG=25680 BUG=12754 r=wtc,eroman Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=41743

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 16

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 11

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -48 lines) Patch
M chrome/browser/io_thread.cc View 1 2 3 4 5 1 chunk +32 lines, -27 lines 0 comments Download
M net/base/host_resolver_impl.h View 1 2 3 4 5 6 7 4 chunks +21 lines, -3 lines 0 comments Download
M net/base/host_resolver_impl.cc View 1 2 3 4 5 6 7 7 chunks +130 lines, -2 lines 0 comments Download
M net/base/net_util.cc View 1 2 3 5 chunks +54 lines, -16 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
jar (doing other things)
10 years, 9 months ago (2010-03-15 22:14:28 UTC) #1
eroman
LGTM, just some nits. (Note I didn't review net_util thoroughly, since I assumed it was ...
10 years, 9 months ago (2010-03-16 01:06:14 UTC) #2
jar (doing other things)
Almost all changes made per eroman's suggestions. I can change the name of the method ...
10 years, 9 months ago (2010-03-16 04:15:25 UTC) #3
eroman
LGTM http://codereview.chromium.org/1006001/diff/5002/12001 File net/base/host_resolver_impl.cc (right): http://codereview.chromium.org/1006001/diff/5002/12001#newcode490 net/base/host_resolver_impl.cc:490: return !MessageLoop::current() || origin_loop_ == MessageLoop::current(); On 2010/03/16 ...
10 years, 9 months ago (2010-03-16 04:32:31 UTC) #4
wtc
LGTM. Just some nits below. http://codereview.chromium.org/1006001/diff/11002/23001 File net/base/host_resolver_impl.cc (right): http://codereview.chromium.org/1006001/diff/11002/23001#newcode432 net/base/host_resolver_impl.cc:432: const bool IS_SLOW = ...
10 years, 9 months ago (2010-03-16 19:13:15 UTC) #5
jar (doing other things)
10 years, 9 months ago (2010-03-16 22:22:47 UTC) #6
Changes made per wtc's comment (responded to below) will be checked in with CL
http://codereview.chromium.org/1057001

http://codereview.chromium.org/1006001/diff/11002/23001
File net/base/host_resolver_impl.cc (right):

http://codereview.chromium.org/1006001/diff/11002/23001#newcode432
net/base/host_resolver_impl.cc:432: const bool IS_SLOW = true;
On 2010/03/16 19:13:15, wtc wrote:
> Nit: please follow the Style Guide's naming convention for
> constants.  This should be named kIsSlow.

Done.

http://codereview.chromium.org/1006001/diff/11002/23001#newcode1101
net/base/host_resolver_impl.cc:1101: LOG(INFO) << "IPv6Probe forced
AddressFamily setting to "
On 2010/03/16 19:13:15, wtc wrote:
> Fix the indentation of this LOG(INFO) statement.

Done.

http://codereview.chromium.org/1006001/diff/11002/23001#newcode1106
net/base/host_resolver_impl.cc:1106: // Drop reference since the job has called
us back.
On 2010/03/16 19:13:15, wtc wrote:
> You just need to set ipv6_probe_job_ to NULL here.

If you or Eroman insist, I'd change this (and/or the method name).  IMO, it is
better to centralize the dancel and decref functionality, and only write it once
(correctly), rather than doing subtle items like assigning to null to achieve
the decref.  If you wanted, I could also drop this optimization, as all that
would happen is the ProbeTask would be held until shutdown, but it is not a big
object anyway.

http://codereview.chromium.org/1006001/diff/11002/23002
File net/base/net_util.cc (right):

http://codereview.chromium.org/1006001/diff/11002/23002#newcode1581
net/base/net_util.cc:1581: IPv6SupportResults(IPV6_CANNOT_CREATE_SOCKETS);
On 2010/03/16 19:13:15, wtc wrote:
> It's a little confusing that you're not using
> IPV6_CAN_CREATE_SOCKETS on OS_POSIX now.

On posix, we have a more refined set of error messages (courtesy of the
additional probing).  I think it is common to see different error messages
appear on different platforms, especially when different OS support is present.

http://codereview.chromium.org/1006001/diff/11002/23002#newcode1609
net/base/net_util.cc:1609: reinterpret_cast<struct sockaddr_in6*>(addr);
On 2010/03/16 19:13:15, wtc wrote:
> Nit: indent by 4.

Done.

Powered by Google App Engine
This is Rietveld 408576698