diff --git a/service/src/com/android/server/connectivity/ClatCoordinator.java b/service/src/com/android/server/connectivity/ClatCoordinator.java index 498cf63d15..5ea586af2e 100644 --- a/service/src/com/android/server/connectivity/ClatCoordinator.java +++ b/service/src/com/android/server/connectivity/ClatCoordinator.java @@ -347,6 +347,19 @@ public class ClatCoordinator { && this.pid == that.pid && this.cookie == that.cookie; } + + @Override + public String toString() { + return "iface: " + iface + + " (" + ifIndex + ")" + + ", v4iface: " + v4iface + + " (" + v4ifIndex + ")" + + ", v4: " + v4 + + ", v6: " + v6 + + ", pfx96: " + pfx96 + + ", pid: " + pid + + ", cookie: " + cookie; + } }; @VisibleForTesting @@ -819,9 +832,9 @@ public class ClatCoordinator { * @param pw print writer. */ public void dump(@NonNull IndentingPrintWriter pw) { - // TODO: dump ClatdTracker // TODO: move map dump to a global place to avoid duplicate dump while there are two or // more IPv6 only networks. + pw.println("CLAT tracker: " + mClatdTracker.toString()); pw.println("Forwarding rules:"); pw.increaseIndent(); dumpBpfIngress(pw); diff --git a/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java b/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java index 8dfe9246cc..feee2935db 100644 --- a/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java +++ b/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java @@ -525,16 +525,19 @@ public class ClatCoordinatorTest { coordinator.dump(ipw); final String[] dumpStrings = stringWriter.toString().split("\n"); - assertEquals(5, dumpStrings.length); - assertEquals("Forwarding rules:", dumpStrings[0].trim()); + assertEquals(6, dumpStrings.length); + assertEquals("CLAT tracker: iface: test0 (1000), v4iface: v4-test0 (1001), " + + "v4: /192.0.0.46, v6: /2001:db8:0:b11::464, pfx96: /64:ff9b::, " + + "pid: 10483, cookie: 27149", dumpStrings[0].trim()); + assertEquals("Forwarding rules:", dumpStrings[1].trim()); assertEquals("BPF ingress map: iif nat64Prefix v6Addr -> v4Addr oif", - dumpStrings[1].trim()); - assertEquals("1000 /64:ff9b::/96 /2001:db8:0:b11::464 -> /192.0.0.46 1001", dumpStrings[2].trim()); - assertEquals("BPF egress map: iif v4Addr -> v6Addr nat64Prefix oif", + assertEquals("1000 /64:ff9b::/96 /2001:db8:0:b11::464 -> /192.0.0.46 1001", dumpStrings[3].trim()); - assertEquals("1001 /192.0.0.46 -> /2001:db8:0:b11::464 /64:ff9b::/96 1000 ether", + assertEquals("BPF egress map: iif v4Addr -> v6Addr nat64Prefix oif", dumpStrings[4].trim()); + assertEquals("1001 /192.0.0.46 -> /2001:db8:0:b11::464 /64:ff9b::/96 1000 ether", + dumpStrings[5].trim()); } @Test