Commit graph android_packages_modules_Co.../tests/net/java/com/android/server
Message SHA1
Merge "DefaultNetworkEvent metrics: rehaul" am: 37a0df93a0 am: d025358166
am: d42223572a

Change-Id: Ia5c19bfbdf9eea553f4517f312295c14c2f02046

Hugo Benichi   authored and   android-build-merger   commited 2017-11-06 07:41:53 +00:00
413dcc46cc
Merge "DefaultNetworkEvent metrics: rehaul" am: 37a0df93a0
am: d025358166

Change-Id: If6bf966ba547a2ce50e17340e0374dd9b75b80d9

Hugo Benichi   authored and   android-build-merger   commited 2017-11-06 07:31:39 +00:00
d42223572a
Merge "DefaultNetworkEvent metrics: rehaul"
Hugo Benichi   authored and   Gerrit Code Review   commited 2017-11-06 07:09:49 +00:00
37a0df93a0
DefaultNetworkEvent metrics: rehaul
This patch changes instrumentation of default networks and default
network events:
- stop logging events for default network transitions,
  but instead consistently log one event per continuous segment
  when one given network was the default, including logging an
  event for when there is no default network.
- keep a separate rolling buffer of DefaultNetworkEvent for
  dumpsys and bug reports.

These changes allow to simplify post aggregation of default network
event metrics by removing any need to do time series processing.
Instead, metrics and counters can be implemented withouth any ambiguity
by following the recipe:

% of x = sum(duration | x = true) / sum (all durations)

where x can be various conditions such as:
- the default network was validated
- the default network was WiFi
- the default network was IPv6
- there was no default network
- ...

Most importantly, this new logging scheme allows to measure much more
reliably:
- the % of the time that a device had Internet, in the sense that the
default network was validated.
- the time transitions between default networks, keyed by previous and
new transports/link layer, which allows to derive wakelock durations
and wakelock power costs from default network switches.

This patch also simplifies the dumpsys interface of the connmetrics
service and reduces the commands to three:
- "flush" for metrics upload.
- "proto" for printing buffered event in text proto format.
- "list" for listing all events and statistics.

Bug: 34901696
Bug: 65700460
Test: runtest frameworks-net
Change-Id: I0521f1681a60cca07ac3bfd5741d64ce44de4cdd

Hugo Benichi   commited 2017-11-06 09:04:02 +09:00
6d7c63fa64
Merge "Define NOT_ROAMING network capability." am: 8f380ab29c am: 3fe1ae29cd
am: db888d1704

Change-Id: I04220ff55fc87dbf8d417a30f15a06a877b412d4

Jeff Sharkey   authored and   android-build-merger   commited 2017-11-03 23:18:45 +00:00
f27fbf89ef
Merge "Define NOT_ROAMING network capability." am: 8f380ab29c
am: 3fe1ae29cd

Change-Id: Ib511f7af82c80fd4e95f4da9de1fdce200deb987

Jeff Sharkey   authored and   android-build-merger   commited 2017-11-03 23:07:03 +00:00
db888d1704
Define NOT_ROAMING network capability.
The "roaming" state of a network really belongs on NetworkCapabilities
instead of being published through NetworkInfo.isRoaming().  One major
reason is to support developers creating NetworkRequests for a
non-roaming network.

Watch for any capability changes that network statistics are
interested in (either metered or roaming) and notify it to perform
an update pass; fixes bug where we previously only triggered on
roaming changes.

Fix bug in VPNs where metered/roaming capabilities of underlying
networks weren't being propagated; this was probably preventing
some jobs from running over unmetered networks, and causing other
jobs to run over roaming networks!  Also passes along link bandwidth
information from underlying networks, and propegates any changes
to underlying networks.

Fix race condition by reading prevNc inside lock.  Utility methods
correctly calculate min/max link bandwidth values.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.,com.android.server.ConnectivityServiceTest
Bug: 68397798, 16207332
Change-Id: I3e1a6544c902bf3a79356b72d3616af1fd2b0f49

Jeff Sharkey   commited 2017-11-01 19:05:42 -06:00
1a1cba8b46
Merge "Fixed NullPointerException in IpSecService-Netd binder layer" am: 41e1a5436b am: a096e8d177
am: b4f2c19f0b

Change-Id: I8c51bfa708622dfb47ae55438f08b98f04c1d6c6

Manoj Boopathi Raj   authored and   android-build-merger   commited 2017-10-27 18:21:48 +00:00
84495b6a81
Merge "Fixed NullPointerException in IpSecService-Netd binder layer" am: 41e1a5436b
am: a096e8d177

Change-Id: I23ea94140ac3e34fc92fdc6a2c0d694396489e03

Manoj Boopathi Raj   authored and   android-build-merger   commited 2017-10-27 18:06:09 +00:00
b4f2c19f0b
Merge "Fixed NullPointerException in IpSecService-Netd binder layer"
Manoj Boopathi Raj   authored and   Gerrit Code Review   commited 2017-10-27 17:32:56 +00:00
41e1a5436b
Fixed NullPointerException in IpSecService-Netd binder layer
Replaced null with empty byte array in createTransportModeTransform
for null auth.getKey, crypt.getKey() and authCrypt.getKey()

Test: Ran CTS test
Bug: 68052730
Change-Id: I5110b1297b4bfbb5766e8ecfd3d64f8110b52945

Manoj Boopathi Raj   authored and   manojboopathi   commited 2017-10-26 13:10:22 -07:00
8091bd5aaa
Merge changes I59b6e04f,I55694d89 am: b3e7b54ae6 am: 93134fea64
am: b3595daa95

Change-Id: I61f321ebd67432e02b5621fa1c662953295999fd

Hugo Benichi   authored and   android-build-merger   commited 2017-10-26 06:34:27 +00:00
0231c0f700
Merge changes I59b6e04f,I55694d89 am: b3e7b54ae6
am: 93134fea64

Change-Id: I923fe9cc37463e695182c7a279d201ba7e9d6518

Hugo Benichi   authored and   android-build-merger   commited 2017-10-26 06:23:31 +00:00
b3595daa95
Remove Parcelable interface from DefaultNetworkEvent
This patch takes advantage of the direct DefaultNetworkMetrics interface
between ConnectivityService and IpConnectivityMetrics and removes the
Parcelable interface from DefaultNetworkEvent.

IpConnectivityMetrics, IpConnectivityEventBuilder and associated tests
are updated as necessary.

Bug: 34901696
Test: runtest frameworks-net
Change-Id: I59b6e04fc126051320d08a422cfbd4d27042123e

Hugo Benichi   commited 2017-10-25 12:40:13 +09:00
aa4ccf14c4
Extract logging of default network events
This patch extracts the logging of DefaultNetworkEvent from inside
ConnectivityService and move it to a new DefaultNetworkMetrics class.

The DefaultNetworkMetrics is a singleton owned by the
IpConnectivityMetrics singleton implementing the metrics service for
core networking. ConnectivityService has access to this singleton via
LocalServices.

This class layout will allow to remove the Parcelable interface of
DefaultNetworkEvent and will instead let the IpConnectivityMetrics
service grab metrics from the DefaultNetworkMetrics directly.

Bug: 34901696
Test: runtest frameworks-net
Change-Id: I55694d89124272732aba114198776462372de18b

Hugo Benichi   commited 2017-10-25 12:36:29 +09:00
71ce5d2ef4
Merge "Return a port from bindToPort() in IpSecService" am: fa52bd7a63 am: 6401f5ea34
am: 4baf2d6f3e

Change-Id: I0d1c17c3740983ab0cbc24c2cd0d3a530b56ca99

Benedict Wong   authored and   android-build-merger   commited 2017-10-24 17:09:28 +00:00
f5592383c7
Merge "Return a port from bindToPort() in IpSecService" am: fa52bd7a63
am: 6401f5ea34

Change-Id: Ie59d496a38bf9775c1f40a543a24cb3fec5719bf

Benedict Wong   authored and   android-build-merger   commited 2017-10-24 16:54:57 +00:00
4baf2d6f3e
Merge "Return a port from bindToPort() in IpSecService"
Benedict Wong   authored and   Gerrit Code Review   commited 2017-10-24 16:31:21 +00:00
fa52bd7a63
Merge "Add support for AES-GCM-ESP as an IPSec algorithm" am: b6df7f0d35 am: 9174bcafc7 am: f92bfc3b77
am: 6fa3219ab8

Change-Id: Ie9a43c7f0519a2d7ac3326944608190503804483

Benedict Wong   authored and   android-build-merger   commited 2017-10-19 17:48:53 +00:00
2ba3dfe030
Merge "Add support for AES-GCM-ESP as an IPSec algorithm" am: b6df7f0d35 am: 9174bcafc7
am: f92bfc3b77

Change-Id: I49932a5fc048b4a60512fac45a3537f050397168

Benedict Wong   authored and   android-build-merger   commited 2017-10-19 17:37:22 +00:00
6fa3219ab8
Return a port from bindToPort() in IpSecService
When binding to a random port, the port number was not being
returned, so the user is incorrectly receiving a port of zero.
Return the port number that was ultimately bound.

Bug: 67662580
Test: Ran CTS test on aosp_angler-eng
Change-Id: I22f4e5cdc83d43dc453788889990feb34e451bd3

Benedict Wong   commited 2017-10-18 11:43:43 -07:00
782ab176f0
Add support for AES-GCM-ESP as an IPSec algorithm
Allows native AES-GCM-ESP to be used as an IPSec transport/tunnel mode
algorithm with kernel support

Bug: 63589918
Test: IPsecService tests added, existing ones pass
Change-Id: Ie1a9a902be205f269aa37bf956198f2e5b177c21

Benedict Wong   commited 2017-10-18 11:22:24 -07:00
b4f26960f6
Merge "Fix ConnectivityServiceTest#testNetworkCallbackMaximum" am: 08c7808601 am: 43f626b99d am: 4071792cce
am: e0464277a3

Change-Id: I65c210d8f0ee27540339233d45def0c464920aea

Hugo Benichi   authored and   android-build-merger   commited 2017-10-15 03:39:01 +00:00
06bc497a8d
Merge "Fix ConnectivityServiceTest#testNetworkCallbackMaximum" am: 08c7808601 am: 43f626b99d
am: 4071792cce

Change-Id: Id5ee94ae9a7e2a92289f2b25b0d5c0f0b5b7381a

Hugo Benichi   authored and   android-build-merger   commited 2017-10-15 02:53:58 +00:00
e0464277a3
Merge "Migrating remaining core networking tests to Junit4"
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2017-10-13 05:26:31 +00:00
0cadc85856
Migrating remaining core networking tests to Junit4
Bug: 62918393
Test: runtest frameworks-net
Change-Id: I30f7eaa0307b8fad5a8de7a0da235a4f76c18677

Hugo Benichi   commited 2017-10-13 12:16:32 +09:00
d45623ec0a
Fix ConnectivityServiceTest#testNetworkCallbackMaximum
Although commit af17b51ec1 fixed some flakyness issues in
testNetworkCallbackMaximum so that it became stable when ran on its own,
it introduced a new source of random failures because instead of
registering callbacks after callbacks until a limit was reached, commit
af17b51ec1 changed the test logic to push the assertions right up to
the theoretical limit.

More precisely when registering and unregistering PendingIntents in a
loop, not introducing some delay for checking that previous
PendingIntents have been effectively unregistered can cause the test to
fail. This patch fixes this issue.

Bug: 32561414
Bug: 62918393
Test: runtest frameworks-net
      testNetworkCallbackMaximum now succeeds 100 in a row on sailfish

Change-Id: I086817a738ab99fd53ba76ca8faada6151f46472

Hugo Benichi   commited 2017-10-12 23:15:14 +09:00
aca7198d06
Merge "Migrate most of core networking tests to junit4" am: 947dd7a42d am: d85e14a1e4
am: c40687f85a

Change-Id: Ic59ca37bbb31ba091c8b6d31170584b946c2527a

Hugo Benichi   authored and   android-build-merger   commited 2017-10-12 09:43:11 +00:00
b892b7ac3c
Migrate most of core networking tests to junit4
This patch is a batch of mechanical changes to test classes to migrate
away from AndroidTestCase and TestCase.

Bug: 62918393
Test: runtest frameworks-net
Change-Id: I74134609e511f22c4d9ecd65780e981f9ba7ae3f

Hugo Benichi   commited 2017-10-12 15:26:09 +09:00
a046c5b078
Merge changes from topic "ipsec-svc-cleanup" am: 9778c7884f am: 10b5cc50d7
am: 4e793fd0b5

Change-Id: Ib7eae5c9e223493281524e862979e16d25984dde

nharold   authored and   android-build-merger   commited 2017-10-04 20:53:04 +00:00
7a094452fa
Split IpSecServiceTest to add IPv6 Tests
-Split IpSecServiceTest into parameterized
 and single tests.
-Add IPv6 parameters

Bug: 66954381
Test: this
Change-Id: Ib98c112560014f73bccc3d2842c31d297c7a07ef

Nathan Harold   commited 2017-10-03 19:45:59 -07:00
81ad618eef
Input Validation for IpSecService
All of the input to IpSecService over the Binder
interface needs to be validated both for sanity
and for safety.

-Sanity check all the parameters coming from binder.
-Added setters for IpSecConfig to decouple the test
 from the IpSecManager. This was needed because the
 input validation caused the tests to fail due to a
 null parameter that was previously un-tested.
-Added the mode flag to the IpSecConfig bundle this
 oversight was found during testing.
-Expose the getResourceId() methods for testing in
 UdpEncapsulationSocket, SecurityParameterIndex, and
 IpSecTransform classes.
-Remove the unneeded getIpSecConfig() from
 IpSecTransform: unneeded now that we can synthesize
 configs.

Bug: 38397094
Test: runtest frameworks-net
Change-Id: I5241fc7fbfa9816d54219acd8d81a9f7eef10dd4

Nathan Harold   commited 2017-10-03 19:45:55 -07:00
25acd5d0e3
Merge "ConnectivityServiceTest: fix flaky testNetworkRequestMaximum" am: 1211941aa0 am: 50a87f5492
am: eced6cd14a

Change-Id: I53d0d6755c8e0be34db66da56efa483006e538ac

Hugo Benichi   authored and   android-build-merger   commited 2017-10-02 10:51:21 +00:00
c3d8a47a54
ConnectivityServiceTest: fix flaky testNetworkRequestMaximum
Registered requests are not keyed by PendingIntents in
ConnectivityService, which means that unregistering a request with a
PendingIntent causes a linear search in all registered requests.

testNetworkRequestMaximum was registering too many PendingIntents
simultaneously, causing the unregistration loop to have n^2
complexity and to take a long time to take effect.

To make the unregistering loop less likely to trigger a timeout on
waitForIdle, this patch changes the test to not register MAX_REQUEST
number of PendingIntent, but instead mixes a small number of
PendingIntents with NetworkCallbacks to reach MAX_REQUEST number of
simultaneously registered requests.

When unregistering these requests, callbacks are unregistered first.

Bug: 32561414
Test: runtest frameworks-net
Change-Id: I48b882c884abe20b388190b7f28baee293446f37

Hugo Benichi   commited 2017-10-02 17:37:57 +09:00
af17b51ec1
Merge "Fix NPE in NsdServiceTest" am: 2240c54b87 am: b0c566c477
am: a5d620ae92

Change-Id: Ieb299771438fe55566b76271815e52d02da799c8

Hugo Benichi   authored and   android-build-merger   commited 2017-09-28 12:35:03 +00:00
07ff2cd04f
Merge "Fix NPE in NsdServiceTest"
Hugo Benichi   authored and   Gerrit Code Review   commited 2017-09-28 12:13:18 +00:00
2240c54b87
Fix NPE in NsdServiceTest
Continuous test dashboards report that quit() can crash sometimes
due to mThread being null.

This patch adds a null guard in tearDown().

Bug: 32561414
Test: runtest frameworks-net
Change-Id: If66fb47e31e77d25b4741a786f12eb78f0b9102e

Hugo Benichi   commited 2017-09-28 15:22:13 +09:00
8d6846b3ad
Merge "Delete the legacy framework code for manipulating ND offload." am: 90f8fada03 am: 41f36738bf
am: bb21618a86

Change-Id: I07d9753e214af311d3dcab6f8016442f60388700

Lorenzo Colitti   authored and   android-build-merger   commited 2017-09-27 11:05:29 +00:00
54fd815ced
Merge "Declare support for Ethernet if the service is running." am: e7a82bbaf3 am: dae0a11792
am: a6648cc90b

Change-Id: Iafd9807ab76ce4e4ab1fd506d7b0e2b2b7017751

Lorenzo Colitti   authored and   android-build-merger   commited 2017-09-27 08:51:51 +00:00
640e28df16
Delete the legacy framework code for manipulating ND offload.
This only worked on broadcom devices, and was superseded in
M by a wifi HAL call made by IpManager.

Test: bullhead builds, boots
Change-Id: I711cae7dafe171c2c8b4e84a229adbcad27f3d14

Lorenzo Colitti   commited 2017-09-27 16:47:36 +09:00
6c4ad77737
Declare support for Ethernet if the service is running.
On some devices, support for TYPE_ETHERNET is not specified in
the networkAttributes config resource, even though the device is
capable of supporting Ethernet (e.g., via USB host adapters).
This leads to Ethernet working but various connectivity APIs
behaving as if it was not - for example, no CONNECTIVITY_ACTION
broadcasts will be issues when it connects or disconnects.

Ensure that ConnectivityService always treats Ethernet as
available if the service is running. Currently the service is
started if the device supports FEATURE_ETHERNET or
FEATURE_USB_HOST.

Bug: 37359230
Test: bullhead builds, boots
Test: ConnectivityServiceTest passes
Test: Ethernet is available even if removed from networkAttributes resource
Test: ConnectivityManagerTest CTS test passes
Change-Id: I58801bf4f0bbdc3ff6345ec6bfdc911ce045c8ab

Lorenzo Colitti   commited 2017-09-27 13:03:10 +09:00
4c535bcc03
Merge "Also support 464xlat on SUSPENDED networks" am: 995a28d334 am: e7adef3b1f
am: 1347ac8109

Change-Id: I83ae39a2e36bc036dce419c80dd476d2358b4537

Erik Kline   authored and   android-build-merger   commited 2017-09-21 12:06:05 +00:00
75ed6c018e
Also support 464xlat on SUSPENDED networks
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 65684232

Change-Id: I1b10aab01554b1f926ec7157dba78645fdaff90f

Erik Kline   commited 2017-09-21 18:06:29 +09:00
c3e3f84531
Merge changes from topic "vpn-dialog" am: 5ebd6035ec am: 9db0d719c4
am: a9f6384b6a

Change-Id: I853f48a75865008ac8b976eec1af56fb1870a1b3

Charles He   authored and   android-build-merger   commited 2017-09-19 08:25:16 +00:00
8f619858a4
Merge changes from topic "vpn-dialog"
* changes:
  Unbreak VPN unit tests.
  Add alert dialog when always-on VPN disconnects.

Charles He   authored and   Gerrit Code Review   commited 2017-09-19 07:56:44 +00:00
5ebd6035ec
Unbreak VPN unit tests.
VpnTest was broken earlier due to a change to always-on VPN
notifications. This CL adds the corresponding mocks to the unit test to
fix it.

Bug: 36650087
Bug: 65439160
Test: runtest frameworks-net
Change-Id: Icff57c7e927c135d75a7d70ff347a579c5d45134
Merged-In: Icff57c7e927c135d75a7d70ff347a579c5d45134
(cherry picked from commit 3da6a1fc82b7e0c7adc88b92e50cceec8173672e)

Charles He   commited 2017-09-19 07:56:36 +00:00
ddcbabb472
Merge changes from topic "always-on-vpn"
* changes:
  Opt-out for always-on VPN: rename API.
  Opt-out for always-on VPN

Charles He   authored and   Gerrit Code Review   commited 2017-09-19 07:50:13 +00:00
9bab00f0e3
Merge "Wakeup packet events: addressing a few comments" am: 8e1f9cba10 am: 857584f17c
am: 19625788a1

Change-Id: I8ca2a01a95acaaca2599563efd6a21e4372d1f95

Hugo Benichi   authored and   android-build-merger   commited 2017-09-19 07:36:12 +00:00
4e625c6408
Wakeup packet events: addressing a few comments
This patch addresses a few post-submit comment for
commits f562ac34a51dc and 60c9f63b66921.

Bug: 34901696
Bug: 62179647
Test: runtest frameworks-net
Change-Id: I4abec57e0c6bc869dc57b5eb54582dd977b64c30

Hugo Benichi   commited 2017-09-19 14:07:47 +09:00
97b3983d68
Merge changes I4719b4dc,I0308cdf4,I38db1bb7 am: b81fc1cf14 am: eb2a4615e2
am: b025492a6b

Change-Id: I5385a3747e039a42e86034f7632edd0f855b2eb1

Hugo Benichi   authored and   android-build-merger   commited 2017-09-14 18:11:06 +00:00
0f423e3ef7