Nat-related commands porting
Test: built, flashed, booted
system/netd/tests/runtests.sh passes
Change-Id: I14e80377bc1b7c08993c3cf8fbf2b6fd0f99f4ba
diff --git a/server/TetherController.cpp b/server/TetherController.cpp
index b11f4dc..49c1b7e 100644
--- a/server/TetherController.cpp
+++ b/server/TetherController.cpp
@@ -531,15 +531,13 @@
ALOGV("enableNat(intIface=<%s>, extIface=<%s>)",intIface, extIface);
if (!isIfaceName(intIface) || !isIfaceName(extIface)) {
- errno = ENODEV;
- return -1;
+ return -ENODEV;
}
/* Bug: b/9565268. "enableNat wlan0 wlan0". For now we fail until java-land is fixed */
if (!strcmp(intIface, extIface)) {
ALOGE("Duplicate interface specified: %s %s", intIface, extIface);
- errno = EINVAL;
- return -1;
+ return -EINVAL;
}
if (isForwardingPairEnabled(intIface, extIface)) {
@@ -561,7 +559,7 @@
// unwind what's been done, but don't care about success - what more could we do?
setDefaults();
}
- return -1;
+ return -EREMOTEIO;
}
}
@@ -570,8 +568,7 @@
if (!isAnyForwardingPairEnabled()) {
setDefaults();
}
- errno = ENODEV;
- return -1;
+ return -ENODEV;
}
return 0;
@@ -678,7 +675,7 @@
"%s %s -i %s -m rpfilter --invert ! -s fe80::/64 -j DROP\n"
"COMMIT\n", op, LOCAL_RAW_PREROUTING, intIface);
if (iptablesRestoreFunction(V6, rpfilterCmd, nullptr) == -1 && add) {
- return -1;
+ return -EREMOTEIO;
}
std::vector<std::string> v4 = {
@@ -727,7 +724,7 @@
if (add) {
setForwardRules(false, intIface, extIface);
}
- return -1;
+ return -EREMOTEIO;
}
if (add) {
@@ -741,8 +738,7 @@
int TetherController::disableNat(const char* intIface, const char* extIface) {
if (!isIfaceName(intIface) || !isIfaceName(extIface)) {
- errno = ENODEV;
- return -1;
+ return -ENODEV;
}
setForwardRules(false, intIface, extIface);