From 3004f0d8d9c2bd6e1ec4dd128cd8c2007af8926b Mon Sep 17 00:00:00 2001 From: Hungming Chen Date: Thu, 1 Jul 2021 11:35:06 +0800 Subject: [PATCH] Dump the protocol of IPv4 offload rule Print the protocol {tcp, udp} of v4 rules in dumpsys. Format: proto [inDstMac] iif(iface) src -> nat -> dst [outDstMac] age udp [00:00:00:00:00:00] 14(rmnet0) 74.125.10.156:443 -> 30(30) 10.254.92.123:60262 -> 192.168.128.240:60262 [0a:bd:b5:e0:41:53] 96067ms Bug: 190783768 Test: dumpsys tethering Change-Id: Idae1042cfb454cc97b9b103587f11bc0700e0787 --- .../networkstack/tethering/BpfCoordinator.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java index 56dc69cda5..2c1fd29d33 100644 --- a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java +++ b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java @@ -1069,10 +1069,11 @@ public class BpfCoordinator { throw new AssertionError("IP address array not valid IPv4 address!"); } + final String protoStr = (key.l4proto == OsConstants.IPPROTO_TCP) ? "tcp" : "udp"; final String ageStr = (value.lastUsed == 0) ? "-" : String.format("%dms", (now - value.lastUsed) / 1_000_000); - return String.format("[%s] %d(%s) %s:%d -> %d(%s) %s:%d -> %s:%d [%s] %s", - key.dstMac, key.iif, getIfName(key.iif), src4, key.srcPort, + return String.format("%s [%s] %d(%s) %s:%d -> %d(%s) %s:%d -> %s:%d [%s] %s", + protoStr, key.dstMac, key.iif, getIfName(key.iif), src4, key.srcPort, value.oif, getIfName(value.oif), public4, publicPort, dst4, value.dstPort, value.ethDstMac, ageStr); } @@ -1095,12 +1096,14 @@ public class BpfCoordinator { try (BpfMap upstreamMap = mDeps.getBpfUpstream4Map(); BpfMap downstreamMap = mDeps.getBpfDownstream4Map()) { - pw.println("IPv4 Upstream: [inDstMac] iif(iface) src -> nat -> dst [outDstMac] age"); + pw.println("IPv4 Upstream: proto [inDstMac] iif(iface) src -> nat -> " + + "dst [outDstMac] age"); pw.increaseIndent(); dumpIpv4ForwardingRuleMap(now, UPSTREAM, upstreamMap, pw); pw.decreaseIndent(); - pw.println("IPv4 Downstream: [inDstMac] iif(iface) src -> nat -> dst [outDstMac] age"); + pw.println("IPv4 Downstream: proto [inDstMac] iif(iface) src -> nat -> " + + "dst [outDstMac] age"); pw.increaseIndent(); dumpIpv4ForwardingRuleMap(now, DOWNSTREAM, downstreamMap, pw); pw.decreaseIndent();