From b5274ef8b96394bdb0338d0e903c4dec3a3103f7 Mon Sep 17 00:00:00 2001 From: Jonas Oreland Date: Tue, 4 May 2021 09:09:24 +0200 Subject: [PATCH] Enable WebRTC-BindUsingInterfaceName by default But keep option to disable it. The fix has been tested using A/B experiment with Duo with positive results. Bug: webrtc:10707 Change-Id: Iaac72430bc52026ab5db9dd042c5fdc3832fdce5 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217380 Reviewed-by: Harald Alvestrand Reviewed-by: Taylor Brandstetter Commit-Queue: Jonas Oreland Cr-Commit-Position: refs/heads/master@{#33941} --- rtc_base/network.cc | 2 +- rtc_base/network_unittest.cc | 3 --- .../native_unittests/android_network_monitor_unittest.cc | 1 - sdk/android/src/jni/android_network_monitor.cc | 2 +- 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/rtc_base/network.cc b/rtc_base/network.cc index 1b0ba367e6..f4a349bae0 100644 --- a/rtc_base/network.cc +++ b/rtc_base/network.cc @@ -487,7 +487,7 @@ BasicNetworkManager::BasicNetworkManager( allow_mac_based_ipv6_( webrtc::field_trial::IsEnabled("WebRTC-AllowMACBasedIPv6")), bind_using_ifname_( - webrtc::field_trial::IsEnabled("WebRTC-BindUsingInterfaceName")) {} + !webrtc::field_trial::IsDisabled("WebRTC-BindUsingInterfaceName")) {} BasicNetworkManager::~BasicNetworkManager() {} diff --git a/rtc_base/network_unittest.cc b/rtc_base/network_unittest.cc index abad4796fe..75856634ab 100644 --- a/rtc_base/network_unittest.cc +++ b/rtc_base/network_unittest.cc @@ -1307,9 +1307,6 @@ TEST_F(NetworkTest, WebRTC_AllowMACBasedIPv6Address) { #if defined(WEBRTC_POSIX) TEST_F(NetworkTest, WebRTC_BindUsingInterfaceName) { - webrtc::test::ScopedFieldTrials field_trials( - "WebRTC-BindUsingInterfaceName/Enabled/"); - char if_name1[20] = "wlan0"; char if_name2[20] = "v4-wlan0"; ifaddrs* list = nullptr; diff --git a/sdk/android/native_unittests/android_network_monitor_unittest.cc b/sdk/android/native_unittests/android_network_monitor_unittest.cc index 20e756ae7b..c342ce692e 100644 --- a/sdk/android/native_unittests/android_network_monitor_unittest.cc +++ b/sdk/android/native_unittests/android_network_monitor_unittest.cc @@ -127,7 +127,6 @@ TEST_F(AndroidNetworkMonitorTest, } TEST_F(AndroidNetworkMonitorTest, TestFindNetworkHandleUsingIfName) { - ScopedFieldTrials field_trials("WebRTC-BindUsingInterfaceName/Enabled/"); // Start() updates the states introduced by the field trial. network_monitor_->Start(); jni::NetworkHandle ipv6_handle = 200; diff --git a/sdk/android/src/jni/android_network_monitor.cc b/sdk/android/src/jni/android_network_monitor.cc index fa82816431..686f94e1e6 100644 --- a/sdk/android/src/jni/android_network_monitor.cc +++ b/sdk/android/src/jni/android_network_monitor.cc @@ -247,7 +247,7 @@ void AndroidNetworkMonitor::Start() { webrtc::field_trial::IsEnabled( "WebRTC-FindNetworkHandleWithoutIpv6TemporaryPart"); bind_using_ifname_ = - webrtc::field_trial::IsEnabled("WebRTC-BindUsingInterfaceName"); + !webrtc::field_trial::IsDisabled("WebRTC-BindUsingInterfaceName"); // This pointer is also accessed by the methods called from java threads. // Assigning it here is safe, because the java monitor is in a stopped state,