Merge changes Id2a6bfdf,I5cab2b78
* changes: Remove qtaguid support in NetworkStatsFactory Refactor NetworkStatsFactoryTest
This commit is contained in:
@@ -17,9 +17,7 @@
|
|||||||
package com.android.server.net;
|
package com.android.server.net;
|
||||||
|
|
||||||
import static android.net.NetworkStats.INTERFACES_ALL;
|
import static android.net.NetworkStats.INTERFACES_ALL;
|
||||||
import static android.net.NetworkStats.SET_ALL;
|
|
||||||
import static android.net.NetworkStats.TAG_ALL;
|
import static android.net.NetworkStats.TAG_ALL;
|
||||||
import static android.net.NetworkStats.TAG_NONE;
|
|
||||||
import static android.net.NetworkStats.UID_ALL;
|
import static android.net.NetworkStats.UID_ALL;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
@@ -28,19 +26,12 @@ import android.content.Context;
|
|||||||
import android.net.NetworkStats;
|
import android.net.NetworkStats;
|
||||||
import android.net.UnderlyingNetworkInfo;
|
import android.net.UnderlyingNetworkInfo;
|
||||||
import android.os.ServiceSpecificException;
|
import android.os.ServiceSpecificException;
|
||||||
import android.os.StrictMode;
|
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
|
|
||||||
import com.android.internal.annotations.GuardedBy;
|
import com.android.internal.annotations.GuardedBy;
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.util.ProcFileReader;
|
|
||||||
import com.android.net.module.util.CollectionUtils;
|
|
||||||
import com.android.server.BpfNetMaps;
|
import com.android.server.BpfNetMaps;
|
||||||
|
|
||||||
import libcore.io.IoUtils;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.ProtocolException;
|
import java.net.ProtocolException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -61,18 +52,6 @@ public class NetworkStatsFactory {
|
|||||||
|
|
||||||
private static final String TAG = "NetworkStatsFactory";
|
private static final String TAG = "NetworkStatsFactory";
|
||||||
|
|
||||||
private static final boolean USE_NATIVE_PARSING = true;
|
|
||||||
private static final boolean VALIDATE_NATIVE_STATS = false;
|
|
||||||
|
|
||||||
/** Path to {@code /proc/net/xt_qtaguid/iface_stat_all}. */
|
|
||||||
private final File mStatsXtIfaceAll;
|
|
||||||
/** Path to {@code /proc/net/xt_qtaguid/iface_stat_fmt}. */
|
|
||||||
private final File mStatsXtIfaceFmt;
|
|
||||||
/** Path to {@code /proc/net/xt_qtaguid/stats}. */
|
|
||||||
private final File mStatsXtUid;
|
|
||||||
|
|
||||||
private final boolean mUseBpfStats;
|
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
|
|
||||||
private final BpfNetMaps mBpfNetMaps;
|
private final BpfNetMaps mBpfNetMaps;
|
||||||
@@ -96,6 +75,49 @@ public class NetworkStatsFactory {
|
|||||||
@GuardedBy("mPersistentDataLock")
|
@GuardedBy("mPersistentDataLock")
|
||||||
private NetworkStats mTunAnd464xlatAdjustedStats;
|
private NetworkStats mTunAnd464xlatAdjustedStats;
|
||||||
|
|
||||||
|
private final Dependencies mDeps;
|
||||||
|
/**
|
||||||
|
* Dependencies of NetworkStatsFactory, for injection in tests.
|
||||||
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
|
public static class Dependencies {
|
||||||
|
/**
|
||||||
|
* Parse detailed statistics from bpf into given {@link NetworkStats} object. Values
|
||||||
|
* are expected to monotonically increase since device boot.
|
||||||
|
*/
|
||||||
|
@NonNull
|
||||||
|
public NetworkStats getNetworkStatsDetail(int limitUid, @Nullable String[] limitIfaces,
|
||||||
|
int limitTag) throws IOException {
|
||||||
|
final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 0);
|
||||||
|
// TODO: remove both path and useBpfStats arguments.
|
||||||
|
// The path is never used if useBpfStats is true.
|
||||||
|
final int ret = nativeReadNetworkStatsDetail(stats, null /* path */,
|
||||||
|
limitUid, limitIfaces, limitTag, true /* useBpfStats */);
|
||||||
|
if (ret != 0) {
|
||||||
|
throw new IOException("Failed to parse network stats");
|
||||||
|
}
|
||||||
|
return stats;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Parse device summary statistics from bpf into given {@link NetworkStats} object. Values
|
||||||
|
* are expected to monotonically increase since device boot.
|
||||||
|
*/
|
||||||
|
@NonNull
|
||||||
|
public NetworkStats getNetworkStatsDev() throws IOException {
|
||||||
|
final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 6);
|
||||||
|
final int ret = nativeReadNetworkStatsDev(stats);
|
||||||
|
if (ret != 0) {
|
||||||
|
throw new IOException("Failed to parse bpf iface stats");
|
||||||
|
}
|
||||||
|
return stats;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Create a new {@link BpfNetMaps}. */
|
||||||
|
public BpfNetMaps createBpfNetMaps(@NonNull Context ctx) {
|
||||||
|
return new BpfNetMaps(ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (Stacked interface) -> (base interface) association for all connected ifaces since boot.
|
* (Stacked interface) -> (base interface) association for all connected ifaces since boot.
|
||||||
*
|
*
|
||||||
@@ -164,30 +186,18 @@ public class NetworkStatsFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public NetworkStatsFactory(@NonNull Context ctx) {
|
public NetworkStatsFactory(@NonNull Context ctx) {
|
||||||
this(ctx, new File("/proc/"), true, new BpfNetMaps(ctx));
|
this(ctx, new Dependencies());
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public NetworkStatsFactory(@NonNull Context ctx, File procRoot, boolean useBpfStats,
|
public NetworkStatsFactory(@NonNull Context ctx, Dependencies deps) {
|
||||||
BpfNetMaps bpfNetMaps) {
|
mBpfNetMaps = deps.createBpfNetMaps(ctx);
|
||||||
mStatsXtIfaceAll = new File(procRoot, "net/xt_qtaguid/iface_stat_all");
|
|
||||||
mStatsXtIfaceFmt = new File(procRoot, "net/xt_qtaguid/iface_stat_fmt");
|
|
||||||
mStatsXtUid = new File(procRoot, "net/xt_qtaguid/stats");
|
|
||||||
mUseBpfStats = useBpfStats;
|
|
||||||
mBpfNetMaps = bpfNetMaps;
|
|
||||||
synchronized (mPersistentDataLock) {
|
synchronized (mPersistentDataLock) {
|
||||||
mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1);
|
mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1);
|
||||||
mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1);
|
mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1);
|
||||||
}
|
}
|
||||||
mContext = ctx;
|
mContext = ctx;
|
||||||
}
|
mDeps = deps;
|
||||||
|
|
||||||
public NetworkStats readBpfNetworkStatsDev() throws IOException {
|
|
||||||
final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 6);
|
|
||||||
if (nativeReadNetworkStatsDev(stats) != 0) {
|
|
||||||
throw new IOException("Failed to parse bpf iface stats");
|
|
||||||
}
|
|
||||||
return stats;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -195,106 +205,18 @@ public class NetworkStatsFactory {
|
|||||||
* using {@code /proc/net/dev} style hooks, which may include non IP layer
|
* using {@code /proc/net/dev} style hooks, which may include non IP layer
|
||||||
* traffic. Values monotonically increase since device boot, and may include
|
* traffic. Values monotonically increase since device boot, and may include
|
||||||
* details about inactive interfaces.
|
* details about inactive interfaces.
|
||||||
*
|
|
||||||
* @throws IllegalStateException when problem parsing stats.
|
|
||||||
*/
|
*/
|
||||||
public NetworkStats readNetworkStatsSummaryDev() throws IOException {
|
public NetworkStats readNetworkStatsSummaryDev() throws IOException {
|
||||||
|
return mDeps.getNetworkStatsDev();
|
||||||
// Return xt_bpf stats if switched to bpf module.
|
|
||||||
if (mUseBpfStats)
|
|
||||||
return readBpfNetworkStatsDev();
|
|
||||||
|
|
||||||
final StrictMode.ThreadPolicy savedPolicy = StrictMode.allowThreadDiskReads();
|
|
||||||
|
|
||||||
final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 6);
|
|
||||||
final NetworkStats.Entry entry = new NetworkStats.Entry();
|
|
||||||
|
|
||||||
ProcFileReader reader = null;
|
|
||||||
try {
|
|
||||||
reader = new ProcFileReader(new FileInputStream(mStatsXtIfaceAll));
|
|
||||||
|
|
||||||
while (reader.hasMoreData()) {
|
|
||||||
entry.iface = reader.nextString();
|
|
||||||
entry.uid = UID_ALL;
|
|
||||||
entry.set = SET_ALL;
|
|
||||||
entry.tag = TAG_NONE;
|
|
||||||
|
|
||||||
final boolean active = reader.nextInt() != 0;
|
|
||||||
|
|
||||||
// always include snapshot values
|
|
||||||
entry.rxBytes = reader.nextLong();
|
|
||||||
entry.rxPackets = reader.nextLong();
|
|
||||||
entry.txBytes = reader.nextLong();
|
|
||||||
entry.txPackets = reader.nextLong();
|
|
||||||
|
|
||||||
// fold in active numbers, but only when active
|
|
||||||
if (active) {
|
|
||||||
entry.rxBytes += reader.nextLong();
|
|
||||||
entry.rxPackets += reader.nextLong();
|
|
||||||
entry.txBytes += reader.nextLong();
|
|
||||||
entry.txPackets += reader.nextLong();
|
|
||||||
}
|
|
||||||
|
|
||||||
stats.insertEntry(entry);
|
|
||||||
reader.finishLine();
|
|
||||||
}
|
|
||||||
} catch (NullPointerException|NumberFormatException e) {
|
|
||||||
throw protocolExceptionWithCause("problem parsing stats", e);
|
|
||||||
} finally {
|
|
||||||
IoUtils.closeQuietly(reader);
|
|
||||||
StrictMode.setThreadPolicy(savedPolicy);
|
|
||||||
}
|
|
||||||
return stats;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse and return interface-level summary {@link NetworkStats}. Designed
|
* Parse and return interface-level summary {@link NetworkStats}. Designed
|
||||||
* to return only IP layer traffic. Values monotonically increase since
|
* to return only IP layer traffic. Values monotonically increase since
|
||||||
* device boot, and may include details about inactive interfaces.
|
* device boot, and may include details about inactive interfaces.
|
||||||
*
|
|
||||||
* @throws IllegalStateException when problem parsing stats.
|
|
||||||
*/
|
*/
|
||||||
public NetworkStats readNetworkStatsSummaryXt() throws IOException {
|
public NetworkStats readNetworkStatsSummaryXt() throws IOException {
|
||||||
|
return mDeps.getNetworkStatsDev();
|
||||||
// Return xt_bpf stats if qtaguid module is replaced.
|
|
||||||
if (mUseBpfStats)
|
|
||||||
return readBpfNetworkStatsDev();
|
|
||||||
|
|
||||||
final StrictMode.ThreadPolicy savedPolicy = StrictMode.allowThreadDiskReads();
|
|
||||||
|
|
||||||
// return null when kernel doesn't support
|
|
||||||
if (!mStatsXtIfaceFmt.exists()) return null;
|
|
||||||
|
|
||||||
final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 6);
|
|
||||||
final NetworkStats.Entry entry = new NetworkStats.Entry();
|
|
||||||
|
|
||||||
ProcFileReader reader = null;
|
|
||||||
try {
|
|
||||||
// open and consume header line
|
|
||||||
reader = new ProcFileReader(new FileInputStream(mStatsXtIfaceFmt));
|
|
||||||
reader.finishLine();
|
|
||||||
|
|
||||||
while (reader.hasMoreData()) {
|
|
||||||
entry.iface = reader.nextString();
|
|
||||||
entry.uid = UID_ALL;
|
|
||||||
entry.set = SET_ALL;
|
|
||||||
entry.tag = TAG_NONE;
|
|
||||||
|
|
||||||
entry.rxBytes = reader.nextLong();
|
|
||||||
entry.rxPackets = reader.nextLong();
|
|
||||||
entry.txBytes = reader.nextLong();
|
|
||||||
entry.txPackets = reader.nextLong();
|
|
||||||
|
|
||||||
stats.insertEntry(entry);
|
|
||||||
reader.finishLine();
|
|
||||||
}
|
|
||||||
} catch (NullPointerException|NumberFormatException e) {
|
|
||||||
throw protocolExceptionWithCause("problem parsing stats", e);
|
|
||||||
} finally {
|
|
||||||
IoUtils.closeQuietly(reader);
|
|
||||||
StrictMode.setThreadPolicy(savedPolicy);
|
|
||||||
}
|
|
||||||
return stats;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public NetworkStats readNetworkStatsDetail() throws IOException {
|
public NetworkStats readNetworkStatsDetail() throws IOException {
|
||||||
@@ -331,38 +253,14 @@ public class NetworkStatsFactory {
|
|||||||
// Take a defensive copy. mPersistSnapshot is mutated in some cases below
|
// Take a defensive copy. mPersistSnapshot is mutated in some cases below
|
||||||
final NetworkStats prev = mPersistSnapshot.clone();
|
final NetworkStats prev = mPersistSnapshot.clone();
|
||||||
|
|
||||||
if (USE_NATIVE_PARSING) {
|
requestSwapActiveStatsMapLocked();
|
||||||
final NetworkStats stats =
|
// Stats are always read from the inactive map, so they must be read after the
|
||||||
new NetworkStats(SystemClock.elapsedRealtime(), 0 /* initialSize */);
|
// swap
|
||||||
if (mUseBpfStats) {
|
final NetworkStats stats = mDeps.getNetworkStatsDetail(
|
||||||
requestSwapActiveStatsMapLocked();
|
UID_ALL, INTERFACES_ALL, TAG_ALL);
|
||||||
// Stats are always read from the inactive map, so they must be read after the
|
// BPF stats are incremental; fold into mPersistSnapshot.
|
||||||
// swap
|
mPersistSnapshot.setElapsedRealtime(stats.getElapsedRealtime());
|
||||||
if (nativeReadNetworkStatsDetail(stats, mStatsXtUid.getAbsolutePath(), UID_ALL,
|
mPersistSnapshot.combineAllValues(stats);
|
||||||
INTERFACES_ALL, TAG_ALL, mUseBpfStats) != 0) {
|
|
||||||
throw new IOException("Failed to parse network stats");
|
|
||||||
}
|
|
||||||
|
|
||||||
// BPF stats are incremental; fold into mPersistSnapshot.
|
|
||||||
mPersistSnapshot.setElapsedRealtime(stats.getElapsedRealtime());
|
|
||||||
mPersistSnapshot.combineAllValues(stats);
|
|
||||||
} else {
|
|
||||||
if (nativeReadNetworkStatsDetail(stats, mStatsXtUid.getAbsolutePath(), UID_ALL,
|
|
||||||
INTERFACES_ALL, TAG_ALL, mUseBpfStats) != 0) {
|
|
||||||
throw new IOException("Failed to parse network stats");
|
|
||||||
}
|
|
||||||
if (VALIDATE_NATIVE_STATS) {
|
|
||||||
final NetworkStats javaStats = javaReadNetworkStatsDetail(mStatsXtUid,
|
|
||||||
UID_ALL, INTERFACES_ALL, TAG_ALL);
|
|
||||||
assertEquals(javaStats, stats);
|
|
||||||
}
|
|
||||||
|
|
||||||
mPersistSnapshot = stats;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
mPersistSnapshot = javaReadNetworkStatsDetail(mStatsXtUid, UID_ALL, INTERFACES_ALL,
|
|
||||||
TAG_ALL);
|
|
||||||
}
|
|
||||||
|
|
||||||
NetworkStats adjustedStats = adjustForTunAnd464Xlat(mPersistSnapshot, prev, vpnArray);
|
NetworkStats adjustedStats = adjustForTunAnd464Xlat(mPersistSnapshot, prev, vpnArray);
|
||||||
|
|
||||||
@@ -399,62 +297,6 @@ public class NetworkStatsFactory {
|
|||||||
return mTunAnd464xlatAdjustedStats.clone();
|
return mTunAnd464xlatAdjustedStats.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Parse and return {@link NetworkStats} with UID-level details. Values are
|
|
||||||
* expected to monotonically increase since device boot.
|
|
||||||
*/
|
|
||||||
@VisibleForTesting
|
|
||||||
public static NetworkStats javaReadNetworkStatsDetail(File detailPath, int limitUid,
|
|
||||||
String[] limitIfaces, int limitTag)
|
|
||||||
throws IOException {
|
|
||||||
final StrictMode.ThreadPolicy savedPolicy = StrictMode.allowThreadDiskReads();
|
|
||||||
|
|
||||||
final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 24);
|
|
||||||
final NetworkStats.Entry entry = new NetworkStats.Entry();
|
|
||||||
|
|
||||||
int idx = 1;
|
|
||||||
int lastIdx = 1;
|
|
||||||
|
|
||||||
ProcFileReader reader = null;
|
|
||||||
try {
|
|
||||||
// open and consume header line
|
|
||||||
reader = new ProcFileReader(new FileInputStream(detailPath));
|
|
||||||
reader.finishLine();
|
|
||||||
|
|
||||||
while (reader.hasMoreData()) {
|
|
||||||
idx = reader.nextInt();
|
|
||||||
if (idx != lastIdx + 1) {
|
|
||||||
throw new ProtocolException(
|
|
||||||
"inconsistent idx=" + idx + " after lastIdx=" + lastIdx);
|
|
||||||
}
|
|
||||||
lastIdx = idx;
|
|
||||||
|
|
||||||
entry.iface = reader.nextString();
|
|
||||||
entry.tag = kernelToTag(reader.nextString());
|
|
||||||
entry.uid = reader.nextInt();
|
|
||||||
entry.set = reader.nextInt();
|
|
||||||
entry.rxBytes = reader.nextLong();
|
|
||||||
entry.rxPackets = reader.nextLong();
|
|
||||||
entry.txBytes = reader.nextLong();
|
|
||||||
entry.txPackets = reader.nextLong();
|
|
||||||
|
|
||||||
if ((limitIfaces == null || CollectionUtils.contains(limitIfaces, entry.iface))
|
|
||||||
&& (limitUid == UID_ALL || limitUid == entry.uid)
|
|
||||||
&& (limitTag == TAG_ALL || limitTag == entry.tag)) {
|
|
||||||
stats.insertEntry(entry);
|
|
||||||
}
|
|
||||||
|
|
||||||
reader.finishLine();
|
|
||||||
}
|
|
||||||
} catch (NullPointerException|NumberFormatException e) {
|
|
||||||
throw protocolExceptionWithCause("problem parsing idx " + idx, e);
|
|
||||||
} finally {
|
|
||||||
IoUtils.closeQuietly(reader);
|
|
||||||
StrictMode.setThreadPolicy(savedPolicy);
|
|
||||||
}
|
|
||||||
|
|
||||||
return stats;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void assertEquals(NetworkStats expected, NetworkStats actual) {
|
public void assertEquals(NetworkStats expected, NetworkStats actual) {
|
||||||
if (expected.size() != actual.size()) {
|
if (expected.size() != actual.size()) {
|
||||||
|
|||||||
@@ -33,23 +33,26 @@ import static com.android.testutils.DevSdkIgnoreRuleKt.SC_V2;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.net.NetworkStats;
|
import android.net.NetworkStats;
|
||||||
import android.net.TrafficStats;
|
import android.net.TrafficStats;
|
||||||
import android.net.UnderlyingNetworkInfo;
|
import android.net.UnderlyingNetworkInfo;
|
||||||
|
import android.os.SystemClock;
|
||||||
|
|
||||||
import androidx.test.InstrumentationRegistry;
|
import androidx.test.InstrumentationRegistry;
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
import com.android.frameworks.tests.net.R;
|
import com.android.frameworks.tests.net.R;
|
||||||
|
import com.android.internal.util.ProcFileReader;
|
||||||
import com.android.server.BpfNetMaps;
|
import com.android.server.BpfNetMaps;
|
||||||
import com.android.testutils.DevSdkIgnoreRule;
|
import com.android.testutils.DevSdkIgnoreRule;
|
||||||
import com.android.testutils.DevSdkIgnoreRunner;
|
import com.android.testutils.DevSdkIgnoreRunner;
|
||||||
|
|
||||||
import libcore.io.IoUtils;
|
import libcore.io.IoUtils;
|
||||||
import libcore.io.Streams;
|
|
||||||
import libcore.testing.io.TestIoUtils;
|
import libcore.testing.io.TestIoUtils;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
@@ -60,10 +63,8 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.IOException;
|
||||||
import java.io.FileWriter;
|
import java.net.ProtocolException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
|
|
||||||
/** Tests for {@link NetworkStatsFactory}. */
|
/** Tests for {@link NetworkStatsFactory}. */
|
||||||
@RunWith(DevSdkIgnoreRunner.class)
|
@RunWith(DevSdkIgnoreRunner.class)
|
||||||
@@ -75,6 +76,7 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
private File mTestProc;
|
private File mTestProc;
|
||||||
private NetworkStatsFactory mFactory;
|
private NetworkStatsFactory mFactory;
|
||||||
@Mock private Context mContext;
|
@Mock private Context mContext;
|
||||||
|
@Mock private NetworkStatsFactory.Dependencies mDeps;
|
||||||
@Mock private BpfNetMaps mBpfNetMaps;
|
@Mock private BpfNetMaps mBpfNetMaps;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@@ -86,7 +88,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// applications. So in order to have a test support native library, the native code
|
// applications. So in order to have a test support native library, the native code
|
||||||
// related to networkStatsFactory is compiled to a minimal native library and loaded here.
|
// related to networkStatsFactory is compiled to a minimal native library and loaded here.
|
||||||
System.loadLibrary("networkstatsfactorytestjni");
|
System.loadLibrary("networkstatsfactorytestjni");
|
||||||
mFactory = new NetworkStatsFactory(mContext, mTestProc, false, mBpfNetMaps);
|
doReturn(mBpfNetMaps).when(mDeps).createBpfNetMaps(any());
|
||||||
|
mFactory = new NetworkStatsFactory(mContext, mDeps);
|
||||||
mFactory.updateUnderlyingNetworkInfos(new UnderlyingNetworkInfo[0]);
|
mFactory.updateUnderlyingNetworkInfos(new UnderlyingNetworkInfo[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,7 +100,7 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNetworkStatsDetail() throws Exception {
|
public void testNetworkStatsDetail() throws Exception {
|
||||||
final NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_typical);
|
final NetworkStats stats = factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_typical);
|
||||||
|
|
||||||
assertEquals(70, stats.size());
|
assertEquals(70, stats.size());
|
||||||
assertStatsEntry(stats, "wlan0", 0, SET_DEFAULT, 0x0, 18621L, 2898L);
|
assertStatsEntry(stats, "wlan0", 0, SET_DEFAULT, 0x0, 18621L, 2898L);
|
||||||
@@ -122,8 +125,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// over VPN.
|
// over VPN.
|
||||||
//
|
//
|
||||||
// VPN UID rewrites packets read from TUN back to TUN, plus some of its own traffic
|
// VPN UID rewrites packets read from TUN back to TUN, plus some of its own traffic
|
||||||
|
final NetworkStats tunStats =
|
||||||
final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_rewrite_through_self);
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_rewrite_through_self);
|
||||||
|
|
||||||
assertValues(tunStats, TUN_IFACE, UID_RED, SET_ALL, TAG_NONE, METERED_ALL, ROAMING_ALL,
|
assertValues(tunStats, TUN_IFACE, UID_RED, SET_ALL, TAG_NONE, METERED_ALL, ROAMING_ALL,
|
||||||
DEFAULT_NETWORK_ALL, 2000L, 200L, 1000L, 100L, 0);
|
DEFAULT_NETWORK_ALL, 2000L, 200L, 1000L, 100L, 0);
|
||||||
@@ -164,7 +167,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// UID_RED: 2000 bytes, 200 packets
|
// UID_RED: 2000 bytes, 200 packets
|
||||||
// UID_BLUE: 1000 bytes, 100 packets
|
// UID_BLUE: 1000 bytes, 100 packets
|
||||||
// UID_VPN: 6300 bytes, 0 packets
|
// UID_VPN: 6300 bytes, 0 packets
|
||||||
final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_with_clat);
|
final NetworkStats tunStats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_with_clat);
|
||||||
|
|
||||||
assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_RED, 2000L, 200L, 1000, 100L);
|
assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_RED, 2000L, 200L, 1000, 100L);
|
||||||
assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
||||||
@@ -188,7 +192,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// attributed to UID_BLUE, and 150 bytes attributed to UID_VPN.
|
// attributed to UID_BLUE, and 150 bytes attributed to UID_VPN.
|
||||||
// Of 3300 bytes received over WiFi, expect 2000 bytes attributed to UID_RED, 1000 bytes
|
// Of 3300 bytes received over WiFi, expect 2000 bytes attributed to UID_RED, 1000 bytes
|
||||||
// attributed to UID_BLUE, and 300 bytes attributed to UID_VPN.
|
// attributed to UID_BLUE, and 300 bytes attributed to UID_VPN.
|
||||||
final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying);
|
final NetworkStats tunStats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_one_underlying);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
||||||
@@ -217,7 +222,7 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// Of 8800 bytes received over WiFi, expect 2000 bytes attributed to UID_RED, 1000 bytes
|
// Of 8800 bytes received over WiFi, expect 2000 bytes attributed to UID_RED, 1000 bytes
|
||||||
// attributed to UID_BLUE, and 5800 bytes attributed to UID_VPN.
|
// attributed to UID_BLUE, and 5800 bytes attributed to UID_VPN.
|
||||||
final NetworkStats tunStats =
|
final NetworkStats tunStats =
|
||||||
parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying_own_traffic);
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_one_underlying_own_traffic);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
||||||
@@ -239,7 +244,7 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// Of 1000 bytes over WiFi, expect 250 bytes attributed UID_RED and 750 bytes to UID_BLUE,
|
// Of 1000 bytes over WiFi, expect 250 bytes attributed UID_RED and 750 bytes to UID_BLUE,
|
||||||
// with nothing attributed to UID_VPN for both rx/tx traffic.
|
// with nothing attributed to UID_VPN for both rx/tx traffic.
|
||||||
final NetworkStats tunStats =
|
final NetworkStats tunStats =
|
||||||
parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying_compression);
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_one_underlying_compression);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 250L, 25L, 250L, 25L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 250L, 25L, 250L, 25L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_BLUE, 750L, 75L, 750L, 75L);
|
assertValues(tunStats, TEST_IFACE, UID_BLUE, 750L, 75L, 750L, 75L);
|
||||||
@@ -263,7 +268,7 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// - 500 bytes rx/tx each over WiFi/Cell attributed to both UID_RED and UID_BLUE.
|
// - 500 bytes rx/tx each over WiFi/Cell attributed to both UID_RED and UID_BLUE.
|
||||||
// - 1200 bytes rx/tx each over WiFi/Cell for VPN_UID.
|
// - 1200 bytes rx/tx each over WiFi/Cell for VPN_UID.
|
||||||
final NetworkStats tunStats =
|
final NetworkStats tunStats =
|
||||||
parseDetailedStats(R.raw.xt_qtaguid_vpn_two_underlying_duplication);
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_two_underlying_duplication);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 500L, 50L, 500L, 50L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 500L, 50L, 500L, 50L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_BLUE, 500L, 50L, 500L, 50L);
|
assertValues(tunStats, TEST_IFACE, UID_BLUE, 500L, 50L, 500L, 50L);
|
||||||
@@ -303,7 +308,7 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// Of 3850 bytes received over Cell, expect 3000 bytes attributed to UID_RED, 500 bytes
|
// Of 3850 bytes received over Cell, expect 3000 bytes attributed to UID_RED, 500 bytes
|
||||||
// attributed to UID_BLUE, and 350 bytes attributed to UID_VPN.
|
// attributed to UID_BLUE, and 350 bytes attributed to UID_VPN.
|
||||||
final NetworkStats tunStats =
|
final NetworkStats tunStats =
|
||||||
parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying_two_vpn);
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_one_underlying_two_vpn);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
|
||||||
@@ -333,7 +338,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
//
|
//
|
||||||
// For UID_VPN, expect 60 bytes attributed over WiFi and 40 bytes over Cell for tx traffic.
|
// For UID_VPN, expect 60 bytes attributed over WiFi and 40 bytes over Cell for tx traffic.
|
||||||
// And, 30 bytes over WiFi and 20 bytes over Cell for rx traffic.
|
// And, 30 bytes over WiFi and 20 bytes over Cell for rx traffic.
|
||||||
final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_two_underlying_split);
|
final NetworkStats tunStats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_two_underlying_split);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 300L, 30L, 600L, 60L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 300L, 30L, 600L, 60L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_VPN, 30L, 0L, 60L, 0L);
|
assertValues(tunStats, TEST_IFACE, UID_VPN, 30L, 0L, 60L, 0L);
|
||||||
@@ -357,7 +363,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// rx/tx.
|
// rx/tx.
|
||||||
// UID_VPN gets nothing attributed to it (avoiding negative stats).
|
// UID_VPN gets nothing attributed to it (avoiding negative stats).
|
||||||
final NetworkStats tunStats =
|
final NetworkStats tunStats =
|
||||||
parseDetailedStats(R.raw.xt_qtaguid_vpn_two_underlying_split_compression);
|
factoryReadNetworkStatsDetail(
|
||||||
|
R.raw.xt_qtaguid_vpn_two_underlying_split_compression);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 600L, 60L, 600L, 60L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 600L, 60L, 600L, 60L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
|
assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
|
||||||
@@ -378,7 +385,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
|
// 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
|
||||||
// VPN sent/received 1100 bytes (100 packets) over Cell.
|
// VPN sent/received 1100 bytes (100 packets) over Cell.
|
||||||
// Of 1100 bytes over Cell, expect all of it attributed to UID_VPN for both rx/tx traffic.
|
// Of 1100 bytes over Cell, expect all of it attributed to UID_VPN for both rx/tx traffic.
|
||||||
final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_incorrect_iface);
|
final NetworkStats tunStats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_vpn_incorrect_iface);
|
||||||
|
|
||||||
assertValues(tunStats, TEST_IFACE, UID_RED, 0L, 0L, 0L, 0L);
|
assertValues(tunStats, TEST_IFACE, UID_RED, 0L, 0L, 0L, 0L);
|
||||||
assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
|
assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
|
||||||
@@ -403,36 +411,15 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNetworkStatsWithSet() throws Exception {
|
public void testNetworkStatsWithSet() throws Exception {
|
||||||
final NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_typical);
|
final NetworkStats stats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_typical);
|
||||||
|
|
||||||
assertEquals(70, stats.size());
|
assertEquals(70, stats.size());
|
||||||
assertStatsEntry(stats, "rmnet1", 10021, SET_DEFAULT, 0x30100000, 219110L, 578L, 227423L,
|
assertStatsEntry(stats, "rmnet1", 10021, SET_DEFAULT, 0x30100000, 219110L, 578L, 227423L,
|
||||||
676L);
|
676L);
|
||||||
assertStatsEntry(stats, "rmnet1", 10021, SET_FOREGROUND, 0x30100000, 742L, 3L, 1265L, 3L);
|
assertStatsEntry(stats, "rmnet1", 10021, SET_FOREGROUND, 0x30100000, 742L, 3L, 1265L, 3L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testNetworkStatsSingle() throws Exception {
|
|
||||||
stageFile(R.raw.xt_qtaguid_iface_typical, file("net/xt_qtaguid/iface_stat_all"));
|
|
||||||
|
|
||||||
final NetworkStats stats = mFactory.readNetworkStatsSummaryDev();
|
|
||||||
assertEquals(6, stats.size());
|
|
||||||
assertStatsEntry(stats, "rmnet0", UID_ALL, SET_ALL, TAG_NONE, 2112L, 24L, 700L, 10L);
|
|
||||||
assertStatsEntry(stats, "test1", UID_ALL, SET_ALL, TAG_NONE, 6L, 8L, 10L, 12L);
|
|
||||||
assertStatsEntry(stats, "test2", UID_ALL, SET_ALL, TAG_NONE, 1L, 2L, 3L, 4L);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testNetworkStatsXt() throws Exception {
|
|
||||||
stageFile(R.raw.xt_qtaguid_iface_fmt_typical, file("net/xt_qtaguid/iface_stat_fmt"));
|
|
||||||
|
|
||||||
final NetworkStats stats = mFactory.readNetworkStatsSummaryXt();
|
|
||||||
assertEquals(3, stats.size());
|
|
||||||
assertStatsEntry(stats, "rmnet0", UID_ALL, SET_ALL, TAG_NONE, 6824L, 16L, 5692L, 10L);
|
|
||||||
assertStatsEntry(stats, "rmnet1", UID_ALL, SET_ALL, TAG_NONE, 11153922L, 8051L, 190226L,
|
|
||||||
2468L);
|
|
||||||
assertStatsEntry(stats, "rmnet2", UID_ALL, SET_ALL, TAG_NONE, 4968L, 35L, 3081L, 39L);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDoubleClatAccountingSimple() throws Exception {
|
public void testDoubleClatAccountingSimple() throws Exception {
|
||||||
mFactory.noteStackedIface("v4-wlan0", "wlan0");
|
mFactory.noteStackedIface("v4-wlan0", "wlan0");
|
||||||
@@ -441,7 +428,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
// - 213 received 464xlat packets of size 200 bytes
|
// - 213 received 464xlat packets of size 200 bytes
|
||||||
// - 41 sent 464xlat packets of size 100 bytes
|
// - 41 sent 464xlat packets of size 100 bytes
|
||||||
// - no other traffic on base interface for root uid.
|
// - no other traffic on base interface for root uid.
|
||||||
NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat_simple);
|
final NetworkStats stats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_with_clat_simple);
|
||||||
assertEquals(3, stats.size());
|
assertEquals(3, stats.size());
|
||||||
|
|
||||||
assertStatsEntry(stats, "v4-wlan0", 10060, SET_DEFAULT, 0x0, 46860L, 4920L);
|
assertStatsEntry(stats, "v4-wlan0", 10060, SET_DEFAULT, 0x0, 46860L, 4920L);
|
||||||
@@ -452,7 +440,8 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
public void testDoubleClatAccounting() throws Exception {
|
public void testDoubleClatAccounting() throws Exception {
|
||||||
mFactory.noteStackedIface("v4-wlan0", "wlan0");
|
mFactory.noteStackedIface("v4-wlan0", "wlan0");
|
||||||
|
|
||||||
NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat);
|
final NetworkStats stats =
|
||||||
|
factoryReadNetworkStatsDetail(R.raw.xt_qtaguid_with_clat);
|
||||||
assertEquals(42, stats.size());
|
assertEquals(42, stats.size());
|
||||||
|
|
||||||
assertStatsEntry(stats, "v4-wlan0", 0, SET_DEFAULT, 0x0, 356L, 276L);
|
assertStatsEntry(stats, "v4-wlan0", 0, SET_DEFAULT, 0x0, 356L, 276L);
|
||||||
@@ -473,65 +462,78 @@ public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
|
|||||||
assertNoStatsEntry(stats, "wlan0", 1029, SET_DEFAULT, 0x0);
|
assertNoStatsEntry(stats, "wlan0", 1029, SET_DEFAULT, 0x0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
private NetworkStats parseNetworkStatsFromGoldenSample(int resourceId, int initialSize,
|
||||||
public void testDoubleClatAccounting100MBDownload() throws Exception {
|
boolean consumeHeader, boolean checkActive, boolean isUidData) throws IOException {
|
||||||
// Downloading 100mb from an ipv4 only destination in a foreground activity
|
final NetworkStats stats =
|
||||||
|
new NetworkStats(SystemClock.elapsedRealtime(), initialSize);
|
||||||
long appRxBytesBefore = 328684029L;
|
final NetworkStats.Entry entry = new NetworkStats.Entry();
|
||||||
long appRxBytesAfter = 439237478L;
|
ProcFileReader reader = null;
|
||||||
assertEquals("App traffic should be ~100MB", 110553449, appRxBytesAfter - appRxBytesBefore);
|
int idx = 1;
|
||||||
|
int lastIdx = 1;
|
||||||
long rootRxBytes = 330187296L;
|
|
||||||
|
|
||||||
mFactory.noteStackedIface("v4-wlan0", "wlan0");
|
|
||||||
NetworkStats stats;
|
|
||||||
|
|
||||||
// Stats snapshot before the download
|
|
||||||
stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat_100mb_download_before);
|
|
||||||
assertStatsEntry(stats, "v4-wlan0", 10106, SET_FOREGROUND, 0x0, appRxBytesBefore, 5199872L);
|
|
||||||
assertStatsEntry(stats, "wlan0", 0, SET_DEFAULT, 0x0, rootRxBytes, 0L);
|
|
||||||
|
|
||||||
// Stats snapshot after the download
|
|
||||||
stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat_100mb_download_after);
|
|
||||||
assertStatsEntry(stats, "v4-wlan0", 10106, SET_FOREGROUND, 0x0, appRxBytesAfter, 7867488L);
|
|
||||||
assertStatsEntry(stats, "wlan0", 0, SET_DEFAULT, 0x0, rootRxBytes, 0L);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copy a {@link Resources#openRawResource(int)} into {@link File} for
|
|
||||||
* testing purposes.
|
|
||||||
*/
|
|
||||||
private void stageFile(int rawId, File file) throws Exception {
|
|
||||||
new File(file.getParent()).mkdirs();
|
|
||||||
InputStream in = null;
|
|
||||||
OutputStream out = null;
|
|
||||||
try {
|
try {
|
||||||
in = InstrumentationRegistry.getContext().getResources().openRawResource(rawId);
|
reader = new ProcFileReader(InstrumentationRegistry.getContext().getResources()
|
||||||
out = new FileOutputStream(file);
|
.openRawResource(resourceId));
|
||||||
Streams.copy(in, out);
|
|
||||||
|
if (consumeHeader) {
|
||||||
|
reader.finishLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
while (reader.hasMoreData()) {
|
||||||
|
if (isUidData) {
|
||||||
|
idx = reader.nextInt();
|
||||||
|
if (idx != lastIdx + 1) {
|
||||||
|
throw new ProtocolException(
|
||||||
|
"inconsistent idx=" + idx + " after lastIdx=" + lastIdx);
|
||||||
|
}
|
||||||
|
lastIdx = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry.iface = reader.nextString();
|
||||||
|
// Read the uid based information from file. Otherwise, assign with target value.
|
||||||
|
entry.tag = isUidData ? kernelToTag(reader.nextString()) : TAG_NONE;
|
||||||
|
entry.uid = isUidData ? reader.nextInt() : UID_ALL;
|
||||||
|
entry.set = isUidData ? reader.nextInt() : SET_ALL;
|
||||||
|
|
||||||
|
// For fetching active numbers. Dev specific
|
||||||
|
final boolean active = checkActive ? reader.nextInt() != 0 : false;
|
||||||
|
|
||||||
|
// Always include snapshot values
|
||||||
|
entry.rxBytes = reader.nextLong();
|
||||||
|
entry.rxPackets = reader.nextLong();
|
||||||
|
entry.txBytes = reader.nextLong();
|
||||||
|
entry.txPackets = reader.nextLong();
|
||||||
|
|
||||||
|
// Fold in active numbers, but only when active
|
||||||
|
if (active) {
|
||||||
|
entry.rxBytes += reader.nextLong();
|
||||||
|
entry.rxPackets += reader.nextLong();
|
||||||
|
entry.txBytes += reader.nextLong();
|
||||||
|
entry.txPackets += reader.nextLong();
|
||||||
|
}
|
||||||
|
|
||||||
|
stats.insertEntry(entry);
|
||||||
|
reader.finishLine();
|
||||||
|
}
|
||||||
|
} catch (NullPointerException | NumberFormatException e) {
|
||||||
|
final String errMsg = isUidData
|
||||||
|
? "problem parsing idx " + idx : "problem parsing stats";
|
||||||
|
final ProtocolException pe = new ProtocolException(errMsg);
|
||||||
|
pe.initCause(e);
|
||||||
|
throw pe;
|
||||||
} finally {
|
} finally {
|
||||||
IoUtils.closeQuietly(in);
|
IoUtils.closeQuietly(reader);
|
||||||
IoUtils.closeQuietly(out);
|
|
||||||
}
|
}
|
||||||
|
return stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void stageLong(long value, File file) throws Exception {
|
private NetworkStats factoryReadNetworkStatsDetail(int resourceId) throws Exception {
|
||||||
new File(file.getParent()).mkdirs();
|
// Choose a general detail stats sample size from the experiences to prevent from
|
||||||
FileWriter out = null;
|
// frequently allocating buckets.
|
||||||
try {
|
final NetworkStats statsFromResource = parseNetworkStatsFromGoldenSample(resourceId,
|
||||||
out = new FileWriter(file);
|
24 /* initialSize */, true /* consumeHeader */, false /* checkActive */,
|
||||||
out.write(Long.toString(value));
|
true /* isUidData */);
|
||||||
} finally {
|
doReturn(statsFromResource).when(mDeps).getNetworkStatsDetail(anyInt(), any(),
|
||||||
IoUtils.closeQuietly(out);
|
anyInt());
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private File file(String path) throws Exception {
|
|
||||||
return new File(mTestProc, path);
|
|
||||||
}
|
|
||||||
|
|
||||||
private NetworkStats parseDetailedStats(int resourceId) throws Exception {
|
|
||||||
stageFile(resourceId, file("net/xt_qtaguid/stats"));
|
|
||||||
return mFactory.readNetworkStatsDetail();
|
return mFactory.readNetworkStatsDetail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
ifname total_skb_rx_bytes total_skb_rx_packets total_skb_tx_bytes total_skb_tx_packets
|
|
||||||
rmnet2 4968 35 3081 39
|
|
||||||
rmnet1 11153922 8051 190226 2468
|
|
||||||
rmnet0 6824 16 5692 10
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
rmnet3 1 0 0 0 0 20822 501 1149991 815
|
|
||||||
rmnet2 1 0 0 0 0 1594 15 1313 15
|
|
||||||
rmnet1 1 0 0 0 0 207398 458 166918 565
|
|
||||||
rmnet0 1 0 0 0 0 2112 24 700 10
|
|
||||||
test1 1 1 2 3 4 5 6 7 8
|
|
||||||
test2 0 1 2 3 4 5 6 7 8
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
||||||
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
3 test1 0x0 1004 0 1100 100 1100 100 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test1 0x0 1004 0 1100 100 1100 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packe
|
|||||||
2 test_nss_tun0 0x0 1001 0 2000 200 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
2 test_nss_tun0 0x0 1001 0 2000 200 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
5 test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
5 test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
||||||
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
3 test_nss_tun0 0x0 1002 0 3000 300 3000 300 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test_nss_tun0 0x0 1002 0 3000 300 3000 300 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test0 0x0 1004 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test0 0x0 1004 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -3,4 +3,4 @@ idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packe
|
|||||||
3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test_nss_tun0 0x0 1004 0 5000 500 6000 600 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test_nss_tun0 0x0 1004 0 5000 500 6000 600 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
5 test0 0x0 1004 0 8800 800 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
5 test0 0x0 1004 0 8800 800 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
6 test0 0x0 1004 1 0 0 8250 750 0 0 0 0 0 0 0 0 0 0 0 0
|
6 test0 0x0 1004 1 0 0 8250 750 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packe
|
|||||||
6 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
6 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
7 test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
7 test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
8 test1 0x0 1004 0 3850 350 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
8 test1 0x0 1004 0 3850 350 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
9 test1 0x0 1004 1 0 0 1045 95 0 0 0 0 0 0 0 0 0 0 0 0
|
9 test1 0x0 1004 1 0 0 1045 95 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -3,4 +3,4 @@ idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packe
|
|||||||
3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test_nss_tun0 0x0 1004 0 0 0 1600 160 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test_nss_tun0 0x0 1004 0 0 0 1600 160 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
5 test0 0x0 1004 1 0 0 1760 176 0 0 0 0 0 0 0 0 0 0 0 0
|
5 test0 0x0 1004 1 0 0 1760 176 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
6 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
6 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -2,4 +2,4 @@ idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packe
|
|||||||
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
3 test_nss_tun0 0x0 1002 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test_nss_tun0 0x0 1002 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test0 0x0 1004 0 2200 200 2200 200 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test0 0x0 1004 0 2200 200 2200 200 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
5 test1 0x0 1004 0 2200 200 2200 200 0 0 0 0 0 0 0 0 0 0 0 0
|
5 test1 0x0 1004 0 2200 200 2200 200 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
||||||
2 test_nss_tun0 0x0 1001 0 500 50 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
2 test_nss_tun0 0x0 1001 0 500 50 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
3 test0 0x0 1004 0 330 30 660 60 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test0 0x0 1004 0 330 30 660 60 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test1 0x0 1004 0 220 20 440 40 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test1 0x0 1004 0 220 20 440 40 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
||||||
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
3 test0 0x0 1004 0 600 60 600 60 0 0 0 0 0 0 0 0 0 0 0 0
|
3 test0 0x0 1004 0 600 60 600 60 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
4 test1 0x0 1004 0 200 20 200 20 0 0 0 0 0 0 0 0 0 0 0 0
|
4 test1 0x0 1004 0 200 20 200 20 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packe
|
|||||||
5 v4-test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
5 v4-test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
6 test0 0x0 0 0 9300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
6 test0 0x0 0 0 9300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
7 test0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
7 test0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
8 test0 0x0 1029 0 0 0 4650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
8 test0 0x0 1029 0 0 0 4650 150 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
|||||||
@@ -1,189 +0,0 @@
|
|||||||
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
|
||||||
2 r_rmnet_data0 0x0 0 0 0 0 392 6 0 0 0 0 0 0 0 0 0 0 392 6
|
|
||||||
3 r_rmnet_data0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
4 v4-wlan0 0x0 0 0 58952 2072 2888 65 264 6 0 0 58688 2066 132 3 0 0 2756 62
|
|
||||||
5 v4-wlan0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
6 v4-wlan0 0x0 10034 0 6192 11 1445 11 6192 11 0 0 0 0 1445 11 0 0 0 0
|
|
||||||
7 v4-wlan0 0x0 10034 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
8 v4-wlan0 0x0 10057 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
9 v4-wlan0 0x0 10057 1 728 7 392 7 0 0 728 7 0 0 0 0 392 7 0 0
|
|
||||||
10 v4-wlan0 0x0 10106 0 2232 18 2232 18 0 0 2232 18 0 0 0 0 2232 18 0 0
|
|
||||||
11 v4-wlan0 0x0 10106 1 432952718 314238 5442288 121260 432950238 314218 2480 20 0 0 5433900 121029 8388 231 0 0
|
|
||||||
12 wlan0 0x0 0 0 330187296 250652 0 0 329106990 236273 226202 1255 854104 13124 0 0 0 0 0 0
|
|
||||||
13 wlan0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
14 wlan0 0x0 1000 0 77113 272 56151 575 77113 272 0 0 0 0 19191 190 36960 385 0 0
|
|
||||||
15 wlan0 0x0 1000 1 20227 80 8356 72 18539 74 1688 6 0 0 7562 66 794 6 0 0
|
|
||||||
16 wlan0 0x0 10006 0 80755 92 9122 99 80755 92 0 0 0 0 9122 99 0 0 0 0
|
|
||||||
17 wlan0 0x0 10006 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
18 wlan0 0x0 10015 0 4390 7 14824 252 4390 7 0 0 0 0 14824 252 0 0 0 0
|
|
||||||
19 wlan0 0x0 10015 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
20 wlan0 0x0 10018 0 4928 11 1741 14 4928 11 0 0 0 0 1741 14 0 0 0 0
|
|
||||||
21 wlan0 0x0 10018 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
22 wlan0 0x0 10020 0 21163552 34395 2351650 15326 21162947 34390 605 5 0 0 2351045 15321 605 5 0 0
|
|
||||||
23 wlan0 0x0 10020 1 13835740 12938 1548795 6365 13833754 12920 1986 18 0 0 1546809 6347 1986 18 0 0
|
|
||||||
24 wlan0 0x0 10023 0 13405 40 5042 44 13405 40 0 0 0 0 5042 44 0 0 0 0
|
|
||||||
25 wlan0 0x0 10023 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
26 wlan0 0x0 10034 0 436394741 342648 6237981 80442 436394741 342648 0 0 0 0 6237981 80442 0 0 0 0
|
|
||||||
27 wlan0 0x0 10034 1 64860872 51297 1335539 15546 64860872 51297 0 0 0 0 1335539 15546 0 0 0 0
|
|
||||||
28 wlan0 0x0 10044 0 17614444 14774 521004 5694 17329882 14432 284562 342 0 0 419974 5408 101030 286 0 0
|
|
||||||
29 wlan0 0x0 10044 1 17701 33 3100 28 17701 33 0 0 0 0 3100 28 0 0 0 0
|
|
||||||
30 wlan0 0x0 10057 0 12312074 9339 436098 5450 12248060 9263 64014 76 0 0 414224 5388 21874 62 0 0
|
|
||||||
31 wlan0 0x0 10057 1 1332953195 954797 31849632 457698 1331933207 953569 1019988 1228 0 0 31702284 456899 147348 799 0 0
|
|
||||||
32 wlan0 0x0 10060 0 32972 200 433705 380 32972 200 0 0 0 0 433705 380 0 0 0 0
|
|
||||||
33 wlan0 0x0 10060 1 32106 66 37789 87 32106 66 0 0 0 0 37789 87 0 0 0 0
|
|
||||||
34 wlan0 0x0 10061 0 7675 23 2509 22 7675 23 0 0 0 0 2509 22 0 0 0 0
|
|
||||||
35 wlan0 0x0 10061 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
36 wlan0 0x0 10074 0 38355 82 10447 97 38355 82 0 0 0 0 10447 97 0 0 0 0
|
|
||||||
37 wlan0 0x0 10074 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
38 wlan0 0x0 10078 0 49013 79 7167 69 49013 79 0 0 0 0 7167 69 0 0 0 0
|
|
||||||
39 wlan0 0x0 10078 1 5872 8 1236 10 5872 8 0 0 0 0 1236 10 0 0 0 0
|
|
||||||
40 wlan0 0x0 10082 0 8301 13 1981 15 8301 13 0 0 0 0 1981 15 0 0 0 0
|
|
||||||
41 wlan0 0x0 10082 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
42 wlan0 0x0 10086 0 7001 14 1579 15 7001 14 0 0 0 0 1579 15 0 0 0 0
|
|
||||||
43 wlan0 0x0 10086 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
44 wlan0 0x0 10090 0 24327795 20224 920502 14661 24327795 20224 0 0 0 0 920502 14661 0 0 0 0
|
|
||||||
45 wlan0 0x0 10090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
46 wlan0 0x0 10092 0 36849 78 12449 81 36849 78 0 0 0 0 12449 81 0 0 0 0
|
|
||||||
47 wlan0 0x0 10092 1 60 1 103 1 60 1 0 0 0 0 103 1 0 0 0 0
|
|
||||||
48 wlan0 0x0 10095 0 131962 223 37069 241 131962 223 0 0 0 0 37069 241 0 0 0 0
|
|
||||||
49 wlan0 0x0 10095 1 12949 21 3930 21 12949 21 0 0 0 0 3930 21 0 0 0 0
|
|
||||||
50 wlan0 0x0 10106 0 30899554 22679 632476 12296 30895334 22645 4220 34 0 0 628256 12262 4220 34 0 0
|
|
||||||
51 wlan0 0x0 10106 1 88923475 64963 1606962 35612 88917201 64886 3586 29 2688 48 1602032 35535 4930 77 0 0
|
|
||||||
52 wlan0 0x40700000000 10020 0 705732 10589 404428 5504 705732 10589 0 0 0 0 404428 5504 0 0 0 0
|
|
||||||
53 wlan0 0x40700000000 10020 1 2376 36 1296 18 2376 36 0 0 0 0 1296 18 0 0 0 0
|
|
||||||
54 wlan0 0x40800000000 10020 0 34624 146 122525 160 34624 146 0 0 0 0 122525 160 0 0 0 0
|
|
||||||
55 wlan0 0x40800000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
56 wlan0 0x40b00000000 10020 0 22411 85 7364 57 22411 85 0 0 0 0 7364 57 0 0 0 0
|
|
||||||
57 wlan0 0x40b00000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
58 wlan0 0x120300000000 10020 0 76641 241 32783 169 76641 241 0 0 0 0 32783 169 0 0 0 0
|
|
||||||
59 wlan0 0x120300000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
60 wlan0 0x130100000000 10020 0 73101 287 23236 203 73101 287 0 0 0 0 23236 203 0 0 0 0
|
|
||||||
61 wlan0 0x130100000000 10020 1 264 4 144 2 264 4 0 0 0 0 144 2 0 0 0 0
|
|
||||||
62 wlan0 0x180300000000 10020 0 330648 399 24736 232 330648 399 0 0 0 0 24736 232 0 0 0 0
|
|
||||||
63 wlan0 0x180300000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
64 wlan0 0x180400000000 10020 0 21865 59 5022 42 21865 59 0 0 0 0 5022 42 0 0 0 0
|
|
||||||
65 wlan0 0x180400000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
66 wlan0 0x300000000000 10020 0 15984 65 26927 57 15984 65 0 0 0 0 26927 57 0 0 0 0
|
|
||||||
67 wlan0 0x300000000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
68 wlan0 0x1065fff00000000 10020 0 131871 599 93783 445 131871 599 0 0 0 0 93783 445 0 0 0 0
|
|
||||||
69 wlan0 0x1065fff00000000 10020 1 264 4 144 2 264 4 0 0 0 0 144 2 0 0 0 0
|
|
||||||
70 wlan0 0x1b24f4600000000 10034 0 15445 42 23329 45 15445 42 0 0 0 0 23329 45 0 0 0 0
|
|
||||||
71 wlan0 0x1b24f4600000000 10034 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
72 wlan0 0x1000010000000000 10020 0 5542 9 1364 10 5542 9 0 0 0 0 1364 10 0 0 0 0
|
|
||||||
73 wlan0 0x1000010000000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
74 wlan0 0x1000040100000000 10020 0 47196 184 213319 257 47196 184 0 0 0 0 213319 257 0 0 0 0
|
|
||||||
75 wlan0 0x1000040100000000 10020 1 60 1 103 1 60 1 0 0 0 0 103 1 0 0 0 0
|
|
||||||
76 wlan0 0x1000040700000000 10020 0 11599 50 10786 47 11599 50 0 0 0 0 10786 47 0 0 0 0
|
|
||||||
77 wlan0 0x1000040700000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
78 wlan0 0x1000040800000000 10020 0 21902 145 174139 166 21902 145 0 0 0 0 174139 166 0 0 0 0
|
|
||||||
79 wlan0 0x1000040800000000 10020 1 8568 88 105743 90 8568 88 0 0 0 0 105743 90 0 0 0 0
|
|
||||||
80 wlan0 0x1000100300000000 10020 0 55213 118 194551 199 55213 118 0 0 0 0 194551 199 0 0 0 0
|
|
||||||
81 wlan0 0x1000100300000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
82 wlan0 0x1000120300000000 10020 0 50826 74 21153 70 50826 74 0 0 0 0 21153 70 0 0 0 0
|
|
||||||
83 wlan0 0x1000120300000000 10020 1 72 1 175 2 72 1 0 0 0 0 175 2 0 0 0 0
|
|
||||||
84 wlan0 0x1000180300000000 10020 0 744198 657 65437 592 744198 657 0 0 0 0 65437 592 0 0 0 0
|
|
||||||
85 wlan0 0x1000180300000000 10020 1 144719 132 10989 108 144719 132 0 0 0 0 10989 108 0 0 0 0
|
|
||||||
86 wlan0 0x1000180600000000 10020 0 4599 8 1928 10 4599 8 0 0 0 0 1928 10 0 0 0 0
|
|
||||||
87 wlan0 0x1000180600000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
88 wlan0 0x1000250000000000 10020 0 57740 98 13076 88 57740 98 0 0 0 0 13076 88 0 0 0 0
|
|
||||||
89 wlan0 0x1000250000000000 10020 1 328 3 414 4 207 2 121 1 0 0 293 3 121 1 0 0
|
|
||||||
90 wlan0 0x1000300000000000 10020 0 7675 30 31331 32 7675 30 0 0 0 0 31331 32 0 0 0 0
|
|
||||||
91 wlan0 0x1000300000000000 10020 1 30173 97 101335 100 30173 97 0 0 0 0 101335 100 0 0 0 0
|
|
||||||
92 wlan0 0x1000310200000000 10020 0 1681 9 2194 9 1681 9 0 0 0 0 2194 9 0 0 0 0
|
|
||||||
93 wlan0 0x1000310200000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
94 wlan0 0x1000360000000000 10020 0 5606 20 2831 20 5606 20 0 0 0 0 2831 20 0 0 0 0
|
|
||||||
95 wlan0 0x1000360000000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
96 wlan0 0x11065fff00000000 10020 0 18363 91 83367 104 18363 91 0 0 0 0 83367 104 0 0 0 0
|
|
||||||
97 wlan0 0x11065fff00000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
98 wlan0 0x3000009600000000 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
99 wlan0 0x3000009600000000 10020 1 6163 18 2424 18 6163 18 0 0 0 0 2424 18 0 0 0 0
|
|
||||||
100 wlan0 0x3000009800000000 10020 0 23337 46 8723 39 23337 46 0 0 0 0 8723 39 0 0 0 0
|
|
||||||
101 wlan0 0x3000009800000000 10020 1 33744 93 72437 89 33744 93 0 0 0 0 72437 89 0 0 0 0
|
|
||||||
102 wlan0 0x3000020000000000 10020 0 4124 11 8969 19 4124 11 0 0 0 0 8969 19 0 0 0 0
|
|
||||||
103 wlan0 0x3000020000000000 10020 1 5993 11 3815 14 5993 11 0 0 0 0 3815 14 0 0 0 0
|
|
||||||
104 wlan0 0x3000040100000000 10020 0 113809 342 135666 308 113809 342 0 0 0 0 135666 308 0 0 0 0
|
|
||||||
105 wlan0 0x3000040100000000 10020 1 142508 642 500579 637 142508 642 0 0 0 0 500579 637 0 0 0 0
|
|
||||||
106 wlan0 0x3000040700000000 10020 0 365815 5119 213340 2733 365815 5119 0 0 0 0 213340 2733 0 0 0 0
|
|
||||||
107 wlan0 0x3000040700000000 10020 1 30747 130 18408 100 30747 130 0 0 0 0 18408 100 0 0 0 0
|
|
||||||
108 wlan0 0x3000040800000000 10020 0 34672 112 68623 92 34672 112 0 0 0 0 68623 92 0 0 0 0
|
|
||||||
109 wlan0 0x3000040800000000 10020 1 78443 199 140944 192 78443 199 0 0 0 0 140944 192 0 0 0 0
|
|
||||||
110 wlan0 0x3000040b00000000 10020 0 14949 33 4017 26 14949 33 0 0 0 0 4017 26 0 0 0 0
|
|
||||||
111 wlan0 0x3000040b00000000 10020 1 996 15 576 8 996 15 0 0 0 0 576 8 0 0 0 0
|
|
||||||
112 wlan0 0x3000090000000000 10020 0 11826 67 7309 52 11826 67 0 0 0 0 7309 52 0 0 0 0
|
|
||||||
113 wlan0 0x3000090000000000 10020 1 24805 41 4785 41 24805 41 0 0 0 0 4785 41 0 0 0 0
|
|
||||||
114 wlan0 0x3000100300000000 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
115 wlan0 0x3000100300000000 10020 1 3112 10 1628 10 3112 10 0 0 0 0 1628 10 0 0 0 0
|
|
||||||
116 wlan0 0x3000120300000000 10020 0 38249 107 20374 85 38249 107 0 0 0 0 20374 85 0 0 0 0
|
|
||||||
117 wlan0 0x3000120300000000 10020 1 122581 174 36792 143 122581 174 0 0 0 0 36792 143 0 0 0 0
|
|
||||||
118 wlan0 0x3000130100000000 10020 0 2700 41 1524 21 2700 41 0 0 0 0 1524 21 0 0 0 0
|
|
||||||
119 wlan0 0x3000130100000000 10020 1 22515 59 8366 52 22515 59 0 0 0 0 8366 52 0 0 0 0
|
|
||||||
120 wlan0 0x3000180200000000 10020 0 6411 18 14511 20 6411 18 0 0 0 0 14511 20 0 0 0 0
|
|
||||||
121 wlan0 0x3000180200000000 10020 1 336 5 319 4 336 5 0 0 0 0 319 4 0 0 0 0
|
|
||||||
122 wlan0 0x3000180300000000 10020 0 129301 136 17622 97 129301 136 0 0 0 0 17622 97 0 0 0 0
|
|
||||||
123 wlan0 0x3000180300000000 10020 1 464787 429 41703 336 464787 429 0 0 0 0 41703 336 0 0 0 0
|
|
||||||
124 wlan0 0x3000180400000000 10020 0 11014 39 2787 25 11014 39 0 0 0 0 2787 25 0 0 0 0
|
|
||||||
125 wlan0 0x3000180400000000 10020 1 144040 139 7540 80 144040 139 0 0 0 0 7540 80 0 0 0 0
|
|
||||||
126 wlan0 0x3000210100000000 10020 0 10278 44 4579 33 10278 44 0 0 0 0 4579 33 0 0 0 0
|
|
||||||
127 wlan0 0x3000210100000000 10020 1 31151 73 14159 47 31151 73 0 0 0 0 14159 47 0 0 0 0
|
|
||||||
128 wlan0 0x3000250000000000 10020 0 132 2 72 1 132 2 0 0 0 0 72 1 0 0 0 0
|
|
||||||
129 wlan0 0x3000250000000000 10020 1 76614 143 17711 130 76080 137 534 6 0 0 17177 124 534 6 0 0
|
|
||||||
130 wlan0 0x3000260100000000 10020 0 9426 26 3535 20 9426 26 0 0 0 0 3535 20 0 0 0 0
|
|
||||||
131 wlan0 0x3000260100000000 10020 1 468 7 288 4 468 7 0 0 0 0 288 4 0 0 0 0
|
|
||||||
132 wlan0 0x3000300000000000 10020 0 7241 29 12055 26 7241 29 0 0 0 0 12055 26 0 0 0 0
|
|
||||||
133 wlan0 0x3000300000000000 10020 1 3273 23 11232 21 3273 23 0 0 0 0 11232 21 0 0 0 0
|
|
||||||
134 wlan0 0x3000310000000000 10020 0 132 2 72 1 132 2 0 0 0 0 72 1 0 0 0 0
|
|
||||||
135 wlan0 0x3000310000000000 10020 1 53425 64 8721 62 53425 64 0 0 0 0 8721 62 0 0 0 0
|
|
||||||
136 wlan0 0x3000310500000000 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
137 wlan0 0x3000310500000000 10020 1 9929 16 3879 18 9929 16 0 0 0 0 3879 18 0 0 0 0
|
|
||||||
138 wlan0 0x3000320100000000 10020 0 6844 14 3745 13 6844 14 0 0 0 0 3745 13 0 0 0 0
|
|
||||||
139 wlan0 0x3000320100000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
140 wlan0 0x3000360000000000 10020 0 8855 43 4749 31 8855 43 0 0 0 0 4749 31 0 0 0 0
|
|
||||||
141 wlan0 0x3000360000000000 10020 1 5597 19 2456 19 5597 19 0 0 0 0 2456 19 0 0 0 0
|
|
||||||
142 wlan0 0x3010000000000000 10090 0 605140 527 38435 429 605140 527 0 0 0 0 38435 429 0 0 0 0
|
|
||||||
143 wlan0 0x3010000000000000 10090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
144 wlan0 0x31065fff00000000 10020 0 22011 67 29665 64 22011 67 0 0 0 0 29665 64 0 0 0 0
|
|
||||||
145 wlan0 0x31065fff00000000 10020 1 10695 34 18347 35 10695 34 0 0 0 0 18347 35 0 0 0 0
|
|
||||||
146 wlan0 0x32e544f900000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
147 wlan0 0x32e544f900000000 10034 1 40143 54 7299 61 40143 54 0 0 0 0 7299 61 0 0 0 0
|
|
||||||
148 wlan0 0x58872a4400000000 10018 0 4928 11 1669 13 4928 11 0 0 0 0 1669 13 0 0 0 0
|
|
||||||
149 wlan0 0x58872a4400000000 10018 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
150 wlan0 0x5caeaa7b00000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
151 wlan0 0x5caeaa7b00000000 10034 1 74971 73 7103 75 74971 73 0 0 0 0 7103 75 0 0 0 0
|
|
||||||
152 wlan0 0x9e00923800000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
153 wlan0 0x9e00923800000000 10034 1 72385 98 13072 110 72385 98 0 0 0 0 13072 110 0 0 0 0
|
|
||||||
154 wlan0 0xb972bdd400000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
155 wlan0 0xb972bdd400000000 10034 1 15282 24 3034 27 15282 24 0 0 0 0 3034 27 0 0 0 0
|
|
||||||
156 wlan0 0xc7c9f7ba00000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
157 wlan0 0xc7c9f7ba00000000 10034 1 194915 185 13316 138 194915 185 0 0 0 0 13316 138 0 0 0 0
|
|
||||||
158 wlan0 0xc9395b2600000000 10034 0 6991 13 6215 14 6991 13 0 0 0 0 6215 14 0 0 0 0
|
|
||||||
159 wlan0 0xc9395b2600000000 10034 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
160 wlan0 0xdaddf21100000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
161 wlan0 0xdaddf21100000000 10034 1 928676 849 81570 799 928676 849 0 0 0 0 81570 799 0 0 0 0
|
|
||||||
162 wlan0 0xe8d195d100000000 10020 0 516 8 288 4 516 8 0 0 0 0 288 4 0 0 0 0
|
|
||||||
163 wlan0 0xe8d195d100000000 10020 1 5905 15 2622 15 5905 15 0 0 0 0 2622 15 0 0 0 0
|
|
||||||
164 wlan0 0xe8d195d100000000 10034 0 236640 524 312523 555 236640 524 0 0 0 0 312523 555 0 0 0 0
|
|
||||||
165 wlan0 0xe8d195d100000000 10034 1 319028 539 188776 553 319028 539 0 0 0 0 188776 553 0 0 0 0
|
|
||||||
166 wlan0 0xffffff0100000000 10006 0 80755 92 9122 99 80755 92 0 0 0 0 9122 99 0 0 0 0
|
|
||||||
167 wlan0 0xffffff0100000000 10006 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
168 wlan0 0xffffff0100000000 10020 0 17874405 14068 223987 3065 17874405 14068 0 0 0 0 223987 3065 0 0 0 0
|
|
||||||
169 wlan0 0xffffff0100000000 10020 1 11011258 8672 177693 2407 11011258 8672 0 0 0 0 177693 2407 0 0 0 0
|
|
||||||
170 wlan0 0xffffff0100000000 10034 0 436062595 341880 5843990 79630 436062595 341880 0 0 0 0 5843990 79630 0 0 0 0
|
|
||||||
171 wlan0 0xffffff0100000000 10034 1 63201220 49447 1005882 13713 63201220 49447 0 0 0 0 1005882 13713 0 0 0 0
|
|
||||||
172 wlan0 0xffffff0100000000 10044 0 17159287 13702 356212 4778 17159287 13702 0 0 0 0 356212 4778 0 0 0 0
|
|
||||||
173 wlan0 0xffffff0100000000 10044 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
174 wlan0 0xffffff0100000000 10078 0 10439 17 1665 15 10439 17 0 0 0 0 1665 15 0 0 0 0
|
|
||||||
175 wlan0 0xffffff0100000000 10078 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
176 wlan0 0xffffff0100000000 10090 0 23722655 19697 881995 14231 23722655 19697 0 0 0 0 881995 14231 0 0 0 0
|
|
||||||
177 wlan0 0xffffff0100000000 10090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
178 wlan0 0xffffff0500000000 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
179 wlan0 0xffffff0500000000 1000 1 1592 5 314 1 0 0 1592 5 0 0 0 0 314 1 0 0
|
|
||||||
180 wlan0 0xffffff0600000000 1000 0 0 0 36960 385 0 0 0 0 0 0 0 0 36960 385 0 0
|
|
||||||
181 wlan0 0xffffff0600000000 1000 1 96 1 480 5 0 0 96 1 0 0 0 0 480 5 0 0
|
|
||||||
182 wlan0 0xffffff0700000000 1000 0 38732 229 16567 163 38732 229 0 0 0 0 16567 163 0 0 0 0
|
|
||||||
183 wlan0 0xffffff0700000000 1000 1 18539 74 7562 66 18539 74 0 0 0 0 7562 66 0 0 0 0
|
|
||||||
184 wlan0 0xffffff0900000000 1000 0 38381 43 2624 27 38381 43 0 0 0 0 2624 27 0 0 0 0
|
|
||||||
185 wlan0 0xffffff0900000000 1000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
186 dummy0 0x0 0 0 0 0 168 3 0 0 0 0 0 0 0 0 0 0 168 3
|
|
||||||
187 dummy0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
188 wlan0 0x0 1029 0 0 0 8524052 130894 0 0 0 0 0 0 7871216 121284 108568 1325 544268 8285
|
|
||||||
189 wlan0 0x0 1029 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
@@ -1,187 +0,0 @@
|
|||||||
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
|
|
||||||
2 r_rmnet_data0 0x0 0 0 0 0 392 6 0 0 0 0 0 0 0 0 0 0 392 6
|
|
||||||
3 r_rmnet_data0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
4 v4-wlan0 0x0 0 0 58848 2070 2836 64 160 4 0 0 58688 2066 80 2 0 0 2756 62
|
|
||||||
5 v4-wlan0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
6 v4-wlan0 0x0 10034 0 6192 11 1445 11 6192 11 0 0 0 0 1445 11 0 0 0 0
|
|
||||||
7 v4-wlan0 0x0 10034 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
8 v4-wlan0 0x0 10057 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
9 v4-wlan0 0x0 10057 1 728 7 392 7 0 0 728 7 0 0 0 0 392 7 0 0
|
|
||||||
10 v4-wlan0 0x0 10106 0 1488 12 1488 12 0 0 1488 12 0 0 0 0 1488 12 0 0
|
|
||||||
11 v4-wlan0 0x0 10106 1 323981189 235142 3509032 84542 323979453 235128 1736 14 0 0 3502676 84363 6356 179 0 0
|
|
||||||
12 wlan0 0x0 0 0 330187296 250652 0 0 329106990 236273 226202 1255 854104 13124 0 0 0 0 0 0
|
|
||||||
13 wlan0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
14 wlan0 0x0 1000 0 77113 272 56151 575 77113 272 0 0 0 0 19191 190 36960 385 0 0
|
|
||||||
15 wlan0 0x0 1000 1 20227 80 8356 72 18539 74 1688 6 0 0 7562 66 794 6 0 0
|
|
||||||
16 wlan0 0x0 10006 0 80755 92 9122 99 80755 92 0 0 0 0 9122 99 0 0 0 0
|
|
||||||
17 wlan0 0x0 10006 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
18 wlan0 0x0 10015 0 4390 7 14824 252 4390 7 0 0 0 0 14824 252 0 0 0 0
|
|
||||||
19 wlan0 0x0 10015 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
20 wlan0 0x0 10018 0 4928 11 1741 14 4928 11 0 0 0 0 1741 14 0 0 0 0
|
|
||||||
21 wlan0 0x0 10018 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
22 wlan0 0x0 10020 0 21141412 34316 2329881 15262 21140807 34311 605 5 0 0 2329276 15257 605 5 0 0
|
|
||||||
23 wlan0 0x0 10020 1 13835740 12938 1548555 6362 13833754 12920 1986 18 0 0 1546569 6344 1986 18 0 0
|
|
||||||
24 wlan0 0x0 10023 0 13405 40 5042 44 13405 40 0 0 0 0 5042 44 0 0 0 0
|
|
||||||
25 wlan0 0x0 10023 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
26 wlan0 0x0 10034 0 436394741 342648 6237981 80442 436394741 342648 0 0 0 0 6237981 80442 0 0 0 0
|
|
||||||
27 wlan0 0x0 10034 1 64860872 51297 1335539 15546 64860872 51297 0 0 0 0 1335539 15546 0 0 0 0
|
|
||||||
28 wlan0 0x0 10044 0 17614444 14774 521004 5694 17329882 14432 284562 342 0 0 419974 5408 101030 286 0 0
|
|
||||||
29 wlan0 0x0 10044 1 17701 33 3100 28 17701 33 0 0 0 0 3100 28 0 0 0 0
|
|
||||||
30 wlan0 0x0 10057 0 12311735 9335 435954 5448 12247721 9259 64014 76 0 0 414080 5386 21874 62 0 0
|
|
||||||
31 wlan0 0x0 10057 1 1332953195 954797 31849632 457698 1331933207 953569 1019988 1228 0 0 31702284 456899 147348 799 0 0
|
|
||||||
32 wlan0 0x0 10060 0 32972 200 433705 380 32972 200 0 0 0 0 433705 380 0 0 0 0
|
|
||||||
33 wlan0 0x0 10060 1 32106 66 37789 87 32106 66 0 0 0 0 37789 87 0 0 0 0
|
|
||||||
34 wlan0 0x0 10061 0 7675 23 2509 22 7675 23 0 0 0 0 2509 22 0 0 0 0
|
|
||||||
35 wlan0 0x0 10061 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
36 wlan0 0x0 10074 0 38355 82 10447 97 38355 82 0 0 0 0 10447 97 0 0 0 0
|
|
||||||
37 wlan0 0x0 10074 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
38 wlan0 0x0 10078 0 49013 79 7167 69 49013 79 0 0 0 0 7167 69 0 0 0 0
|
|
||||||
39 wlan0 0x0 10078 1 5872 8 1236 10 5872 8 0 0 0 0 1236 10 0 0 0 0
|
|
||||||
40 wlan0 0x0 10082 0 8301 13 1981 15 8301 13 0 0 0 0 1981 15 0 0 0 0
|
|
||||||
41 wlan0 0x0 10082 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
42 wlan0 0x0 10086 0 7001 14 1579 15 7001 14 0 0 0 0 1579 15 0 0 0 0
|
|
||||||
43 wlan0 0x0 10086 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
44 wlan0 0x0 10090 0 24327795 20224 920502 14661 24327795 20224 0 0 0 0 920502 14661 0 0 0 0
|
|
||||||
45 wlan0 0x0 10090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
46 wlan0 0x0 10092 0 36849 78 12449 81 36849 78 0 0 0 0 12449 81 0 0 0 0
|
|
||||||
47 wlan0 0x0 10092 1 60 1 103 1 60 1 0 0 0 0 103 1 0 0 0 0
|
|
||||||
48 wlan0 0x0 10095 0 131962 223 37069 241 131962 223 0 0 0 0 37069 241 0 0 0 0
|
|
||||||
49 wlan0 0x0 10095 1 12949 21 3930 21 12949 21 0 0 0 0 3930 21 0 0 0 0
|
|
||||||
50 wlan0 0x0 10106 0 30899554 22679 632476 12296 30895334 22645 4220 34 0 0 628256 12262 4220 34 0 0
|
|
||||||
51 wlan0 0x0 10106 1 88922349 64952 1605126 35599 88916075 64875 3586 29 2688 48 1600196 35522 4930 77 0 0
|
|
||||||
52 wlan0 0x40700000000 10020 0 705732 10589 404428 5504 705732 10589 0 0 0 0 404428 5504 0 0 0 0
|
|
||||||
53 wlan0 0x40700000000 10020 1 2376 36 1296 18 2376 36 0 0 0 0 1296 18 0 0 0 0
|
|
||||||
54 wlan0 0x40800000000 10020 0 34624 146 122525 160 34624 146 0 0 0 0 122525 160 0 0 0 0
|
|
||||||
55 wlan0 0x40800000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
56 wlan0 0x40b00000000 10020 0 22411 85 7364 57 22411 85 0 0 0 0 7364 57 0 0 0 0
|
|
||||||
57 wlan0 0x40b00000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
58 wlan0 0x120300000000 10020 0 76641 241 32783 169 76641 241 0 0 0 0 32783 169 0 0 0 0
|
|
||||||
59 wlan0 0x120300000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
60 wlan0 0x130100000000 10020 0 73101 287 23236 203 73101 287 0 0 0 0 23236 203 0 0 0 0
|
|
||||||
61 wlan0 0x130100000000 10020 1 264 4 144 2 264 4 0 0 0 0 144 2 0 0 0 0
|
|
||||||
62 wlan0 0x180300000000 10020 0 330648 399 24736 232 330648 399 0 0 0 0 24736 232 0 0 0 0
|
|
||||||
63 wlan0 0x180300000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
64 wlan0 0x180400000000 10020 0 21865 59 5022 42 21865 59 0 0 0 0 5022 42 0 0 0 0
|
|
||||||
65 wlan0 0x180400000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
66 wlan0 0x300000000000 10020 0 15984 65 26927 57 15984 65 0 0 0 0 26927 57 0 0 0 0
|
|
||||||
67 wlan0 0x300000000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
68 wlan0 0x1065fff00000000 10020 0 131871 599 93783 445 131871 599 0 0 0 0 93783 445 0 0 0 0
|
|
||||||
69 wlan0 0x1065fff00000000 10020 1 264 4 144 2 264 4 0 0 0 0 144 2 0 0 0 0
|
|
||||||
70 wlan0 0x1b24f4600000000 10034 0 15445 42 23329 45 15445 42 0 0 0 0 23329 45 0 0 0 0
|
|
||||||
71 wlan0 0x1b24f4600000000 10034 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
72 wlan0 0x1000010000000000 10020 0 5542 9 1364 10 5542 9 0 0 0 0 1364 10 0 0 0 0
|
|
||||||
73 wlan0 0x1000010000000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
74 wlan0 0x1000040100000000 10020 0 47196 184 213319 257 47196 184 0 0 0 0 213319 257 0 0 0 0
|
|
||||||
75 wlan0 0x1000040100000000 10020 1 60 1 103 1 60 1 0 0 0 0 103 1 0 0 0 0
|
|
||||||
76 wlan0 0x1000040700000000 10020 0 11599 50 10786 47 11599 50 0 0 0 0 10786 47 0 0 0 0
|
|
||||||
77 wlan0 0x1000040700000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
78 wlan0 0x1000040800000000 10020 0 21902 145 174139 166 21902 145 0 0 0 0 174139 166 0 0 0 0
|
|
||||||
79 wlan0 0x1000040800000000 10020 1 8568 88 105743 90 8568 88 0 0 0 0 105743 90 0 0 0 0
|
|
||||||
80 wlan0 0x1000100300000000 10020 0 55213 118 194551 199 55213 118 0 0 0 0 194551 199 0 0 0 0
|
|
||||||
81 wlan0 0x1000100300000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
82 wlan0 0x1000120300000000 10020 0 50826 74 21153 70 50826 74 0 0 0 0 21153 70 0 0 0 0
|
|
||||||
83 wlan0 0x1000120300000000 10020 1 72 1 175 2 72 1 0 0 0 0 175 2 0 0 0 0
|
|
||||||
84 wlan0 0x1000180300000000 10020 0 744198 657 65437 592 744198 657 0 0 0 0 65437 592 0 0 0 0
|
|
||||||
85 wlan0 0x1000180300000000 10020 1 144719 132 10989 108 144719 132 0 0 0 0 10989 108 0 0 0 0
|
|
||||||
86 wlan0 0x1000180600000000 10020 0 4599 8 1928 10 4599 8 0 0 0 0 1928 10 0 0 0 0
|
|
||||||
87 wlan0 0x1000180600000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
88 wlan0 0x1000250000000000 10020 0 57740 98 13076 88 57740 98 0 0 0 0 13076 88 0 0 0 0
|
|
||||||
89 wlan0 0x1000250000000000 10020 1 328 3 414 4 207 2 121 1 0 0 293 3 121 1 0 0
|
|
||||||
90 wlan0 0x1000300000000000 10020 0 7675 30 31331 32 7675 30 0 0 0 0 31331 32 0 0 0 0
|
|
||||||
91 wlan0 0x1000300000000000 10020 1 30173 97 101335 100 30173 97 0 0 0 0 101335 100 0 0 0 0
|
|
||||||
92 wlan0 0x1000310200000000 10020 0 1681 9 2194 9 1681 9 0 0 0 0 2194 9 0 0 0 0
|
|
||||||
93 wlan0 0x1000310200000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
94 wlan0 0x1000360000000000 10020 0 5606 20 2831 20 5606 20 0 0 0 0 2831 20 0 0 0 0
|
|
||||||
95 wlan0 0x1000360000000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
96 wlan0 0x11065fff00000000 10020 0 18363 91 83367 104 18363 91 0 0 0 0 83367 104 0 0 0 0
|
|
||||||
97 wlan0 0x11065fff00000000 10020 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
98 wlan0 0x3000009600000000 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
99 wlan0 0x3000009600000000 10020 1 6163 18 2424 18 6163 18 0 0 0 0 2424 18 0 0 0 0
|
|
||||||
100 wlan0 0x3000009800000000 10020 0 23337 46 8723 39 23337 46 0 0 0 0 8723 39 0 0 0 0
|
|
||||||
101 wlan0 0x3000009800000000 10020 1 33744 93 72437 89 33744 93 0 0 0 0 72437 89 0 0 0 0
|
|
||||||
102 wlan0 0x3000020000000000 10020 0 4124 11 8969 19 4124 11 0 0 0 0 8969 19 0 0 0 0
|
|
||||||
103 wlan0 0x3000020000000000 10020 1 5993 11 3815 14 5993 11 0 0 0 0 3815 14 0 0 0 0
|
|
||||||
104 wlan0 0x3000040100000000 10020 0 106718 322 121557 287 106718 322 0 0 0 0 121557 287 0 0 0 0
|
|
||||||
105 wlan0 0x3000040100000000 10020 1 142508 642 500579 637 142508 642 0 0 0 0 500579 637 0 0 0 0
|
|
||||||
106 wlan0 0x3000040700000000 10020 0 365419 5113 213124 2730 365419 5113 0 0 0 0 213124 2730 0 0 0 0
|
|
||||||
107 wlan0 0x3000040700000000 10020 1 30747 130 18408 100 30747 130 0 0 0 0 18408 100 0 0 0 0
|
|
||||||
108 wlan0 0x3000040800000000 10020 0 34672 112 68623 92 34672 112 0 0 0 0 68623 92 0 0 0 0
|
|
||||||
109 wlan0 0x3000040800000000 10020 1 78443 199 140944 192 78443 199 0 0 0 0 140944 192 0 0 0 0
|
|
||||||
110 wlan0 0x3000040b00000000 10020 0 14949 33 4017 26 14949 33 0 0 0 0 4017 26 0 0 0 0
|
|
||||||
111 wlan0 0x3000040b00000000 10020 1 996 15 576 8 996 15 0 0 0 0 576 8 0 0 0 0
|
|
||||||
112 wlan0 0x3000090000000000 10020 0 4017 28 3610 25 4017 28 0 0 0 0 3610 25 0 0 0 0
|
|
||||||
113 wlan0 0x3000090000000000 10020 1 24805 41 4545 38 24805 41 0 0 0 0 4545 38 0 0 0 0
|
|
||||||
114 wlan0 0x3000100300000000 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
115 wlan0 0x3000100300000000 10020 1 3112 10 1628 10 3112 10 0 0 0 0 1628 10 0 0 0 0
|
|
||||||
116 wlan0 0x3000120300000000 10020 0 38249 107 20374 85 38249 107 0 0 0 0 20374 85 0 0 0 0
|
|
||||||
117 wlan0 0x3000120300000000 10020 1 122581 174 36792 143 122581 174 0 0 0 0 36792 143 0 0 0 0
|
|
||||||
118 wlan0 0x3000130100000000 10020 0 2700 41 1524 21 2700 41 0 0 0 0 1524 21 0 0 0 0
|
|
||||||
119 wlan0 0x3000130100000000 10020 1 22515 59 8366 52 22515 59 0 0 0 0 8366 52 0 0 0 0
|
|
||||||
120 wlan0 0x3000180200000000 10020 0 6411 18 14511 20 6411 18 0 0 0 0 14511 20 0 0 0 0
|
|
||||||
121 wlan0 0x3000180200000000 10020 1 336 5 319 4 336 5 0 0 0 0 319 4 0 0 0 0
|
|
||||||
122 wlan0 0x3000180300000000 10020 0 129301 136 17622 97 129301 136 0 0 0 0 17622 97 0 0 0 0
|
|
||||||
123 wlan0 0x3000180300000000 10020 1 464787 429 41703 336 464787 429 0 0 0 0 41703 336 0 0 0 0
|
|
||||||
124 wlan0 0x3000180400000000 10020 0 11014 39 2787 25 11014 39 0 0 0 0 2787 25 0 0 0 0
|
|
||||||
125 wlan0 0x3000180400000000 10020 1 144040 139 7540 80 144040 139 0 0 0 0 7540 80 0 0 0 0
|
|
||||||
126 wlan0 0x3000210100000000 10020 0 10278 44 4579 33 10278 44 0 0 0 0 4579 33 0 0 0 0
|
|
||||||
127 wlan0 0x3000210100000000 10020 1 31151 73 14159 47 31151 73 0 0 0 0 14159 47 0 0 0 0
|
|
||||||
128 wlan0 0x3000250000000000 10020 0 132 2 72 1 132 2 0 0 0 0 72 1 0 0 0 0
|
|
||||||
129 wlan0 0x3000250000000000 10020 1 76614 143 17711 130 76080 137 534 6 0 0 17177 124 534 6 0 0
|
|
||||||
130 wlan0 0x3000260100000000 10020 0 9426 26 3535 20 9426 26 0 0 0 0 3535 20 0 0 0 0
|
|
||||||
131 wlan0 0x3000260100000000 10020 1 468 7 288 4 468 7 0 0 0 0 288 4 0 0 0 0
|
|
||||||
132 wlan0 0x3000300000000000 10020 0 7241 29 12055 26 7241 29 0 0 0 0 12055 26 0 0 0 0
|
|
||||||
133 wlan0 0x3000300000000000 10020 1 3273 23 11232 21 3273 23 0 0 0 0 11232 21 0 0 0 0
|
|
||||||
134 wlan0 0x3000310000000000 10020 0 132 2 72 1 132 2 0 0 0 0 72 1 0 0 0 0
|
|
||||||
135 wlan0 0x3000310000000000 10020 1 53425 64 8721 62 53425 64 0 0 0 0 8721 62 0 0 0 0
|
|
||||||
136 wlan0 0x3000310500000000 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
137 wlan0 0x3000310500000000 10020 1 9929 16 3879 18 9929 16 0 0 0 0 3879 18 0 0 0 0
|
|
||||||
138 wlan0 0x3000360000000000 10020 0 8855 43 4749 31 8855 43 0 0 0 0 4749 31 0 0 0 0
|
|
||||||
139 wlan0 0x3000360000000000 10020 1 5597 19 2456 19 5597 19 0 0 0 0 2456 19 0 0 0 0
|
|
||||||
140 wlan0 0x3010000000000000 10090 0 605140 527 38435 429 605140 527 0 0 0 0 38435 429 0 0 0 0
|
|
||||||
141 wlan0 0x3010000000000000 10090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
142 wlan0 0x31065fff00000000 10020 0 22011 67 29665 64 22011 67 0 0 0 0 29665 64 0 0 0 0
|
|
||||||
143 wlan0 0x31065fff00000000 10020 1 10695 34 18347 35 10695 34 0 0 0 0 18347 35 0 0 0 0
|
|
||||||
144 wlan0 0x32e544f900000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
145 wlan0 0x32e544f900000000 10034 1 40143 54 7299 61 40143 54 0 0 0 0 7299 61 0 0 0 0
|
|
||||||
146 wlan0 0x58872a4400000000 10018 0 4928 11 1669 13 4928 11 0 0 0 0 1669 13 0 0 0 0
|
|
||||||
147 wlan0 0x58872a4400000000 10018 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
148 wlan0 0x5caeaa7b00000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
149 wlan0 0x5caeaa7b00000000 10034 1 74971 73 7103 75 74971 73 0 0 0 0 7103 75 0 0 0 0
|
|
||||||
150 wlan0 0x9e00923800000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
151 wlan0 0x9e00923800000000 10034 1 72385 98 13072 110 72385 98 0 0 0 0 13072 110 0 0 0 0
|
|
||||||
152 wlan0 0xb972bdd400000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
153 wlan0 0xb972bdd400000000 10034 1 15282 24 3034 27 15282 24 0 0 0 0 3034 27 0 0 0 0
|
|
||||||
154 wlan0 0xc7c9f7ba00000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
155 wlan0 0xc7c9f7ba00000000 10034 1 194915 185 13316 138 194915 185 0 0 0 0 13316 138 0 0 0 0
|
|
||||||
156 wlan0 0xc9395b2600000000 10034 0 6991 13 6215 14 6991 13 0 0 0 0 6215 14 0 0 0 0
|
|
||||||
157 wlan0 0xc9395b2600000000 10034 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
158 wlan0 0xdaddf21100000000 10034 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
159 wlan0 0xdaddf21100000000 10034 1 928676 849 81570 799 928676 849 0 0 0 0 81570 799 0 0 0 0
|
|
||||||
160 wlan0 0xe8d195d100000000 10020 0 516 8 288 4 516 8 0 0 0 0 288 4 0 0 0 0
|
|
||||||
161 wlan0 0xe8d195d100000000 10020 1 5905 15 2622 15 5905 15 0 0 0 0 2622 15 0 0 0 0
|
|
||||||
162 wlan0 0xe8d195d100000000 10034 0 236640 524 312523 555 236640 524 0 0 0 0 312523 555 0 0 0 0
|
|
||||||
163 wlan0 0xe8d195d100000000 10034 1 319028 539 188776 553 319028 539 0 0 0 0 188776 553 0 0 0 0
|
|
||||||
164 wlan0 0xffffff0100000000 10006 0 80755 92 9122 99 80755 92 0 0 0 0 9122 99 0 0 0 0
|
|
||||||
165 wlan0 0xffffff0100000000 10006 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
166 wlan0 0xffffff0100000000 10020 0 17874405 14068 223987 3065 17874405 14068 0 0 0 0 223987 3065 0 0 0 0
|
|
||||||
167 wlan0 0xffffff0100000000 10020 1 11011258 8672 177693 2407 11011258 8672 0 0 0 0 177693 2407 0 0 0 0
|
|
||||||
168 wlan0 0xffffff0100000000 10034 0 436062595 341880 5843990 79630 436062595 341880 0 0 0 0 5843990 79630 0 0 0 0
|
|
||||||
169 wlan0 0xffffff0100000000 10034 1 63201220 49447 1005882 13713 63201220 49447 0 0 0 0 1005882 13713 0 0 0 0
|
|
||||||
170 wlan0 0xffffff0100000000 10044 0 17159287 13702 356212 4778 17159287 13702 0 0 0 0 356212 4778 0 0 0 0
|
|
||||||
171 wlan0 0xffffff0100000000 10044 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
172 wlan0 0xffffff0100000000 10078 0 10439 17 1665 15 10439 17 0 0 0 0 1665 15 0 0 0 0
|
|
||||||
173 wlan0 0xffffff0100000000 10078 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
174 wlan0 0xffffff0100000000 10090 0 23722655 19697 881995 14231 23722655 19697 0 0 0 0 881995 14231 0 0 0 0
|
|
||||||
175 wlan0 0xffffff0100000000 10090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
176 wlan0 0xffffff0500000000 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
177 wlan0 0xffffff0500000000 1000 1 1592 5 314 1 0 0 1592 5 0 0 0 0 314 1 0 0
|
|
||||||
178 wlan0 0xffffff0600000000 1000 0 0 0 36960 385 0 0 0 0 0 0 0 0 36960 385 0 0
|
|
||||||
179 wlan0 0xffffff0600000000 1000 1 96 1 480 5 0 0 96 1 0 0 0 0 480 5 0 0
|
|
||||||
180 wlan0 0xffffff0700000000 1000 0 38732 229 16567 163 38732 229 0 0 0 0 16567 163 0 0 0 0
|
|
||||||
181 wlan0 0xffffff0700000000 1000 1 18539 74 7562 66 18539 74 0 0 0 0 7562 66 0 0 0 0
|
|
||||||
182 wlan0 0xffffff0900000000 1000 0 38381 43 2624 27 38381 43 0 0 0 0 2624 27 0 0 0 0
|
|
||||||
183 wlan0 0xffffff0900000000 1000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
184 dummy0 0x0 0 0 0 0 168 3 0 0 0 0 0 0 0 0 0 0 168 3
|
|
||||||
185 dummy0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
186 wlan0 0x0 1029 0 0 0 5855801 94173 0 0 0 0 0 0 5208040 84634 103637 1256 544124 8283
|
|
||||||
187 wlan0 0x0 1029 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
Reference in New Issue
Block a user