clatd: log checksum issues only once am: 1f395ef081 am: 52c87308a0

Original change: https://android-review.googlesource.com/c/platform/external/android-clat/+/2439117

Change-Id: Ie3333b5c5f8805fb2434e5076a39d7129fa84bb3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/clatd.c b/clatd.c
index 7eb7904..98f5195 100644
--- a/clatd.c
+++ b/clatd.c
@@ -20,6 +20,7 @@
 #include <fcntl.h>
 #include <poll.h>
 #include <signal.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -118,7 +119,11 @@
 
   // This will detect a skb->ip_summed == CHECKSUM_PARTIAL packet with non-final L4 checksum
   if (tp_status & TP_STATUS_CSUMNOTREADY) {
-    logmsg(ANDROID_LOG_WARN, "read_packet checksum not ready");
+    static bool logged = false;
+    if (!logged) {
+      logmsg(ANDROID_LOG_WARN, "read_packet checksum not ready");
+      logged = true;
+    }
   }
 
   translate_packet(tunnel->fd4, 0 /* to_ipv6 */, buf, readlen);