Commit Graph

53 Commits

Author SHA1 Message Date
Jesse Wilson
8568db5341 Move socket tagging from libcore.
Change-Id: I7515896936c5bbd212c88e2801b831914219a925
2011-06-28 23:43:51 -07:00
Jeff Sharkey
4414cea139 Better network stats parsing, integer tags, async.
Change NMS parsing to handle extended /proc/ stats formats by pairing
values with header keys.  Move TrafficStats to integer tags to match
kernel internals, and offer well-known tags for system services.

Async policy event dispatch from NPMS, and update tests to block for
event dispatch.  Narrow app policy to exclude apps signed with system
key, which are usually critical.

Bug: 4948913, 4903489, 4585280

Change-Id: Idb357227ccaa617906411f309371cea18d7bc519
2011-06-28 17:59:00 -07:00
Mike J. Chen
f59c7d0f2a Hookup interface status to other clients
After unreverting the linkstate change patch, hook up notification handlers
that didn't exist when the first patch was created, like
EthernetDataTracker.java and Vpn.java.

For the observers that handle interfaceStatusChanged(), I made
interfaceLinkStatusChanged() call it so they both do the same thing.

Change-Id: I0077e5e5f48f3932ba98f5bf363243892f2de6cc
Signed-off-by: Mike J. Chen <mjchen@google.com>
2011-06-24 15:02:30 -07:00
Mike J. Chen
6143f5f739 Revert "Revert "Propagate new link-status-change message to any NetworkManagementService""
This reverts commit 1a7e671902.

Bring back the changes from Stan Chesnutt regarding link-status-change
notifications.  The comment from the original patch was:

Propagate new link-status-change message to any NetworkManagementService
observers.  Also fix the syntax of the "interface-status-change" message.  Add
a null handler in the ThrottleService and Tethering classes (plus fix names).

Change-Id: I42cbed692024de32275cad234f42ff23ab7e9d8d
Signed-off-by: Mike J. Chen <mjchen@google.com>
2011-06-23 19:24:59 -07:00
Jeff Sharkey
0a9ee1272b Enable bandwidth module from stats service.
During systemReady(), tell netd to enable bandwidth tracking module,
which is used to provide detailed stats and controls.

Change-Id: Iecfd8b17a3b90f5a817d731fbe1c71777681ed6e
2011-06-22 21:44:12 -07:00
Mike Lockwood
463e433f09 Merge "Tethering: Use UsbManager to enable/disable RNDIS" 2011-06-20 16:27:12 -07:00
Jeff Sharkey
d03fd3f004 Persist "tagged" network stats along with UIDs.
Now stores tags other than TAG_NONE (0x0), which are useful for app
debugging.  Combine UID and tag together into single long key, and
expose tag data through AIDL when requested.  Change NMS to track
TAG_NONE as total UID traffic, matching the kernel definition.

Added TAG_MAX_HISTORY to control how long tag-granularity statistics
are stored; overall UID usage is still kept for UID_MAX_HISTORY.  Fix
bug to trim NetworkStatsHistory outside normal polling loops to catch
non-active networks and UIDs.

Test to verify UID and tag packing, and to verify that UID traffic on
two networks are combined to match MOBILE_ALL template.

Change-Id: If0e039416d9e7f63b1a39e04cddfb1133b5a78ee
2011-06-19 21:58:39 -07:00
Mike Lockwood
3c2a2f6789 Tethering: Use UsbManager to enable/disable RNDIS
Remove obsolete RNDIS support from NetworkManagementService

This change fixes USB tethering, which broke after the new USB gadget driver
changes went in.

Change-Id: Idd987fb2c39c40e81ebc92e6d8dae9fe77ed4ddc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-19 20:50:46 -04:00
Jeff Sharkey
1b5a2a96f7 Read "qtaguid" network stats, refactor templates.
Teach NMS to read qtaguid stats from kernel, but fall back to older
stats when kernel doesn't support.  Add "tags" to NetworkStats entries
to support qtaguid.  To work around double-reporting bug, subtract
tagged stats from TAG_NONE entry.

Flesh out stronger NetworkTemplate.  All NetworkStatsService requests
now require a template, and moved matching logic into template.

Record UID stats keyed on complete NetworkIdentitySet definition,
similar to how interface stats are stored.  Since previous UID stats
didn't have iface breakdown, discard during file format upgrade.

Change-Id: I0447b5e7d205d73d28e71c889c568e536e91b8e4
2011-06-18 22:23:11 -07:00
Irfan Sheriff
f5600618df Fix IP address cleanup on network disconnect
We used to bring down the interface on network disconnect
which would in turn clean up all the IP addresses.

The interface bringup/shutdown is now handled by wpa_supplicant.
Add netd interface for clearing all IP addresses

Bug: 4676254
Change-Id: I7e24c0ab2e4a412b8d61e9c33ce028966913aaf6
2011-06-17 10:03:13 -07:00
Jeff Sharkey
4a97122ebf Growable NetworkStats object instead of builder.
NetworkStats now grows in place with arraycopy() instead of callers
needing to know record count a priori.  Better growth calculation for
both NetworkStats and NetworkStatsHistory; 50% each time.  Better
estimates of buckets needed in calling services.

Change-Id: I3adbffa0b7407612cc6349d9135a8b4eb63cd440
2011-06-11 22:17:17 -07:00
Jeff Sharkey
eedcb9525b APIs to profile network usage for current UID.
Added startDataProfiling() and stopDataProfiling() to TrafficStats,
which can be used by apps to measure network usage delta between two
points in time.  Currently takes two NetworkStats snapshots and returns
delta, which will eventually include tag-level granularity.  Added
tests for NetworkStats delta subtraction.

Added NMS.getNetworkStatsUidDetail() that returns stats for specific
UID.  Always gives stats access for the calling UID, otherwise enforces
that caller has permission.  Fix readSingleLongFromFile(), since
/proc/ files don't have well-defined lengths.

Change-Id: Ic5b6414d8effbd66846e275b00d4b8a82c74589d
2011-05-21 15:02:58 -07:00
Jean-Baptiste Queru
5c3816f2ff Merge c41aefe1
Change-Id: I70fc4382f832d1a2bded8a5ee7d9b96fac77879b
2011-05-19 07:54:53 -07:00
Robert Greenwalt
59b1a4ede7 Switch to use netd to add/remove routes.
Also adds support for v6 routes and for removing single routes.

Change-Id: I1c4f08c7938371090944d8d6f603e1e0d6d70c01
2011-05-18 15:25:43 -07:00
Jeff Sharkey
9a13f36cdd Return NetworkStats bundle from NM service.
Introduce NetworkStats which is a collection of network statistics,
which should match the structure communicated by kernel module through
netd.  Will introduce tags and fg/bg stats later.  Kept entirely in a
flat data structure to optimize parcel speed.

Initial pass at returning NetworkStats from NetworkManagementService,
both summary and details.  Will eventually pull data from kernel module
over netd connection.

Change-Id: I92d9f61678ec8c22e2ce26775fb035a0cf32413f
2011-05-04 16:07:21 -07:00
Robert Greenwalt
e590373ea7 Start using NetworkUtils.numericToInetAddress.
Generates InetAddresses without risking an accidental dns lookup.  For use with supposedly
numeric-only ip address strings.

Change-Id: I694f3976ce1c6382854706f6557ea88a289add3a
2011-03-02 11:37:32 -08:00
Irfan Sheriff
ec8d23af73 Add WPA support for soft Ap
Bug: 2771935

Change-Id: Ib16c1c3b9aaccbcdf372365d3c0825bdf0680207
2011-02-17 11:28:15 -08:00
Robert Greenwalt
2d2afd13af Stop using netmask in the framework.
bug:2542681
Change-Id: Iaa2b30f7a43de28844d86a4a8a513e86d719608a
2011-02-03 13:20:00 -08:00
Robert Greenwalt
ed12640932 Bind addr and prefixLength together in LinkAddress
bug:2542681
Change-Id: I90200446216d78c676498144946832afe75efdb8
2011-01-28 15:34:55 -08:00
Wink Saville
1a7e671902 Revert "Propagate new link-status-change message to any NetworkManagementService"
This reverts commit 780dfa42aa.
2011-01-09 12:16:38 -08:00
Stan Chesnutt
780dfa42aa Propagate new link-status-change message to any NetworkManagementService
observers.  Also fix the syntax of the "interface-status-change" message.  Add
a null handler in the ThrottleService and Tethering classes (plus fix names).

Change-Id: I58cabc7b0ce5662243bc6513b2de4818065e6c52
2011-01-07 11:40:33 -08:00
Robert Greenwalt
81d5ad515a Fix Bluetooth-tethering config of interface.
bug:3288692
Change-Id: Id7f1b680392f938000953157716bf9a8f8a66af9
2010-12-16 11:35:40 -08:00
Robert Greenwalt
04808c2940 Fix some IpV4-only code.
InterfaceConfiguration changed to use InetAddress and stop with the string->int->string
conversions.

bug:2542681
Change-Id: I11c4954547333c43bb840fa0469ddde57b0d043b
2010-12-14 14:41:26 -08:00
Dianne Hackborn
dc71b9e4d6 resolved conflicts for merge of 6a3eddb4 to master
Change-Id: I1ca1d100274d4a733ef2bf58b0d5d7217b4f858e
2010-09-30 20:34:34 -07:00
Dianne Hackborn
cef65eeb03 Rub in a little 'ol log-b-gone.
Mmmmmm...  great fresh scent!

Change-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d
2010-09-30 18:27:22 -07:00
Robert Greenwalt
35dcaece11 am 9c38a6dc: am e87ebb08: Merge "Cleanup Netd to prevent getting hung." into gingerbread
Merge commit '9c38a6dc13ba55fccb9c66f347307a1b4ae68105'

* commit '9c38a6dc13ba55fccb9c66f347307a1b4ae68105':
  Cleanup Netd to prevent getting hung.
2010-09-23 09:40:20 -07:00
Robert Greenwalt
e5c3afb292 Cleanup Netd to prevent getting hung.
If the sending of the command fails we should note it and not wait forever
for the response.

We should also not say we're ready until we actually are.

bug:2993205
Change-Id: I380f0312ac4693ad184a526b330fdfa23f6ac558
2010-09-22 16:43:23 -07:00
Kenny Root
4d42bdec82 am 0eec8948: am 305bcbf0: Decrease PackageManagerService wait time for vold
Merge commit '0eec8948f89c5216464d8204cadd69d7a6ec3669'

* commit '0eec8948f89c5216464d8204cadd69d7a6ec3669':
  Decrease PackageManagerService wait time for vold
2010-09-03 09:58:51 -07:00
Kenny Root
305bcbf0c9 Decrease PackageManagerService wait time for vold
Up the blocking queue maximum to twice the number of containers we
allow which should let "asec list" complete without blocking the thread
several times.

Change the threads for the NativeDaemonConnector to vold and netd to be
more descriptive instead of the same name.

Bug: 2501075
Change-Id: I7e7949845a6c70a3d619aec0fa79ceef3c17a4be
2010-09-03 09:33:34 -07:00
Danica Chang
f8d0573200 fixed bug in stringToIpAddr, which was returning the ip address in reverse
Change-Id: Ia1872636fb928a4076fe18ba50c6d1ea85f16dd9
2010-08-11 11:15:05 -07:00
Kenny Root
a80ce06d4c Add more error checking for ndc
In NativeDaemonConnector.doCommand() calls, there was inconsistent error
checking. This change adds error checking for every call and makes it so
that any call to .doCommand() that gets an error code won't cause the
code to hang forever.

Change-Id: I4584953a759a48ad16adfe8ee9e564b5f5796680
2010-06-01 13:29:04 -07:00
Irfan Sheriff
7baec0fe4e Fix null pointer exception
Bug: 2718857
Change-Id: I4b04284fd5b3a4881297fe15555e9f1ca91d73cb
2010-05-26 17:16:47 -07:00
Irfan Sheriff
a6e559edb7 Fix escaping of characters
\ and " in SSID and password cause issues
with netd parsing. Fix it.

Bug: 2708960
Change-Id: I278ca21c0bbfd9dc430a2f9ae02828274a0d2376
2010-05-24 14:55:42 -07:00
San Mehat
f0db6e1853 NetworkManagementService: Remove 'maxkbs' parameter from throttle API
Change-Id: I1cfbdac7d06478243931c6acec462da8e257f42f
Signed-off-by: San Mehat <san@google.com>
2010-04-07 15:22:10 -07:00
San Mehat
be23fba286 NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed
Change-Id: I1d6816c9754801504a988802118a2167e0eb8690
Signed-off-by: San Mehat <san@google.com>
2010-04-02 11:50:27 -07:00
San Mehat
91cac64cd0 NetworkManagementService: Add interface counters & throttle API
Change-Id: I4976549cdbb027ba7859335e69bf866e738961c9
Signed-off-by: San Mehat <san@google.com>
2010-04-01 08:34:20 -07:00
Robert Greenwalt
bfb7bfa538 Update Framework to support multiple dhpc ranges
Previously we only supported a single range - this was inadequate for
multiple interfaces.  Adding a second range so we can support
both usb and wifi tethering.

Also moving out of the zero-conf range as our dhcp client won't
accept ip addrs in that range (no nexus to nexus wifi action).

bug: 2537963
bug: 2533491
bug: 2538303
Change-Id: I600b421343c28c2f9839ed2076122ae3d0ff5d3d
2010-03-25 14:46:13 -07:00
Irfan Sheriff
723f109729 Allow space in SSID
Bug: 2530930
Change-Id: Iaa6c44014d889ad0d023148b091fc01c22524bf3
2010-03-19 15:55:58 -07:00
Irfan Sheriff
c2f54c267b Clean up changing AP configuration
Bug: 2527293
Change-Id: I35e82e24e27349e2966f88189ebca4246ad1a354
2010-03-18 16:02:56 -07:00
Irfan Sheriff
9ab518ad79 softAp framework changes
Remove AP persist settings
Add new netd interface
Handle errors
Handle AP config change
Bug: 2413908
Change-Id: I31a1221ef5479da8d4a2620f0f0ee0b62539bc69
2010-03-16 19:54:17 -07:00
Irfan Sheriff
5321aef4a2 Wifi AP framework changes first pass
Bug: 2421638
Change-Id: Ic5ea8f7560a7fe5e1b0769daa5d92cc33eefc692
2010-03-04 16:07:14 -08:00
Mike Lockwood
51cb9d5d55 Fix off by one error in NetworkManagementService.isUsbRNDISStarted()
Change-Id: I74eea36464696d63ad072661704b410bfe40c1c8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-03 15:13:58 -05:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -08:00
Robert Greenwalt
65ae29bd85 Add USB RNDIS enable/disable control
Also adding interface configuration to the tethering machine.
Also fixing netd bug that didn't send up/down portion of iface config command.
2010-02-23 16:04:41 -08:00
Robert Greenwalt
ce1200d42c Add USB RNDIS enable/disable control 2010-02-18 12:10:55 -08:00
Marco Nelissen
62dbb22bd4 Make the simulator boot again. 2010-02-18 10:56:30 -08:00
Robert Greenwalt
e325392c25 Add Java hookup to netd interface notifications. 2010-02-18 09:23:25 -08:00
Robert Greenwalt
d0e18ffb82 First pass at USB Tethering.
bug:2281900
2010-02-04 09:15:06 -08:00
San Mehat
d1df8ac6d0 NetworkManagementService: Start service when SystemServer starts up
Signed-off-by: San Mehat <san@google.com>
2010-01-26 07:51:05 -08:00
San Mehat
4d02d001ef NetworkManagementService: Introduce INetworkManagementEventObserver
Introduce a callback event observer which can be registered on the
INetworkManagementService instance to receive events from the service.

Signed-off-by: San Mehat <san@google.com>
2010-01-22 16:10:29 -08:00