Merge "Fix mobile data usage didn't get increased for xlat464 traffic" am: e284b30c81
am: e74fb60c29 Change-Id: I670c09dd9aaf0e440a2e43b01cf1d94edbca28b7
This commit is contained in:
@@ -1187,14 +1187,22 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Traffic occurring on stacked interfaces is usually clatd,
|
// Traffic occurring on stacked interfaces is usually clatd.
|
||||||
// which is already accounted against its final egress interface
|
// UID stats are always counted on the stacked interface and never
|
||||||
// by the kernel. Thus, we only need to collect stacked
|
// on the base interface, because the packets on the base interface
|
||||||
// interface stats at the UID level.
|
// do not actually match application sockets until they are translated.
|
||||||
|
//
|
||||||
|
// Interface stats are more complicated. Packets subject to BPF offload
|
||||||
|
// never appear on the base interface and only appear on the stacked
|
||||||
|
// interface, so to ensure those packets increment interface stats, interface
|
||||||
|
// stats from stacked interfaces must be collected.
|
||||||
final List<LinkProperties> stackedLinks = state.linkProperties.getStackedLinks();
|
final List<LinkProperties> stackedLinks = state.linkProperties.getStackedLinks();
|
||||||
for (LinkProperties stackedLink : stackedLinks) {
|
for (LinkProperties stackedLink : stackedLinks) {
|
||||||
final String stackedIface = stackedLink.getInterfaceName();
|
final String stackedIface = stackedLink.getInterfaceName();
|
||||||
if (stackedIface != null) {
|
if (stackedIface != null) {
|
||||||
|
if (mUseBpfTrafficStats) {
|
||||||
|
findOrCreateNetworkIdentitySet(mActiveIfaces, stackedIface).add(ident);
|
||||||
|
}
|
||||||
findOrCreateNetworkIdentitySet(mActiveUidIfaces, stackedIface).add(ident);
|
findOrCreateNetworkIdentitySet(mActiveUidIfaces, stackedIface).add(ident);
|
||||||
if (isMobile) {
|
if (isMobile) {
|
||||||
mobileIfaces.add(stackedIface);
|
mobileIfaces.add(stackedIface);
|
||||||
|
|||||||
Reference in New Issue
Block a user