Commit Graph

2012 Commits

Author SHA1 Message Date
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
Jeff Sharkey
9c11e89fe2 Foreground/background network stats using sets.
Teach NetworkStats about "counter sets" coming from kernel, and use
them to track usage in foreground/background.  Add AID_NET_BW_ACCT to
system_server so it can control counter sets.

Move to composite key of NetworkIdentitySet, UID, set, and tag when
recording historical usage.  Persisting still clusters by identity,
since that is heaviest object.

Request async stats poll during systemReady() to bootstrap later
delta calculations. Reset kernel counters when UID removed. Update
various tests.

Bug: 5105592, 5146067
Change-Id: Idabec9e3ffcaf212879821515602ecde0a03de8c
2011-08-15 17:30:25 -07:00
repo sync
f5de557544 P2p enhancements
- ConnectivityService interaction and support for running dhcp server
and client

- State machine enhancements for connectivity interaction

Change-Id: Iba3beb8c87554ffd67a7b7e852bbb4dd8666a4f5
2011-08-10 15:53:49 -07:00
Jeff Sharkey
13d6787be8 Network stats with varint, omit parcel fields.
Persist NetworkStatsHistory using variable-length encoding; since
most buckets have small numbers, we can encode them tighter. Initial
test showed 44% space savings. Also persist packet and operation
counters.

Let NetworkStatsHistory consumers request which fields they actually
need to reduce parcel overhead.

Tests for verify varint and history field requests, also verify end-
to-end by persisting history into byte[] and restoring. Expose
bandwidth control enabled state. Extend random generation to create
packet and operation counts. Moved operation counts to long.

Fix bug that miscalculated bytes since last persist, which would
cause partial stats loss when battery pulled.

Bug: 4581977, 5023706, 5023635, 5096903
Change-Id: If61e89f681ffa11fe5711471fd9f7c238d3d37b0
2011-08-03 17:21:07 -07:00
Jeff Sharkey
66fa96870b Expose quota status for active network.
Create API to expose quota status derived from underlying network
policy.  This is designed to support applications making informed
decisions when performing network requests.

Fix bug with random stats generation, and write policy when changing
restrict background data flag.  Deprecate EXTRA_NETWORK_INFO, since
it varies based on UID.

Bug: 4517283, 5088603
Change-Id: Ic6893a8967f69937e466be226ba7bb86ef5a5d2d
2011-08-02 18:19:54 -07:00
Jeff Sharkey
7026767763 Add operation counts to network statistics.
Provide API to increment "operation counts" for a UID and tag, used
to eventually derive bytes/operation stats.  Internally is stored at
network layer, but should belong at data layer.  Switch profiling
to use data layer stats, which are emulated by summarizing network
layer details.

Read packet counts from new /proc/ columns and collect them into
NetworkStatsHistory.  Prevent double-counting by ignoring values from
first snapshot.  Watch for duplicate /proc/ entries.  Update tests
to verify packet and operation counters.

Bug: 5052136, 5097392
Change-Id: I1832f65a2b8a9188f8088f253474a667c21a2f09
2011-07-29 22:24:01 -07:00
Robert Greenwalt
2351e41ea8 am fec26c50: am f3ab069b: Make copy-constructor make deep copy.
* commit 'fec26c50974443f25715dd6dc64e81f1ea7b496c':
  Make copy-constructor make deep copy.
2011-07-29 09:24:38 -07:00
Robert Greenwalt
fec26c5097 am f3ab069b: Make copy-constructor make deep copy.
* commit 'f3ab069bec358f8138fed5ceabe64e303ac7d8f9':
  Make copy-constructor make deep copy.
2011-07-29 09:20:51 -07:00
Robert Greenwalt
f3ab069bec Make copy-constructor make deep copy.
Used to grab immutables but now will copy the data so the result
is mutable and we don't get crashes.

bug:5051667
Change-Id: I0878bf8c58069055f528121541d1911f404cbe49
2011-07-28 17:21:25 -07:00
Robert Greenwalt
9520d6af5a Merge "Use dns proxy a bit." into honeycomb-LTE 2011-07-26 13:21:09 -07:00
Robert Greenwalt
fd0597c8e4 Use dns proxy a bit.
Sets the current default interface and sets the dns per interface.
port of changes 23041 and 22098 from opensource.
bug:5060618

Change-Id: I80e7ef88727eeb8ff2b48059f69b270e5a6b5c16
2011-07-25 17:00:13 -07:00
Robert Greenwalt
fce7186be1 resolved conflicts for merge of aaf31586 to master
Change-Id: I9e8faaa94f9b251a9c003dc6b9a3e2a97c4564a9
2011-07-25 16:06:25 -07:00
Robert Greenwalt
9186900f54 Fix build.
Add NetworkUtils function missed in manual merge.

Change-Id: Ifce8f2988bb581ddc9b971b8af07a32f46c91e14
2011-07-25 14:00:42 -07:00
Mike Lockwood
865fcf3eb3 Merge "Fix USB tethering" 2011-07-23 19:36:32 -07:00
Mike Lockwood
ed4a1741b4 Fix USB tethering
The previous approach no longer works with the new USB drivers, since the usb0
interface is no longer enabled by default.
This introduced a chicken & egg problem - usb0 will not be enabled until the
user tries to start tethering, but Settings will not enable the checkbox unless
usb0 is enabled.
To fix this we add an explicit call to start USB tethering in the connectivity manager.
This will enable RNDIS if necessary and then bring up tethering once usb0 is enabled.

Change-Id: Iae1f733366aa6b0dafa66d4c97207794173ef54b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-23 21:57:55 -04:00
Robert Greenwalt
da15bead3c am 6ef5bd7a: am 9810742c: Add better routes for secondary DNS
* commit '6ef5bd7a00225156661b35271d590f5a12643561':
  Add better routes for secondary DNS
2011-07-22 13:17:54 -07:00
Robert Greenwalt
9810742cd8 Add better routes for secondary DNS
We'd been doing no-gateway hostroutes for dns servers on secondary nets, but on
some devices (multi-homed stingray) this is a problem.  Add gateway-ed hostroutes
instead so the BP can do it's nonstandard "magical" demultiplexing.

bug:5011392
Change-Id: Ia48f69c8ddf2a37cfb8f014f078f96bf601d2ddb
2011-07-22 12:52:21 -07:00
Robert Greenwalt
3079c1666e resolved conflicts for merge of d57579a4 to master
Change-Id: If2881b8b7faea5139af83a37cba04ccac5904f81
2011-07-15 10:52:54 -07:00
Robert Greenwalt
e8d2a4a8a0 Apply the dns and route diff which we get a change
bug:5008973
Change-Id: Ib99e43d9d852452cc1f2aea6bef07bbd194f28cc
2011-07-14 18:12:14 -07:00
Chia-chi Yeh
9e4ff6ef91 VPN: close the socket in protectVpn() to avoid leaking descriptors.
Change-Id: Idda0c2ea1770abc490566e894711bcb08f60b354
2011-07-14 16:19:19 -07:00
Wink Saville
d622c319ae am 6b5e201d: am 6d1d16c3: Merge "Remove STOPSHIP but allow seamless Handoff when possible." into honeycomb-LTE
* commit '6b5e201d4717091d1c54fb561ea2dea9f6e9b17a':
  Remove STOPSHIP but allow seamless Handoff when possible.
2011-07-14 10:55:58 -07:00
Wink Saville
051a664b14 Remove STOPSHIP but allow seamless Handoff when possible.
If an address is removed we must reset the connection but
only for the connections associated with that address. For
now we're doing the "all" addresses for a type (IPv6 or IPv4)
in the future we only need to reset a particular addresses
connections.


Bug: 4981919
Change-Id: I97f8071a3ed6f827ed22f32216ca5011bfe6c1d9
2011-07-13 13:44:13 -07:00
Jeff Sharkey
26f35e29cd Include full network history around current time.
When requesting historical values with time ranges, always include
full values for buckets that span current time.  (It doesn't make
sense to interpolate partial data.)  Move getTotalData() to return
full Entry objects to prepare for packet counts.

Bug: 4691901
Change-Id: I717bd721be9f1d4a47c4121e46e07a56cb15bbf1
2011-07-12 20:20:56 -07:00
Jeff Sharkey
aa731e75a9 Hide NetworkStatsHistory internals.
Instead of exposing internal storage details, offer getValues()
accessor which populates values into a recycled structure.

Change-Id: I5228d7099a8f61b2018a435a813435a67dae49b4
2011-07-12 13:57:06 -07:00
Jeff Sharkey
337b986b98 Return stats from inactive ifaces, packet counts.
When an iface goes inactive, xt_qtaguid maintains historical counters
instead of discarding.  Now reading and returning those values in
NetworkManagementService summary calls.  Tests to verify stats are
returned.

Modify NetworkStats to include rxPackets and txPackets values, and
move to Entry to eventually hide internal storage details.

Bug: 4984539
Change-Id: I1ba0bb5580c62e946d9dff2cc2a6f64aff403efc
2011-07-11 14:39:56 -07:00
Wink Saville
620e1078ec resolved conflicts for merge of a3b4b5ca to master
Change-Id: I50f8fe61303efa78f5d450ddda1483e0ecb81d12
2011-07-08 12:49:14 -07:00
Wink Saville
c101c56ecc Use resetConnections with resetMask.
Bug: 4981919
Change-Id: I5dec2da0756d5083bc81494fd583672704537694
2011-07-07 16:17:06 -07:00
Chia-chi Yeh
bded3eb138 VPN: implement status report for legacy VPN.
Change-Id: I81c28dafd9588572df76cbc303b0d6a0f41f9bc6
2011-07-04 03:23:12 -07:00
Chia-chi Yeh
3e2e1da0a0 VPN: convert prepare() into a form which helps solve race conditions.
When someone tries to revoke packageA, it is possible that packageA is
already revoked by packageB. In this case packageB should not be revoked,
and the new prepare() can help solve this problem.

Change-Id: Iee056a191dd99467b8ad1b5379a17b02d404bad1
2011-07-03 17:03:27 -07:00
Chia-chi Yeh
7e026b38e9 VPN: export legacy VPN in IConnectivityManager.
Change-Id: I016fe056ceab39ffc36aa235d14b30a9f094a2e1
2011-07-02 17:15:00 -07:00
Robert Greenwalt
09d6cdf338 resolved conflicts for merge of 796539b1 to master
Change-Id: Id0a41cae36f5a3b30f2fe8a202c934153b9cd03f
2011-06-22 13:20:14 -07:00
Irfan Sheriff
9a33301da1 resolved conflicts for merge of ea8e3c23 to honeycomb-LTE
Change-Id: I616b7ba5c27d0cc4247f5cce4303effe14658e1e
2011-06-22 11:01:16 -07:00
Irfan Sheriff
a565295565 resolved conflicts for merge of 267a6181 to honeycomb-LTE
Change-Id: I95d459c937f788ed15f178e85692e1c393bdaa04
2011-06-22 07:11:42 -07:00
Irfan Sheriff
ea8e3c2322 Revert "DO NOT MERGE Revert "DO NOT MERGE Add DhcpStateMachine""
This reverts commit a3663884ca.
2011-06-21 14:26:37 -07:00
Irfan Sheriff
a3663884ca DO NOT MERGE Revert "DO NOT MERGE Add DhcpStateMachine"
This reverts commit 9cfe6197fb.

Change-Id: I3a9ae1f0d17e7a154d27d4f3f3eb1efa21a34f64
2011-06-21 11:38:23 -07:00
Robert Greenwalt
33cdcdf2fa Fix tethering upstream determination.
Used to use iface names, but on mobile ifaces are multipurpose.
Refined to use ConnectivityService types.
bug:4530116

Change-Id: Iaa632d5f540d27ffff683bd7d94f8004bf422e71
2011-06-20 11:09:23 -07:00