aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Chen <cken@google.com>2023-11-06 05:42:54 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-11-06 05:42:54 +0000
commitb333a4b910c86ace3ddb38d413d484b8e4d56a9d (patch)
treef7499c94f8118fe89c5a883e79560d07f0659f6f
parenta65c72b68bff64fc63834f84a92b957f9cc7bd88 (diff)
parentb06d45edddcf58fac60275c1b4d2c972fa7a8767 (diff)
downloadDnsResolver-b333a4b910c86ace3ddb38d413d484b8e4d56a9d.tar.gz
Merge "Remove "Add skip_4a_query_on_v6_linklocal_addr flag"" into main
-rw-r--r--Experiments.h1
-rw-r--r--getaddrinfo.cpp3
-rw-r--r--tests/resolv_integration_test.cpp49
-rw-r--r--tests/resolv_test_utils.h2
4 files changed, 1 insertions, 54 deletions
diff --git a/Experiments.h b/Experiments.h
index e087a90a..106705b5 100644
--- a/Experiments.h
+++ b/Experiments.h
@@ -69,7 +69,6 @@ class Experiments {
"parallel_lookup_sleep_time",
"retransmission_time_interval",
"retry_count",
- "skip_4a_query_on_v6_linklocal_addr",
"sort_nameservers",
};
// This value is used in updateInternal as the default value if any flags can't be found.
diff --git a/getaddrinfo.cpp b/getaddrinfo.cpp
index 4ad24248..8d9ed6d4 100644
--- a/getaddrinfo.cpp
+++ b/getaddrinfo.cpp
@@ -1310,8 +1310,7 @@ static int _find_src_addr(const struct sockaddr* addr, struct sockaddr* src_addr
return -1;
}
- if (Experiments::getInstance()->getFlag("skip_4a_query_on_v6_linklocal_addr", 1) &&
- src_addr->sa_family == AF_INET6) {
+ if (src_addr->sa_family == AF_INET6) {
sockaddr_in6* sin6 = reinterpret_cast<sockaddr_in6*>(src_addr);
if (!allow_v6_linklocal && IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
// There is no point in sending an AAAA query because the device does not have a global
diff --git a/tests/resolv_integration_test.cpp b/tests/resolv_integration_test.cpp
index 38d5567e..cb04cf1b 100644
--- a/tests/resolv_integration_test.cpp
+++ b/tests/resolv_integration_test.cpp
@@ -7813,55 +7813,6 @@ TEST_F(ResolverMultinetworkTest, IPv6LinkLocalWithDefaultRoute) {
EXPECT_EQ(GetNumQueriesForType(*dnsPair->dnsServer, ns_type::ns_t_aaaa, host_name), 1U);
}
-// Test if the "do not send AAAA query when IPv6 address is link-local with a default route" feature
-// can be toggled by flag.
-TEST_F(ResolverMultinetworkTest, IPv6LinkLocalWithDefaultRouteFlag) {
- // Kernel 4.4 does not provide an IPv6 link-local address when an interface is added to a
- // network. Skip it because v6 link-local address is a prerequisite for this test.
- SKIP_IF_KERNEL_VERSION_LOWER_THAN(4, 9, 0);
-
- constexpr char host_name[] = "ohayou.example.com.";
- const struct TestConfig {
- std::string flagValue;
- std::vector<std::string> ips;
- unsigned numOfQuadAQuery;
- } TestConfigs[]{{"0", {"192.0.2.0", "2001:db8:cafe:d00d::31"}, 1U}, {"1", {"192.0.2.0"}, 0U}};
-
- for (const auto& config : TestConfigs) {
- SCOPED_TRACE(fmt::format("flagValue = {}, numOfQuadAQuery = {}", config.flagValue,
- config.numOfQuadAQuery));
-
- ScopedSystemProperties sp1(kSkip4aQueryOnV6LinklocalAddrFlag, config.flagValue);
- ScopedPhysicalNetwork network = CreateScopedPhysicalNetwork(ConnectivityType::V4);
- ASSERT_RESULT_OK(network.init());
-
- // Add IPv6 default route
- ASSERT_TRUE(mDnsClient.netdService()
- ->networkAddRoute(network.netId(), network.ifname(), "::/0", "")
- .isOk());
-
- // Ensuring that routing is applied. This is required for mainline test (b/257404586).
- usleep(1000 * 1000);
-
- const Result<DnsServerPair> dnsPair = network.addIpv4Dns();
- ASSERT_RESULT_OK(dnsPair);
- StartDns(*dnsPair->dnsServer, {{host_name, ns_type::ns_t_a, "192.0.2.0"},
- {host_name, ns_type::ns_t_aaaa, "2001:db8:cafe:d00d::31"}});
-
- ASSERT_TRUE(network.setDnsConfiguration());
- ASSERT_TRUE(network.startTunForwarder());
-
- auto result = android_getaddrinfofornet_wrapper(host_name, network.netId());
- ASSERT_RESULT_OK(result);
- ScopedAddrinfo ai_results(std::move(result.value()));
- std::vector<std::string> result_strs = ToStrings(ai_results);
- EXPECT_THAT(result_strs, testing::UnorderedElementsAreArray(config.ips));
- EXPECT_EQ(GetNumQueriesForType(*dnsPair->dnsServer, ns_type::ns_t_a, host_name), 1U);
- EXPECT_EQ(GetNumQueriesForType(*dnsPair->dnsServer, ns_type::ns_t_aaaa, host_name),
- config.numOfQuadAQuery);
- }
-}
-
// v6 mdns is expected to be sent when the IPv6 address is a link-local with a default route.
TEST_F(ResolverMultinetworkTest, MdnsIPv6LinkLocalWithDefaultRoute) {
// Kernel 4.4 does not provide an IPv6 link-local address when an interface is added to a
diff --git a/tests/resolv_test_utils.h b/tests/resolv_test_utils.h
index 540dd2b6..4d6e8640 100644
--- a/tests/resolv_test_utils.h
+++ b/tests/resolv_test_utils.h
@@ -188,8 +188,6 @@ const std::string kKeepListeningUdpFlag(kFlagPrefix + "keep_listening_udp");
const std::string kParallelLookupSleepTimeFlag(kFlagPrefix + "parallel_lookup_sleep_time");
const std::string kRetransIntervalFlag(kFlagPrefix + "retransmission_time_interval");
const std::string kRetryCountFlag(kFlagPrefix + "retry_count");
-const std::string kSkip4aQueryOnV6LinklocalAddrFlag(kFlagPrefix +
- "skip_4a_query_on_v6_linklocal_addr");
const std::string kSortNameserversFlag(kFlagPrefix + "sort_nameservers");
const std::string kPersistNetPrefix("persist.net.");