Default enable WebRTC-IPv6NetworkResolutionFixes Fully launched on mobile and approved for chrome launch. Removed tests for feature enablement with field trial. Bug: webrtc:14334 Change-Id: I7ca7183ff618835fef8c820cfd52863e1c7fa25e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301163 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Jonas Oreland <jonaso@webrtc.org> Commit-Queue: Sameer Vijaykar <samvi@google.com> Cr-Commit-Position: refs/heads/main@{#39879}
diff --git a/p2p/base/port_unittest.cc b/p2p/base/port_unittest.cc index 3a00216..d31f770 100644 --- a/p2p/base/port_unittest.cc +++ b/p2p/base/port_unittest.cc
@@ -545,12 +545,11 @@ std::unique_ptr<UDPPort> CreateUdpPortMultipleAddrs( const SocketAddress& global_addr, const SocketAddress& link_local_addr, - PacketSocketFactory* socket_factory, - const webrtc::test::ScopedKeyValueConfig& field_trials) { + PacketSocketFactory* socket_factory) { auto port = UDPPort::Create( &main_, socket_factory, - MakeNetworkMultipleAddrs(global_addr, link_local_addr, &field_trials), - 0, 0, username_, password_, true, absl::nullopt, &field_trials); + MakeNetworkMultipleAddrs(global_addr, link_local_addr, &field_trials_), + 0, 0, username_, password_, true, absl::nullopt, &field_trials_); port->SetIceTiebreaker(kTiebreakerDefault); return port; } @@ -1770,9 +1769,6 @@ } TEST_F(PortTest, TestUdpMultipleAddressesV6CrossTypePorts) { - webrtc::test::ScopedKeyValueConfig field_trials( - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,PreferGlobalIPv6Address:true/"); FakePacketSocketFactory factory; std::unique_ptr<Port> ports[5]; SocketAddress addresses[5] = { @@ -1782,8 +1778,8 @@ for (int i = 0; i < 5; i++) { FakeAsyncPacketSocket* socket = new FakeAsyncPacketSocket(); factory.set_next_udp_socket(socket); - ports[i] = CreateUdpPortMultipleAddrs(addresses[i], kLinkLocalIPv6Addr, - &factory, field_trials); + ports[i] = + CreateUdpPortMultipleAddrs(addresses[i], kLinkLocalIPv6Addr, &factory); ports[i]->SetIceTiebreaker(kTiebreakerDefault); socket->set_state(AsyncPacketSocket::STATE_BINDING); socket->SignalAddressReady(socket, addresses[i]);
diff --git a/p2p/base/stun_port.cc b/p2p/base/stun_port.cc index 9fd39da..e00cef2 100644 --- a/p2p/base/stun_port.cc +++ b/p2p/base/stun_port.cc
@@ -32,19 +32,8 @@ namespace { bool ResolveStunHostnameForFamily(const webrtc::FieldTrialsView& field_trials) { - // Bug fix for STUN hostname resolution on IPv6. - // Field trial key reserved in bugs.webrtc.org/14334 - static constexpr char field_trial_name[] = - "WebRTC-IPv6NetworkResolutionFixes"; - if (!field_trials.IsEnabled(field_trial_name)) { - return false; - } - - webrtc::FieldTrialParameter<bool> resolve_stun_hostname_for_family( - "ResolveStunHostnameForFamily", /*default_value=*/false); - webrtc::ParseFieldTrial({&resolve_stun_hostname_for_family}, - field_trials.Lookup(field_trial_name)); - return resolve_stun_hostname_for_family; + // TODO(bugs.webrtc.org/14334) cleanup + return true; } } // namespace
diff --git a/p2p/base/stun_port_unittest.cc b/p2p/base/stun_port_unittest.cc index 3d56636..def4951 100644 --- a/p2p/base/stun_port_unittest.cc +++ b/p2p/base/stun_port_unittest.cc
@@ -317,8 +317,8 @@ SetDnsResolverExpectations( [](webrtc::MockAsyncDnsResolver* resolver, webrtc::MockAsyncDnsResolverResult* resolver_result) { - EXPECT_CALL(*resolver, Start(kValidHostnameAddr, _)) - .WillOnce(InvokeArgument<1>()); + EXPECT_CALL(*resolver, Start(kValidHostnameAddr, /*family=*/AF_INET, _)) + .WillOnce(InvokeArgument<2>()); EXPECT_CALL(*resolver, result) .WillRepeatedly(ReturnPointee(resolver_result)); EXPECT_CALL(*resolver_result, GetError).WillOnce(Return(0)); @@ -666,84 +666,6 @@ SetDnsResolverExpectations( [](webrtc::MockAsyncDnsResolver* resolver, webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start without family arg. - EXPECT_CALL(*resolver, Start(kValidHostnameAddr, _)) - .WillOnce(InvokeArgument<1>()); - EXPECT_CALL(*resolver, result) - .WillRepeatedly(ReturnPointee(resolver_result)); - EXPECT_CALL(*resolver_result, GetError).WillOnce(Return(0)); - EXPECT_CALL(*resolver_result, GetResolvedAddress(AF_INET6, _)) - .WillOnce(DoAll(SetArgPointee<1>(SocketAddress("::1", 5000)), - Return(true))); - }); - CreateStunPort(kValidHostnameAddr); - PrepareAddress(); - EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock); - ASSERT_EQ(1U, port()->Candidates().size()); - EXPECT_TRUE(kIPv6LocalAddr.EqualIPs(port()->Candidates()[0].address())); - EXPECT_EQ(kIPv6StunCandidatePriority, port()->Candidates()[0].priority()); -} - -TEST_F(StunIPv6PortTestWithMockDnsResolver, - TestPrepareAddressHostnameFamilyFieldTrialDisabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - "WebRTC-IPv6NetworkResolutionFixes/Disabled/"); - SetDnsResolverExpectations( - [](webrtc::MockAsyncDnsResolver* resolver, - webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start without family arg. - EXPECT_CALL(*resolver, Start(kValidHostnameAddr, _)) - .WillOnce(InvokeArgument<1>()); - EXPECT_CALL(*resolver, result) - .WillRepeatedly(ReturnPointee(resolver_result)); - EXPECT_CALL(*resolver_result, GetError).WillOnce(Return(0)); - EXPECT_CALL(*resolver_result, GetResolvedAddress(AF_INET6, _)) - .WillOnce(DoAll(SetArgPointee<1>(SocketAddress("::1", 5000)), - Return(true))); - }); - CreateStunPort(kValidHostnameAddr, &field_trials); - PrepareAddress(); - EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock); - ASSERT_EQ(1U, port()->Candidates().size()); - EXPECT_TRUE(kIPv6LocalAddr.EqualIPs(port()->Candidates()[0].address())); - EXPECT_EQ(kIPv6StunCandidatePriority, port()->Candidates()[0].priority()); -} - -TEST_F(StunIPv6PortTestWithMockDnsResolver, - TestPrepareAddressHostnameFamilyFieldTrialParamDisabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,ResolveStunHostnameForFamily:false/"); - SetDnsResolverExpectations( - [](webrtc::MockAsyncDnsResolver* resolver, - webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start without family arg. - EXPECT_CALL(*resolver, Start(kValidHostnameAddr, _)) - .WillOnce(InvokeArgument<1>()); - EXPECT_CALL(*resolver, result) - .WillRepeatedly(ReturnPointee(resolver_result)); - EXPECT_CALL(*resolver_result, GetError).WillOnce(Return(0)); - EXPECT_CALL(*resolver_result, GetResolvedAddress(AF_INET6, _)) - .WillOnce(DoAll(SetArgPointee<1>(SocketAddress("::1", 5000)), - Return(true))); - }); - CreateStunPort(kValidHostnameAddr, &field_trials); - PrepareAddress(); - EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock); - ASSERT_EQ(1U, port()->Candidates().size()); - EXPECT_TRUE(kIPv6LocalAddr.EqualIPs(port()->Candidates()[0].address())); - EXPECT_EQ(kIPv6StunCandidatePriority, port()->Candidates()[0].priority()); -} - -TEST_F(StunIPv6PortTestWithMockDnsResolver, - TestPrepareAddressHostnameFamilyFieldTrialEnabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,ResolveStunHostnameForFamily:true/"); - SetDnsResolverExpectations( - [](webrtc::MockAsyncDnsResolver* resolver, - webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start _with_ family arg. EXPECT_CALL(*resolver, Start(kValidHostnameAddr, /*family=*/AF_INET6, _)) .WillOnce(InvokeArgument<2>()); @@ -754,7 +676,7 @@ .WillOnce(DoAll(SetArgPointee<1>(SocketAddress("::1", 5000)), Return(true))); }); - CreateStunPort(kValidHostnameAddr, &field_trials); + CreateStunPort(kValidHostnameAddr); PrepareAddress(); EXPECT_TRUE_SIMULATED_WAIT(done(), kTimeoutMs, fake_clock); ASSERT_EQ(1U, port()->Candidates().size());
diff --git a/p2p/base/turn_port.cc b/p2p/base/turn_port.cc index 089910e..47b3a54 100644 --- a/p2p/base/turn_port.cc +++ b/p2p/base/turn_port.cc
@@ -37,19 +37,8 @@ namespace { bool ResolveTurnHostnameForFamily(const webrtc::FieldTrialsView& field_trials) { - // Bug fix for TURN hostname resolution on IPv6. - // Field trial key reserved in bugs.webrtc.org/14334 - static constexpr char field_trial_name[] = - "WebRTC-IPv6NetworkResolutionFixes"; - if (!field_trials.IsEnabled(field_trial_name)) { - return false; - } - - webrtc::FieldTrialParameter<bool> resolve_turn_hostname_for_family( - "ResolveTurnHostnameForFamily", /*default_value=*/false); - webrtc::ParseFieldTrial({&resolve_turn_hostname_for_family}, - field_trials.Lookup(field_trial_name)); - return resolve_turn_hostname_for_family; + // TODO(bugs.webrtc.org/14334) cleanup + return true; } } // namespace
diff --git a/p2p/base/turn_port_unittest.cc b/p2p/base/turn_port_unittest.cc index d63dd4a..c77a8c0 100644 --- a/p2p/base/turn_port_unittest.cc +++ b/p2p/base/turn_port_unittest.cc
@@ -1912,8 +1912,8 @@ SetDnsResolverExpectations( [](webrtc::MockAsyncDnsResolver* resolver, webrtc::MockAsyncDnsResolverResult* resolver_result) { - EXPECT_CALL(*resolver, Start(kTurnValidAddr, _)) - .WillOnce(InvokeArgument<1>()); + EXPECT_CALL(*resolver, Start(kTurnValidAddr, /*family=*/AF_INET, _)) + .WillOnce(InvokeArgument<2>()); EXPECT_CALL(*resolver, result) .WillRepeatedly(ReturnPointee(resolver_result)); EXPECT_CALL(*resolver_result, GetError).WillRepeatedly(Return(0)); @@ -1932,85 +1932,6 @@ SetDnsResolverExpectations( [](webrtc::MockAsyncDnsResolver* resolver, webrtc::MockAsyncDnsResolverResult* resolver_result) { - EXPECT_CALL(*resolver, Start(kTurnValidAddr, _)) - .WillOnce(InvokeArgument<1>()); - EXPECT_CALL(*resolver, result) - .WillRepeatedly(ReturnPointee(resolver_result)); - EXPECT_CALL(*resolver_result, GetError).WillRepeatedly(Return(0)); - EXPECT_CALL(*resolver_result, GetResolvedAddress(AF_INET6, _)) - .WillOnce( - DoAll(SetArgPointee<1>(kTurnUdpIPv6IntAddr), Return(true))); - }); - TestTurnAllocateSucceeds(kSimulatedRtt * 2); -} - -// Test an allocation from a TURN server specified by a hostname on an IPv6 -// network, without network family-specific resolution. -TEST_F(TurnPortWithMockDnsResolverTest, - TestHostnameResolvedIPv6NetworkFamilyFieldTrialDisabled) { - webrtc::test::ScopedKeyValueConfig override_field_trials( - field_trials_, "WebRTC-IPv6NetworkResolutionFixes/Disabled/"); - turn_server_.AddInternalSocket(kTurnUdpIPv6IntAddr, PROTO_UDP); - CreateTurnPort(kLocalIPv6Addr, kTurnUsername, kTurnPassword, - kTurnPortValidHostnameProtoAddr); - SetDnsResolverExpectations( - [](webrtc::MockAsyncDnsResolver* resolver, - webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start without family arg. - EXPECT_CALL(*resolver, Start(kTurnValidAddr, _)) - .WillOnce(InvokeArgument<1>()); - EXPECT_CALL(*resolver, result) - .WillRepeatedly(ReturnPointee(resolver_result)); - EXPECT_CALL(*resolver_result, GetError).WillRepeatedly(Return(0)); - EXPECT_CALL(*resolver_result, GetResolvedAddress(AF_INET6, _)) - .WillOnce( - DoAll(SetArgPointee<1>(kTurnUdpIPv6IntAddr), Return(true))); - }); - TestTurnAllocateSucceeds(kSimulatedRtt * 2); -} - -// Test an allocation from a TURN server specified by a hostname on an IPv6 -// network, without network family-specific resolution. -TEST_F(TurnPortWithMockDnsResolverTest, - TestHostnameResolvedIPv6NetworkFamilyFieldTrialParamDisabled) { - webrtc::test::ScopedKeyValueConfig override_field_trials( - field_trials_, - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,ResolveTurnHostnameForFamily:false/"); - turn_server_.AddInternalSocket(kTurnUdpIPv6IntAddr, PROTO_UDP); - CreateTurnPort(kLocalIPv6Addr, kTurnUsername, kTurnPassword, - kTurnPortValidHostnameProtoAddr); - SetDnsResolverExpectations( - [](webrtc::MockAsyncDnsResolver* resolver, - webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start without family arg. - EXPECT_CALL(*resolver, Start(kTurnValidAddr, _)) - .WillOnce(InvokeArgument<1>()); - EXPECT_CALL(*resolver, result) - .WillRepeatedly(ReturnPointee(resolver_result)); - EXPECT_CALL(*resolver_result, GetError).WillRepeatedly(Return(0)); - EXPECT_CALL(*resolver_result, GetResolvedAddress(AF_INET6, _)) - .WillOnce( - DoAll(SetArgPointee<1>(kTurnUdpIPv6IntAddr), Return(true))); - }); - TestTurnAllocateSucceeds(kSimulatedRtt * 2); -} - -// Test an allocation from a TURN server specified by a hostname on an IPv6 -// network, with network family-specific resolution. -TEST_F(TurnPortWithMockDnsResolverTest, - TestHostnameResolvedIPv6NetworkFieldTrialEnabled) { - webrtc::test::ScopedKeyValueConfig override_field_trials( - field_trials_, - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,ResolveTurnHostnameForFamily:true/"); - turn_server_.AddInternalSocket(kTurnUdpIPv6IntAddr, PROTO_UDP); - CreateTurnPort(kLocalIPv6Addr, kTurnUsername, kTurnPassword, - kTurnPortValidHostnameProtoAddr); - SetDnsResolverExpectations( - [](webrtc::MockAsyncDnsResolver* resolver, - webrtc::MockAsyncDnsResolverResult* resolver_result) { - // Expect to call Resolver::Start _with_ family arg. EXPECT_CALL(*resolver, Start(kTurnValidAddr, /*family=*/AF_INET6, _)) .WillOnce(InvokeArgument<2>()); EXPECT_CALL(*resolver, result)
diff --git a/p2p/client/basic_port_allocator.cc b/p2p/client/basic_port_allocator.cc index 2815b93..5eac788 100644 --- a/p2p/client/basic_port_allocator.cc +++ b/p2p/client/basic_port_allocator.cc
@@ -156,17 +156,8 @@ bool IsDiversifyIpv6InterfacesEnabled( const webrtc::FieldTrialsView* field_trials) { - // webrtc:14334: Improve IPv6 network resolution and candidate creation - if (field_trials && - field_trials->IsEnabled("WebRTC-IPv6NetworkResolutionFixes")) { - webrtc::FieldTrialParameter<bool> diversify_ipv6_interfaces( - "DiversifyIpv6Interfaces", false); - webrtc::ParseFieldTrial( - {&diversify_ipv6_interfaces}, - field_trials->Lookup("WebRTC-IPv6NetworkResolutionFixes")); - return diversify_ipv6_interfaces; - } - return false; + // TODO(bugs.webrtc.org/14334) cleanup + return true; } } // namespace
diff --git a/p2p/client/basic_port_allocator_unittest.cc b/p2p/client/basic_port_allocator_unittest.cc index d1a91af..4665329 100644 --- a/p2p/client/basic_port_allocator_unittest.cc +++ b/p2p/client/basic_port_allocator_unittest.cc
@@ -2649,69 +2649,8 @@ EXPECT_TRUE(HasNetwork(networks, ethe1)); } -// Do not change the default IPv6 selection behavior if -// IPv6NetworkResolutionFixes is disabled. -TEST_F(BasicPortAllocatorTest, - NotDiversifyIPv6NetworkTypesIfIPv6NetworkResolutionFixesDisabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - field_trials_, "WebRTC-IPv6NetworkResolutionFixes/Disabled/"); - // Add three IPv6 network interfaces, but tell the allocator to only use two. - allocator().set_max_ipv6_networks(2); - AddInterface(kClientIPv6Addr, "ethe1", rtc::ADAPTER_TYPE_ETHERNET); - AddInterface(kClientIPv6Addr2, "ethe2", rtc::ADAPTER_TYPE_ETHERNET); - AddInterface(kClientIPv6Addr3, "wifi1", rtc::ADAPTER_TYPE_WIFI); - // To simplify the test, only gather UDP host candidates. - allocator().set_flags(PORTALLOCATOR_ENABLE_IPV6 | PORTALLOCATOR_DISABLE_TCP | - PORTALLOCATOR_DISABLE_STUN | - PORTALLOCATOR_DISABLE_RELAY | - PORTALLOCATOR_ENABLE_IPV6_ON_WIFI); - - ASSERT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); - session_->StartGettingPorts(); - EXPECT_TRUE_SIMULATED_WAIT(candidate_allocation_done_, - kDefaultAllocationTimeout, fake_clock); - - EXPECT_EQ(2U, candidates_.size()); - // Wifi1 was not selected because it comes after ethe1 and ethe2. - EXPECT_FALSE(HasCandidate(candidates_, "local", "udp", kClientIPv6Addr3)); -} - -// Do not change the default IPv6 selection behavior if -// IPv6NetworkResolutionFixes is enabled but DiversifyIpv6Interfaces is not -// enabled. -TEST_F(BasicPortAllocatorTest, - NotDiversifyIPv6NetworkTypesIfDiversifyIpv6InterfacesDisabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - field_trials_, - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,DiversifyIpv6Interfaces:false/"); - // Add three IPv6 network interfaces, but tell the allocator to only use two. - allocator().set_max_ipv6_networks(2); - AddInterface(kClientIPv6Addr, "ethe1", rtc::ADAPTER_TYPE_ETHERNET); - AddInterface(kClientIPv6Addr2, "ethe2", rtc::ADAPTER_TYPE_ETHERNET); - AddInterface(kClientIPv6Addr3, "wifi1", rtc::ADAPTER_TYPE_WIFI); - // To simplify the test, only gather UDP host candidates. - allocator().set_flags(PORTALLOCATOR_ENABLE_IPV6 | PORTALLOCATOR_DISABLE_TCP | - PORTALLOCATOR_DISABLE_STUN | - PORTALLOCATOR_DISABLE_RELAY | - PORTALLOCATOR_ENABLE_IPV6_ON_WIFI); - - ASSERT_TRUE(CreateSession(cricket::ICE_CANDIDATE_COMPONENT_RTP)); - session_->StartGettingPorts(); - EXPECT_TRUE_SIMULATED_WAIT(candidate_allocation_done_, - kDefaultAllocationTimeout, fake_clock); - - EXPECT_EQ(2U, candidates_.size()); - // Wifi1 was not selected because it comes after ethe1 and ethe2. - EXPECT_FALSE(HasCandidate(candidates_, "local", "udp", kClientIPv6Addr3)); -} - TEST_F(BasicPortAllocatorTest, Select2DifferentIntefacesIfDiversifyIpv6InterfacesEnabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - field_trials_, - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,DiversifyIpv6Interfaces:true/"); allocator().set_max_ipv6_networks(2); AddInterface(kClientIPv6Addr, "ethe1", rtc::ADAPTER_TYPE_ETHERNET); AddInterface(kClientIPv6Addr2, "ethe2", rtc::ADAPTER_TYPE_ETHERNET); @@ -2738,10 +2677,6 @@ TEST_F(BasicPortAllocatorTest, Select3DifferentIntefacesIfDiversifyIpv6InterfacesEnabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - field_trials_, - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,DiversifyIpv6Interfaces:true/"); allocator().set_max_ipv6_networks(3); AddInterface(kClientIPv6Addr, "ethe1", rtc::ADAPTER_TYPE_ETHERNET); AddInterface(kClientIPv6Addr2, "ethe2", rtc::ADAPTER_TYPE_ETHERNET); @@ -2769,10 +2704,6 @@ TEST_F(BasicPortAllocatorTest, Select4DifferentIntefacesIfDiversifyIpv6InterfacesEnabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - field_trials_, - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,DiversifyIpv6Interfaces:true/"); allocator().set_max_ipv6_networks(4); AddInterface(kClientIPv6Addr, "ethe1", rtc::ADAPTER_TYPE_ETHERNET); AddInterface(kClientIPv6Addr2, "ethe2", rtc::ADAPTER_TYPE_ETHERNET);
diff --git a/rtc_base/network.cc b/rtc_base/network.cc index 3aecc00..b4bd3eea 100644 --- a/rtc_base/network.cc +++ b/rtc_base/network.cc
@@ -187,18 +187,8 @@ } bool PreferGlobalIPv6Address(const webrtc::FieldTrialsView* field_trials) { - // Bug fix to prefer global IPv6 address over link local. - // Field trial key reserved in bugs.webrtc.org/14334 - if (field_trials && - field_trials->IsEnabled("WebRTC-IPv6NetworkResolutionFixes")) { - webrtc::FieldTrialParameter<bool> prefer_global_ipv6_address_enabled( - "PreferGlobalIPv6Address", false); - webrtc::ParseFieldTrial( - {&prefer_global_ipv6_address_enabled}, - field_trials->Lookup("WebRTC-IPv6NetworkResolutionFixes")); - return prefer_global_ipv6_address_enabled; - } - return false; + // TODO(bugs.webrtc.org/14334) cleanup + return true; } #if defined(WEBRTC_WIN)
diff --git a/rtc_base/network.h b/rtc_base/network.h index 5d84d67..8db1ce4 100644 --- a/rtc_base/network.h +++ b/rtc_base/network.h
@@ -445,8 +445,7 @@ // Here is the rule on how we mark the IPv6 address as ignorable for WebRTC. // 1) return all global temporary dynamic and non-deprecated ones. // 2) if #1 not available, return global ones. - // 3) if #2 not available and WebRTC-IPv6NetworkResolutionFixes enabled, - // return local link ones. + // 3) if #2 not available, return local link ones. // 4) if #3 not available, use ULA ipv6 as last resort. (ULA stands for // unique local address, which is not route-able in open internet but might // be useful for a close WebRTC deployment.
diff --git a/rtc_base/network_unittest.cc b/rtc_base/network_unittest.cc index 93ed617..71208e2 100644 --- a/rtc_base/network_unittest.cc +++ b/rtc_base/network_unittest.cc
@@ -1159,9 +1159,6 @@ // Test that the filtering logic follows the defined ruleset in network.h. TEST_F(NetworkTest, TestGetBestIPWithPreferGlobalIPv6ToLinkLocalEnabled) { - webrtc::test::ScopedKeyValueConfig field_trials( - "WebRTC-IPv6NetworkResolutionFixes/" - "Enabled,PreferGlobalIPv6Address:true/"); InterfaceAddress ip, link_local; std::string ipstr; @@ -1170,7 +1167,7 @@ // Create a network with this prefix. Network ipv6_network("test_eth0", "Test NetworkAdapter", TruncateIP(ip, 64), - 64, ADAPTER_TYPE_UNKNOWN, &field_trials); + 64, ADAPTER_TYPE_UNKNOWN, &field_trials_); // When there is no address added, it should return an unspecified // address.