Commit Graph

197 Commits

Author SHA1 Message Date
Jeff Sharkey
d4dbd985b8 Merge "Begin collecting xtables iface counters." into jb-dev am: 1e329235a6
Original change: undetermined

Change-Id: Ibda8099e60ccf095f14ac433896c344d4ad874b5
2021-05-31 05:29:58 +00:00
Jeff Sharkey
b2649bbe67 Support full 32 bits for socket tags. am: 528cf48b34
Original change: undetermined

Change-Id: I0f3805aead4ccbe44738f66d34c8d0be7f3f6b97
2021-05-31 05:29:14 +00:00
Jeff Sharkey
f09e632335 Pipe DHCP vendor info towards framework. am: d6075598cb
Original change: undetermined

Change-Id: I036af97e82b8ffc62bd745733ece4974093e6e6e
2021-05-31 05:28:23 +00:00
Jeff Sharkey
10485cf869 API to report if active network is metered. am: d00b130332
Original change: undetermined

Change-Id: Iec8831e29ecdae115d1468380467e01802f75eb6
2021-05-31 05:27:56 +00:00
Jeff Sharkey
99732343de Migrate to @Override to remove warnings. am: 078d356a9b
Original change: undetermined

Change-Id: Iaba016fbd8e2803aae910cec366d14b71d05da61
2021-05-31 05:27:42 +00:00
Jeff Sharkey
2d6480dd66 Support metered Wi-Fi NetworkPolicy. am: 2d9e5a5f9e
Original change: undetermined

Change-Id: Ib8038840a80ab8b21b1f425afc6427169745ae7e
2021-05-31 05:27:14 +00:00
Irfan Sheriff
80a9c0bbec Improve Wi-Fi hand-off am: b9f329f633
Original change: undetermined

Change-Id: I718d815a282684a97427802c2ca1f5632fb5481a
2021-05-31 05:26:34 +00:00
Doug Zongker
97c9b10241 store the hw addr in the extraInfo field of ethernet NetworkInfos am: b1a238dbb3
Original change: undetermined

Change-Id: I4fc5d3cc752ce7b7b88ef313f26c1e9af47c1a63
2021-05-31 05:25:20 +00:00
Jeff Sharkey
d1b9e02bc9 Unify shorthand for byte-based units. am: b3a842ef9c
Original change: undetermined

Change-Id: Ic9124ec7ec56f56bbd9263c2541c30a35470861f
2021-05-31 05:24:51 +00:00
Jeff Sharkey
db4ca2cb46 Deprecate ACTION_BACKGROUND_DATA_SETTING_CHANGED. am: c958c77f1a
Original change: undetermined

Change-Id: Ic3944170c85029ce52fd7c6b85a0bb8fd9203438
2021-05-31 05:24:38 +00:00
Jeff Sharkey
1e329235a6 Merge "Begin collecting xtables iface counters." into jb-dev 2012-05-04 12:53:02 -07:00
Jeff Sharkey
528cf48b34 Support full 32 bits for socket tags.
Bug: 5321184
Change-Id: Iadb3a4ad541ef012cea35b70ad440eca4c879f42
2012-05-02 16:01:14 -07:00
Jeff Sharkey
5cc4da38f0 Begin collecting xtables iface counters.
Add method to parse new iface_stat_fmt proc stats, or return null
when kernel support is unavailable. Add test and remove older, unused
parsing code. Create new "xt" recorder to persist the new xtables
counters when available.

Add SSID support to NetworkIdentity to fix policy tests.

Bug: 6422414
Change-Id: I77f70e9acb79a559ab626f3af5c4f3599801ed43
2012-05-01 21:04:26 -07:00
Jeff Sharkey
d6075598cb Pipe DHCP vendor info towards framework.
Bug: 6344821
Change-Id: Ifb9a93c995f4d70f4ae2aa03b7e21f13013ef3b6
2012-04-18 21:55:14 -07:00
Jeff Sharkey
d00b130332 API to report if active network is metered.
Report to developers if active network is "metered" and define it
as the user being sensitive to heavy data usage.

Bug: 3001465
Change-Id: I855ca3cd3eb1de3c4814148d70ccf24957af898a
2012-04-16 11:20:27 -07:00
Jeff Sharkey
078d356a9b Migrate to @Override to remove warnings.
Bug: 6303344
Change-Id: I0d33b2ed448467379d576ccd71fb5ae20c878852
2012-04-09 10:57:21 -07:00
Jeff Sharkey
2d9e5a5f9e Support metered Wi-Fi NetworkPolicy.
Add networkId field to NetworkIdentity to identify Wi-Fi networks by
SSID.  Add support for policies without usage cycles.

Only apply mobile policies when SIM state is ready, which is cleaner
than just checking for airplane mode.  Also avoids creating no-op
default policies when subscriberId is null.

Bug: 3001465, 3291052
Change-Id: I1f8aaa49a5db306df022c402ea7f3f5d4bc0cfc7
2012-04-05 16:02:25 -07:00
Irfan Sheriff
b9f329f633 Improve Wi-Fi hand-off
When Wi-fi connects at L2 layer, the beacons reach and the device
can maintain a connection to the access point, but the application
connectivity can be flaky (due to bigger packet size exchange).

We now use Watchdog to monitor the quality of the last hop on
Wi-Fi using signal strength and ARP connectivity as indicators
to decide if the link is good enough to switch to Wi-Fi as the uplink.

ARP pings are useful for link validation but can still get through
when the application traffic fails to go through and thus not best indicator
real packet loss since they are tiny packets (28 bytes) and have
much low chance of packet corruption than the regular data
packets.

Signal strength and ARP used together ends up working well in tests.
The goal is to switch to Wi-Fi after validating ARP transfer
and RSSI and then switching out of Wi-Fi when we hit a low
signal strength threshold and waiting until the signal strength
improves and validating ARP transfer.

Change-Id: Ica593291ec7772da892f03cf45b649635b730c47
2012-02-29 17:33:36 -08:00
Doug Zongker
b1a238dbb3 store the hw addr in the extraInfo field of ethernet NetworkInfos 2012-02-10 14:44:03 -08:00
Jeff Sharkey
b3a842ef9c Unify shorthand for byte-based units.
Change-Id: If990859dee3f0973e1d4c48f05312c84071b3328
2012-02-03 14:50:13 -08:00
Jeff Sharkey
c958c77f1a Deprecate ACTION_BACKGROUND_DATA_SETTING_CHANGED.
Broadcast is no longer sent, except during first boot after platform
upgrade.

Change-Id: I7a9c105b5783ca9f9c3aca2efff6fe5c13a4c1fd
2012-01-30 16:32:54 -08:00
Steve Block
1be767cf74 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2012-01-03 22:38:27 +00:00
Robert Greenwalt
60660ab0f4 am 4741163c: am fbb09ea8: Merge "Fix NPE in trimV4AddrZeros." into ics-mr1
* commit '4741163cd719ce88eddf17ebb0a3ffd6a8044fbe':
  Fix NPE in trimV4AddrZeros.
2011-12-07 17:12:47 -08:00
Robert Greenwalt
549920a597 Fix NPE in trimV4AddrZeros.
Change-Id: Id6ab91dabce4a2adba02f2601bc1157e87b782c3
2011-12-07 16:55:38 -08:00
Robert Greenwalt
177cac90d0 am e55e5b84: am 3dba4353: Fix the build.
* commit 'e55e5b84e53889791c0b6be8cad7cc134c9dfcba':
  Fix the build.
2011-12-07 13:19:37 -08:00
Robert Greenwalt
3dba435361 Fix the build.
Change-Id: I71d1d9958182966d2eff0d34fa05ac57f2cabc48
2011-12-07 13:10:59 -08:00
Robert Greenwalt
0b3d2a85b1 am 2ebd3612: am f352491a: Merge "Trim leading zeros from ipv4 addrs." into ics-mr1
* commit '2ebd3612d82f728873f87cdbea9fa5513b5cfb39':
  Trim leading zeros from ipv4 addrs.
2011-12-07 12:33:24 -08:00
Robert Greenwalt
86a570287f Trim leading zeros from ipv4 addrs.
Underlying libraries will interpret leading zeros as octal values and
fail.

bug:5262995
Change-Id: Iff949225bb6b941f7274ee81754e1f41ed719a6c
2011-12-07 09:58:48 -08:00
Jeff Sharkey
ac0fb9c578 am bc03c74c: am d968670d: Merge "Conservatively trim data usage stats." into ics-mr1
* commit 'bc03c74c485669695805944a655795a6f9890956':
  Conservatively trim data usage stats.
2011-11-15 11:30:34 -08:00
Jeff Sharkey
6b0d72795f Conservatively trim data usage stats.
Instead of trusting NTP time alone, use the most-conservative of
system clock and NTP.

Bug: 5584564
Change-Id: I5dd87fc009959b1cf0a7d660e385a0b1a8be238b
2011-11-14 20:11:38 -08:00
Scott Main
27ea83f6f2 Merge "docs: some helpful javadocs for network info" 2011-11-11 09:49:23 -08:00
Jeff Sharkey
5255f307fb Make operation counts monotonically increase.
Bug: 5585704
Change-Id: I5247a68acdb209a4ef0f5aac18944595c295e6ca
2011-11-08 17:35:28 -08:00
Jeff Sharkey
e370a59bec Correct proc file reader, optimizations.
Moved away from BufferedReader, which only reads the first 8KB of
some proc files because it aggresively fills its buffer.  Optimized
proc parsing, now double the speed.  Tests to cover.

Log when NetworkStats counters roll backwards when subtracting, and
optimizations around findIndex().  When system removes UID, also
remove from last stats snapshot to avoid xt counters from rolling
backwards.

Bug: 5472949, 5458380
Change-Id: I07c08fe5233156fac2b84450f6291868bf9bfaf2
2011-11-02 15:14:11 -07:00
Jeff Sharkey
aac2c50385 Move battery stats to xt_qtaguid for data stats.
Replace TrafficStats calls by reading values from xt_qtaguid kernel
module. To keep BatteryStatsImpl changes lightweight, cache recently
parsed stats. Tracks mobile ifaces from ConnectivityService.

Refactor xt_qtaguid parsing into factory outside of NMS. Add stats
grouping based on UID, and total based on limiting filters like iface
prefix and UID.

Bug: 4902271
Change-Id: I533f116c434b77f93355bf95b839e7478528505b
2011-10-09 13:49:08 -07:00
Scott Main
f58b7d82d0 docs: some helpful javadocs for network info
Change-Id: I8f1879bf10acd6371a76f11a8e5ec08643c3f943
2011-10-06 19:26:48 -07:00
Scott Main
5058914700 docs: deprecate thingy
Change-Id: I579824680f3b5110d56981becaaf81f917989e7e
2011-10-06 18:32:43 -07:00
Jeff Sharkey
7aaf57609e am a50d0f89: Merge "Hide quota APIs until finalized." into ics-factoryrom
* commit 'a50d0f8985d811a6a2f49aa65e31892048e96ccf':
  Hide quota APIs until finalized.
2011-10-06 11:22:40 -07:00
Jeff Sharkey
eb3e8c66cb Hide quota APIs until finalized.
Bug: 5383656
Change-Id: Ia2a978a6ff2ee642b0ea4d7d6b8857b7efffd612
2011-10-06 10:50:09 -07:00
Jeff Sharkey
ad268036a4 Track xtables summary, move tether stats, time.
Begin tracking xtables summary of data usage to compare with values
reported from /proc/net/dev.  Roll tethering directly into UID stats
to trigger UID stats persisting when crossing threshold.

Include xtables summary and authoritative time in samples.

Bug: 5373561, 5397882, 5381980
Change-Id: Ib7945522caadfbe0864fdf391582dc820f4f371e
2011-10-03 17:21:05 -07:00
Wink Saville
a7d56571c2 Reduce connectivity logging
Change-Id: I5d45b8fbcd01e42df7f2b1cf02fb5b226128abb8
2011-09-21 11:05:43 -07:00
Jeff Sharkey
300f08f094 Collect and persist tethering stats.
Use new "gettetherstats" netd command to retrieve statistics for
active tethering connections.  Keep tethering poll events separate
from UID poll, even though they end up same historical structures.

Bug: 5244846
Change-Id: Ia0c5165f6712c12b51586f86c331a2aad4ad6afb
2011-09-16 16:05:51 -07:00
Jeff Sharkey
4dc0642d32 Data usage structure optimizations.
Driven by traceview hotspots found in Settings UI.

Change-Id: I614a049523c526b7fcd12fffdf53a3e4723623e4
2011-09-12 16:13:20 -07:00
Robert Greenwalt
0114f6e8e9 Create new isNetworkSupported API
Useful for checking if on a wifi-only device.
Similar to asking for NetworkInfo for a network type and checking for
null, though here the intent is explicit.

bug:5087537
Change-Id: Ia3ddd09b6b735b8b3ceb7a347891e015fd96b218
2011-08-31 16:53:12 -07:00
Jeff Sharkey
971cd16561 Introduce immediate CONNECTIVITY_ACTION variant.
New broadcast that is dispatched immediately after connectivity
changes have been handled by ConnectivityService, bypassing any
applicable CONNECTIVITY_CHANGE_DELAY.

Also protect CONNECTIVITY_CHANGE broadcasts, since they should only
be sent by system.

Bug: 5198167
Change-Id: I75f1fb44b21da1879f0ab960bcaa481126d70fde
2011-08-29 16:10:43 -07:00
Jeff Sharkey
3dadd0f1f6 Data usage buckets active time, parsing ISE.
When recording data usage, measure the actual active time, since
buckets can be quite long.  Offer incrementOperationCount() version
that reads thread stats tag for caller.  Rethrow any NPE as ISE
during stats parsing, which callers already handle.

Bug: 5171812, 5184508, 5180659
Change-Id: I6da80ccc0162be68bee279529e3a23b6f98ebd87
2011-08-24 16:00:39 -07:00
Jeff Sharkey
d3b657612d Register for kernel global data usage alerts.
Instead of polling every 15 minutes, register for alerts that trigger
when system-wide traffic passes a threshold.  Still mixed with polling
to persist UID stats, but relaxed to 30 minutes.  Currently watches
for every 512kB.

Make persistence decision separately for network versus UID, and use
total delta bytes when making decision.  Use light bootstrap during
systemReady() instead of heavy poll, which had been force-loading all
UID data unnecessarily.

Bug: 5023631
Change-Id: I04b723d6c4bf872fb1028071122dba66a8e1b576
2011-08-23 18:46:14 -07:00
Jeff Sharkey
805662d8fa Proactively disable data when over policy limit.
Add policy controls to NetworkStateTracker which are combined with
other user preference and internal flags to decide if data connection
should be established.  Better locking around enabled flags.

When data network would be over limit, proactively disable data on
that network.  Enable when policy is snoozed or when cycle resets.

Track and dismiss notifications from now-stale policies.

Bug: 4587023, 5178147
Change-Id: Ibfcc9f73cda7c369209af701b46eddd3d1943f2d
2011-08-23 18:45:44 -07:00
Jeff Sharkey
e612a38faa Merge "Background data notification, API clean up." 2011-08-18 15:01:10 -07:00
Jeff Sharkey
39c01ebcce Background data notification, API clean up.
When restricting background data, show ongoing notification to give
easy access to re-enable. Deprecate getBackgroundDataSetting() API
to always return true, since NetworkInfo.isConnected() is new source
of truth. Handle upgrade path by reading from existing secure value,
and kick one last broadcast when changing value. Remove background
data code from ConnectivityService.

Remove warning alerts, since they push ifaces into restricted list;
should only happen when iface has limit.

Bug: 5163559, 5129421
Change-Id: I0064d9d643656a4d32aaae51d4a58bce49fe295f
2011-08-17 14:12:42 -07:00
repo sync
7c309101fe Merge "P2p enhancements" 2011-08-16 14:50:56 -07:00