OffloadUtils - Introduce 'RAWIP' and 'ETHER' helper constants.

Makes things a tad easier to read.

Test: build, atest
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib556d10d15bd5a3c901f20cb9f28644574a58ce4
diff --git a/server/ClatdController.cpp b/server/ClatdController.cpp
index 294e55b..7e697b7 100644
--- a/server/ClatdController.cpp
+++ b/server/ClatdController.cpp
@@ -279,9 +279,9 @@
     }
 
     // This program will be attached to the v4-* interface which is a TUN and thus always rawip.
-    rv = getClatEgressProgFd(false);
+    rv = getClatEgressProgFd(RAWIP);
     if (rv < 0) {
-        ALOGE("getClatEgressProgFd(false) failure: %s", strerror(-rv));
+        ALOGE("getClatEgressProgFd(RAWIP) failure: %s", strerror(-rv));
         return;
     }
     unique_fd txRawIpProgFd(rv);
@@ -364,13 +364,13 @@
         return;
     }
 
-    rv = tcFilterAddDevEgressBpf(tracker.v4ifIndex, txRawIpProgFd, false);
+    rv = tcFilterAddDevEgressBpf(tracker.v4ifIndex, txRawIpProgFd, RAWIP);
     if (rv) {
         if ((rv == -ENOENT) && (mClatEbpfMode == ClatEbpfMaybe)) {
-            ALOGI("tcFilterAddDevEgressBpf(%d[%s], false): %s", tracker.v4ifIndex, tracker.v4iface,
+            ALOGI("tcFilterAddDevEgressBpf(%d[%s], RAWIP): %s", tracker.v4ifIndex, tracker.v4iface,
                   strerror(-rv));
         } else {
-            ALOGE("tcFilterAddDevEgressBpf(%d[%s], false) failure: %s", tracker.v4ifIndex,
+            ALOGE("tcFilterAddDevEgressBpf(%d[%s], RAWIP) failure: %s", tracker.v4ifIndex,
                   tracker.v4iface, strerror(-rv));
         }
         rv = tcQdiscDelDevClsact(tracker.ifIndex);
diff --git a/server/OffloadUtils.h b/server/OffloadUtils.h
index 9aa4d38..1705e84 100644
--- a/server/OffloadUtils.h
+++ b/server/OffloadUtils.h
@@ -28,8 +28,14 @@
 namespace android {
 namespace net {
 
+// this returns an ARPHRD_* constant or a -errno
 int hardwareAddressType(const std::string& interface);
 
+// For better code clarity - do not change values - used for booleans like
+// with_ethernet_header or isEthernet.
+constexpr bool RAWIP = false;
+constexpr bool ETHER = true;
+
 inline int getClatEgressMapFd(void) {
     const int fd = bpf::bpfFdGet(CLAT_EGRESS_MAP_PATH, 0);
     return (fd == -1) ? -errno : fd;
diff --git a/server/OffloadUtilsTest.cpp b/server/OffloadUtilsTest.cpp
index 6566f3b..6bfe52c 100644
--- a/server/OffloadUtilsTest.cpp
+++ b/server/OffloadUtilsTest.cpp
@@ -76,7 +76,7 @@
 TEST_F(OffloadUtilsTest, GetClatEgressRawIpProgFd) {
     SKIP_IF_BPF_NOT_SUPPORTED;
 
-    int fd = getClatEgressProgFd(false);
+    int fd = getClatEgressProgFd(RAWIP);
     ASSERT_LE(3, fd);
     close(fd);
 }
@@ -84,7 +84,7 @@
 TEST_F(OffloadUtilsTest, GetClatEgressEtherProgFd) {
     SKIP_IF_BPF_NOT_SUPPORTED;
 
-    int fd = getClatEgressProgFd(true);
+    int fd = getClatEgressProgFd(ETHER);
     ASSERT_LE(3, fd);
     close(fd);
 }
@@ -100,7 +100,7 @@
 TEST_F(OffloadUtilsTest, GetClatIngressRawIpProgFd) {
     SKIP_IF_BPF_NOT_SUPPORTED;
 
-    int fd = getClatIngressProgFd(false);
+    int fd = getClatIngressProgFd(RAWIP);
     ASSERT_LE(3, fd);
     close(fd);
 }
@@ -108,7 +108,7 @@
 TEST_F(OffloadUtilsTest, GetClatIngressEtherProgFd) {
     SKIP_IF_BPF_NOT_SUPPORTED;
 
-    int fd = getClatIngressProgFd(true);
+    int fd = getClatIngressProgFd(ETHER);
     ASSERT_LE(3, fd);
     close(fd);
 }
@@ -126,7 +126,7 @@
     // RX Rawip -> TX Ether requires header adjustments and thus 4.14.
     SKIP_IF_EXTENDED_BPF_NOT_SUPPORTED;
 
-    int fd = getTetherIngressProgFd(false);
+    int fd = getTetherIngressProgFd(RAWIP);
     ASSERT_LE(3, fd);
     close(fd);
 }
@@ -136,7 +136,7 @@
     // RX Ether -> TX Ether does not require header adjustments
     SKIP_IF_BPF_NOT_SUPPORTED;
 
-    int fd = getTetherIngressProgFd(true);
+    int fd = getTetherIngressProgFd(ETHER);
     ASSERT_LE(3, fd);
     close(fd);
 }
@@ -247,19 +247,19 @@
 }
 
 TEST_F(OffloadUtilsTest, CheckAttachBpfFilterRawIpClsactEgressLo) {
-    checkAttachDetachBpfFilterClsactLo(/*ingress*/ false, /*ethernet*/ false);
+    checkAttachDetachBpfFilterClsactLo(/*ingress*/ false, RAWIP);
 }
 
 TEST_F(OffloadUtilsTest, CheckAttachBpfFilterEthernetClsactEgressLo) {
-    checkAttachDetachBpfFilterClsactLo(/*ingress*/ false, /*ethernet*/ true);
+    checkAttachDetachBpfFilterClsactLo(/*ingress*/ false, ETHER);
 }
 
 TEST_F(OffloadUtilsTest, CheckAttachBpfFilterRawIpClsactIngressLo) {
-    checkAttachDetachBpfFilterClsactLo(/*ingress*/ true, /*ethernet*/ false);
+    checkAttachDetachBpfFilterClsactLo(/*ingress*/ true, RAWIP);
 }
 
 TEST_F(OffloadUtilsTest, CheckAttachBpfFilterEthernetClsactIngressLo) {
-    checkAttachDetachBpfFilterClsactLo(/*ingress*/ true, /*ethernet*/ true);
+    checkAttachDetachBpfFilterClsactLo(/*ingress*/ true, ETHER);
 }
 
 }  // namespace net