From de5fb7370b7c0de750299ef268cba1da9c7ff3e5 Mon Sep 17 00:00:00 2001 From: Hungming Chen Date: Mon, 3 Oct 2022 21:53:30 +0800 Subject: [PATCH] Add toString() to Ipv6ForwardingRule Needed because default Ipv6ForwardingRule#toString doesn't dump actual data. It is hard to know why two rule comparison failed in the test failure. Bug: 250552545 Test: atest BpfCoordinatorTest Change-Id: Iaf29c888238573c7c9a0a4e0bd65fbe468084e51 --- .../android/networkstack/tethering/BpfCoordinator.java | 9 +++++++++ .../networkstack/tethering/BpfCoordinatorTest.java | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java index 74ba209c8d..ebc9d26c4c 100644 --- a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java +++ b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java @@ -1473,6 +1473,15 @@ public class BpfCoordinator { // to Objects.hash() to avoid autoboxing overhead. return Objects.hash(upstreamIfindex, downstreamIfindex, address, srcMac, dstMac); } + + @Override + public String toString() { + return "upstreamIfindex: " + upstreamIfindex + + ", downstreamIfindex: " + downstreamIfindex + + ", address: " + address.getHostAddress() + + ", srcMac: " + srcMac + + ", dstMac: " + dstMac; + } } /** Tethering client information class. */ diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java index ac92b43e60..bbca56574b 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java @@ -2092,4 +2092,11 @@ public class BpfCoordinatorTest { assertNull(mBpfUpstream4Map.getValue(upstream4KeyB)); assertNull(mBpfDownstream4Map.getValue(downstream4KeyB)); } + + @Test + public void testIpv6ForwardingRuleToString() throws Exception { + final Ipv6ForwardingRule rule = buildTestForwardingRule(UPSTREAM_IFINDEX, NEIGH_A, MAC_A); + assertEquals("upstreamIfindex: 1001, downstreamIfindex: 1003, address: 2001:db8::1, " + + "srcMac: 12:34:56:78:90:ab, dstMac: 00:00:00:00:00:0a", rule.toString()); + } }