Merge "Update UiAutomator Condition"
diff --git a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
index 51683de..60485f1 100644
--- a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
+++ b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java
@@ -657,7 +657,17 @@
}
void restart() {
- if (DBG) Log.d(TAG, "reconnecting Ethernet");
+ if (DBG) Log.d(TAG, "restart IpClient");
+
+ if (mIpClient == null) {
+ // If restart() is called from a provisioning failure, it is
+ // possible that link disappeared in the meantime. In that
+ // case, stop() has already been called and IpClient should not
+ // get restarted to prevent a provisioning failure loop.
+ Log.i(TAG, String.format("restart() was called on stopped interface %s", name));
+ return;
+ }
+
stop();
start();
}
diff --git a/service/native/libs/libclat/clatutils.cpp b/service/native/libs/libclat/clatutils.cpp
index 64e5b91..c6a9781 100644
--- a/service/native/libs/libclat/clatutils.cpp
+++ b/service/native/libs/libclat/clatutils.cpp
@@ -29,9 +29,6 @@
#include "checksum.h"
}
-// Sync from system/netd/include/netid_client.h.
-#define MARK_UNSET 0u
-
namespace android {
namespace net {
namespace clat {
@@ -128,7 +125,7 @@
// Socket's mark affects routing decisions (network selection)
// An fwmark is necessary for clat to bypass the VPN during initialization.
- if ((mark != MARK_UNSET) && setsockopt(s, SOL_SOCKET, SO_MARK, &mark, sizeof(mark))) {
+ if (setsockopt(s, SOL_SOCKET, SO_MARK, &mark, sizeof(mark))) {
int ret = errno;
ALOGE("setsockopt(SOL_SOCKET, SO_MARK) failed: %s", strerror(errno));
close(s);
@@ -176,7 +173,7 @@
}
// Socket's mark affects routing decisions (network selection)
- if ((mark != MARK_UNSET) && setsockopt(s, SOL_SOCKET, SO_MARK, &mark, sizeof(mark))) {
+ if (setsockopt(s, SOL_SOCKET, SO_MARK, &mark, sizeof(mark))) {
int ret = errno;
ALOGE("setsockopt(SOL_SOCKET, SO_MARK) failed: %s", strerror(errno));
close(s);