Keep polling for IPv6 address on EADDRNOTAVAIL
When the interface has no IPv6 address yet, the error is EADDRNOTAVAIL,
not ENETUNREACH.
Bug: 272147547
Bug: 272917228
Bug: 272925668
Test: atest
Change-Id: I189f691405e2e0596ea0c9fe8f8ffe3c21dd5b46
diff --git a/tests/cts/net/src/android/net/cts/NsdManagerTest.kt b/tests/cts/net/src/android/net/cts/NsdManagerTest.kt
index 3f197c4..6fd2321 100644
--- a/tests/cts/net/src/android/net/cts/NsdManagerTest.kt
+++ b/tests/cts/net/src/android/net/cts/NsdManagerTest.kt
@@ -68,6 +68,7 @@
import android.system.ErrnoException
import android.system.Os
import android.system.OsConstants.AF_INET6
+import android.system.OsConstants.EADDRNOTAVAIL
import android.system.OsConstants.ENETUNREACH
import android.system.OsConstants.IPPROTO_UDP
import android.system.OsConstants.SOCK_DGRAM
@@ -404,7 +405,7 @@
Os.connect(sock, parseNumericAddress("ff02::fb%$ifaceName"), 12345)
true
}.catch<ErrnoException> {
- if (it.errno != ENETUNREACH) {
+ if (it.errno != ENETUNREACH && it.errno != EADDRNOTAVAIL) {
throw it
}
false