Commit Graph

4402 Commits

Author SHA1 Message Date
Lorenzo Colitti
9787561bbe Merge "Add tether offload traffic to interface stats as well." into oc-mr1-dev am: 2d10195128
am: a8743838c9

Change-Id: I2b586b84c44126e1d3b9097950a41decaa5216cc
2017-08-19 01:12:35 +00:00
Lorenzo Colitti
3d7b64c52d Add tether offload traffic to interface stats as well.
Currently, we only count add tethering traffic to per-UID
stats, but not to total data usage (i.e., dev and XT stats). This
is correct for software tethering, because all software forwarded
packets are already included in interface counters, but it is
incorrect for hardware offload, because such packets do not
increment interface counters.

To fix this:
1. Add an argument to ITetheringStatsProvider#getTetherStats to
   indicate whether per-UID stats are requested. For clarity,
   define integer constants STATS_PER_IFACE and STATS_PER_UID
   to represent these operations.
2. Make NetdTetheringStatsProvider return stats only if per-UID
   stats are requested. (Otherwise tethering traffic would be
   double-counted).
3. Make OffloadController's stats provider return the same
   stats regardless of whether per-UID stats were requested or
   not.
4. Make NetworkStatsService add non-per-UID tethering stats to
   the dev and XT snapshots. The per-UID snapshots were already
   correctly adding in per-UID stats.

(cherry picked from commit 49ab263c0b)

Bug: 29337859
Bug: 32163131
Test: runtest frameworks-net
Test: runtest frameworks-telephony
Change-Id: I325b13d50e88841dfb0db4c35e7e27f163ee72fe
Merged-In: I4e8e923d68dce1a4a68608dbd6c75a91165aa4ee
2017-08-19 10:12:05 +09:00
Lorenzo Colitti
a8743838c9 Merge "Add tether offload traffic to interface stats as well." into oc-mr1-dev
am: 2d10195128

Change-Id: I4e8e923d68dce1a4a68608dbd6c75a91165aa4ee
2017-08-19 01:02:33 +00:00
Lorenzo Colitti
2d10195128 Merge "Add tether offload traffic to interface stats as well." into oc-mr1-dev 2017-08-19 00:54:59 +00:00
Lorenzo Colitti
49ab263c0b Add tether offload traffic to interface stats as well.
Currently, we only count add tethering traffic to per-UID
stats, but not to total data usage (i.e., dev and XT stats). This
is correct for software tethering, because all software forwarded
packets are already included in interface counters, but it is
incorrect for hardware offload, because such packets do not
increment interface counters.

To fix this:
1. Add an argument to ITetheringStatsProvider#getTetherStats to
   indicate whether per-UID stats are requested. For clarity,
   define integer constants STATS_PER_IFACE and STATS_PER_UID
   to represent these operations.
2. Make NetdTetheringStatsProvider return stats only if per-UID
   stats are requested. (Otherwise tethering traffic would be
   double-counted).
3. Make OffloadController's stats provider return the same
   stats regardless of whether per-UID stats were requested or
   not.
4. Make NetworkStatsService add non-per-UID tethering stats to
   the dev and XT snapshots. The per-UID snapshots were already
   correctly adding in per-UID stats.

Bug: 29337859
Bug: 32163131
Test: runtest frameworks-net
Test: runtest frameworks-telephony
Change-Id: I7a4d04ab47694d754874136179f8edad71099638
2017-08-19 00:21:56 +09:00
Hugo Benichi
cf65ae9d57 Merge "Really allow NetworkAgent immutable updates to NetworkCapabilities" am: cb3c24e36b am: 46a7508229 am: 886144c1ff am: 77efec92fe
am: 0638f10802

Change-Id: Ib9c41ce615a249cd41ec6221dddb0b1c93114568
2017-08-18 12:47:49 +00:00
Hugo Benichi
b319377255 Really allow NetworkAgent immutable updates to NetworkCapabilities
This patch completes commit bae105a5ccd11430bab14721d1325e2303a673da to
really allow updates of immutable capabilities to NetworkCapabilities of
NetworkAgents by using satisfiedByImmutableNetworkCapabilities instead
satisfiedByNetworkCapabilities.

Bug: 64125969
Test: runtest frameworks-net
Merged-In: I9beeb623792f0ee31abcd4ba9d0ba2451304fb2e
Merged-In: Ifbdd005576b3f0fbf278ecec81ce3e4308c6276d
Merged-In: Id352fdb6da21a2150d3e8d062d7eba11878f6919
Merged-In: If3742ea0e2151b9b710eda2fed280c31f7960393
Merged-In: Icd8e328e3c810a644bfb83798bd42fed8dc70425

(cherry picked from commit a60c6eab42cd904faaf26c23100939d397b80c39)

Change-Id: I737494117d7f1e0198f0ad4d3c41019c9295fe09
2017-08-18 12:44:26 +00:00
Hugo Benichi
0638f10802 Merge "Really allow NetworkAgent immutable updates to NetworkCapabilities" am: cb3c24e36b am: 46a7508229 am: 886144c1ff
am: 77efec92fe

Change-Id: Icd8e328e3c810a644bfb83798bd42fed8dc70425
2017-08-18 12:36:31 +00:00
Hugo Benichi
77efec92fe Merge "Really allow NetworkAgent immutable updates to NetworkCapabilities" am: cb3c24e36b am: 46a7508229
am: 886144c1ff

Change-Id: If3742ea0e2151b9b710eda2fed280c31f7960393
2017-08-18 12:25:56 +00:00
Hugo Benichi
2d5491fe5d Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" into oc-mr1-dev am: 3f04e31eee -s ours
am: 3c4d2fc096  -s ours

Change-Id: Ic327ebd95d342411e1b32c1ba6a99142e88bc0a5
2017-08-18 12:14:58 +00:00
Hugo Benichi
886144c1ff Merge "Really allow NetworkAgent immutable updates to NetworkCapabilities" am: cb3c24e36b
am: 46a7508229

Change-Id: Id352fdb6da21a2150d3e8d062d7eba11878f6919
2017-08-18 12:14:56 +00:00
Hugo Benichi
46a7508229 Merge "Really allow NetworkAgent immutable updates to NetworkCapabilities"
am: cb3c24e36b

Change-Id: Ifbdd005576b3f0fbf278ecec81ce3e4308c6276d
2017-08-18 11:59:02 +00:00
Hugo Benichi
3c4d2fc096 Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" into oc-mr1-dev
am: 3f04e31eee  -s ours

Change-Id: Ifd70f2e30efc2d16b32fb140622698a36d506adf
2017-08-18 11:58:55 +00:00
Hugo Benichi
3f04e31eee Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" into oc-mr1-dev 2017-08-18 11:46:22 +00:00
Hugo Benichi
7afbea0e6e Really allow NetworkAgent immutable updates to NetworkCapabilities
This patch completes commit 1ebf219ed9 to
really allow updates of immutable capabilities to NetworkCapabilities of
NetworkAgents by using satisfiedByImmutableNetworkCapabilities instead
satisfiedByNetworkCapabilities.

Bug: 64125969
Test: runtest frameworks-net
Change-Id: I9beeb623792f0ee31abcd4ba9d0ba2451304fb2e
2017-08-18 14:51:03 +09:00
Hugo Benichi
4053b03794 Merge "Add convenience methods to IpPrefix and LinkAddress" into oc-mr1-dev am: de7117d3fe -s ours
am: de56184f72  -s ours

Change-Id: I3db147e56ae38147926f34307672b32c31737e78
2017-08-17 22:51:04 +00:00
Hugo Benichi
de56184f72 Merge "Add convenience methods to IpPrefix and LinkAddress" into oc-mr1-dev
am: de7117d3fe  -s ours

Change-Id: I5daa3f79df2a6f70e2f2867f255ddcf4770f00f0
2017-08-17 22:38:34 +00:00
Hugo Benichi
de7117d3fe Merge "Add convenience methods to IpPrefix and LinkAddress" into oc-mr1-dev 2017-08-17 22:31:59 +00:00
Charles He
9522f15a56 Merge "Opt-out for always-on VPN: rename API." into oc-mr1-dev am: 8b2513e439
am: 0aeecd42a9

Change-Id: Ib4eca8d5ea79e5ac65496bee8390e5ce4cd8fb64
2017-08-17 08:12:56 +00:00
Charles He
0aeecd42a9 Merge "Opt-out for always-on VPN: rename API." into oc-mr1-dev
am: 8b2513e439

Change-Id: Ie511c6f1034b75b4e797dbc0ca31c7c5c30f336e
2017-08-17 08:01:53 +00:00
Hugo Benichi
f2ccd7a219 Add convenience methods to IpPrefix and LinkAddress
Also moving relevant test files into tests/net as part of runtest
framworks-net.

Also removes testHashCode in LinkAddress() because this test relies on
the assumption that hashCode() is stable across releases or jdk
versions, which is absolutely not true.

This creates maintenance work for little benefit since hashCode is
already tested as part of the equality test.

For instance this test is now broken because hashing for InetAddress
changed.

Bug: 62988545
Bug: 62918393
Test: runtest frameworks-net, added coverage in tests
Merged-In: I695bc3f0e801bf13bc4fc0706565758f12b775b4
Merged-In: I6d3f3c50eaec44e3a0787e849ab28e89f6f4a72d
Merged-In: Iddfec82a08f845e728adadfa6ec58a60a078d6af
Merged-In: I8d6dd5efd226a8b1c4b05d1e1102362b58e094a1
Merged-In: Ied0cc53ac34c7c5f5539507b1979cbf9c215262e
Merged-In: I3b2b7dcb1a9a194fc08643b27bbb5a0e84e01412

(cherry picked from commit 1dfb6b67555d04973dfb9d1100dfc1c6a5200633)

Change-Id: I9a17094bfdc54b9dec671306618e132a4beb59fc
2017-08-17 11:03:24 +09:00
Hugo Benichi
9712eb35b9 Allow NetworkAgent "immutable updates" to NetworkCapabilities
This patch loosens the validation checks when a NetworkAgent updates it
NetworkCapabilities: instead of checking that capabilities labeled as
"immutable" stay identical across updates, it is now accepted to change
immutable capabilities in a way that the new NetworkCapabilities
satisfies the old NetworkCapabilities.

This allows a NetworkAgent to update itself in order to match more
requests, but will still catch NetworkAgents that sends degradation
updates causing potentially requests to not match anymore.

Bug: 64125969
Test: runtest frameworks-net
Merged-In: I2a1b3f9c0be6415e40edc989d0c1b03b5631f7b1
Merged-In: I0ab76de59e87c46a6961229399ff7200bce49838
Merged-In: Ied592bf6112574399a1e808da337004e1c35f244
Merged-In: I01e287b4df82a53a522566d33b3166f7801badca
Merged-In: I7ee60daa9c4266e9b9179032815dd7267e06377f
Merged-In: I31ef741eb83d64c476e5930d5762514b5d4cb16f

(cherry picked from commit bae105a5ccd11430bab14721d1325e2303a673da)

Change-Id: I9d630d63336f4db69f3eb52faa8483f1b1e35d16
2017-08-17 10:48:41 +09:00
Android Build Merger (Role)
c4121ff0c3 Merge "Merge "Merge "Add convenience methods to IpPrefix and LinkAddress" am: aabc00fad6 am: 3ca020fe8b am: caafb4d9f5 am: 7a2f77b3a0" into oc-mr1-dev-plus-aosp am: 4351aecb2d" 2017-08-16 19:28:20 +00:00
Hugo Benichi
0d73ab8f88 Merge "Merge "Add convenience methods to IpPrefix and LinkAddress" am: aabc00fad6 am: 3ca020fe8b am: caafb4d9f5 am: 7a2f77b3a0" into oc-mr1-dev-plus-aosp
am: 4351aecb2d

Change-Id: I3b2b7dcb1a9a194fc08643b27bbb5a0e84e01412
2017-08-16 19:22:46 +00:00
Charles He
f0dbb4aaa0 Merge "Unbreak VPN unit tests." 2017-08-16 19:05:49 +00:00
Hugo Benichi
1051ac1886 Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" am: b35719a057 am: eea3a77efc am: 34ea4f9088 am: b77d06e971
am: 6ec484230b

Change-Id: I31ef741eb83d64c476e5930d5762514b5d4cb16f
2017-08-16 18:39:54 +00:00
Hugo Benichi
4842843b23 Merge "Add convenience methods to IpPrefix and LinkAddress" am: aabc00fad6 am: 3ca020fe8b am: caafb4d9f5
am: 7a2f77b3a0

Change-Id: Ied0cc53ac34c7c5f5539507b1979cbf9c215262e
2017-08-16 15:20:59 +00:00
Hugo Benichi
7a2f77b3a0 Merge "Add convenience methods to IpPrefix and LinkAddress" am: aabc00fad6 am: 3ca020fe8b
am: caafb4d9f5

Change-Id: I8d6dd5efd226a8b1c4b05d1e1102362b58e094a1
2017-08-16 15:09:12 +00:00
Hugo Benichi
caafb4d9f5 Merge "Add convenience methods to IpPrefix and LinkAddress" am: aabc00fad6
am: 3ca020fe8b

Change-Id: Iddfec82a08f845e728adadfa6ec58a60a078d6af
2017-08-16 14:56:51 +00:00
Hugo Benichi
3ca020fe8b Merge "Add convenience methods to IpPrefix and LinkAddress"
am: aabc00fad6

Change-Id: I6d3f3c50eaec44e3a0787e849ab28e89f6f4a72d
2017-08-16 14:49:27 +00:00
Treehugger Robot
aabc00fad6 Merge "Add convenience methods to IpPrefix and LinkAddress" 2017-08-16 14:38:29 +00:00
Hugo Benichi
8253be9fb7 Add convenience methods to IpPrefix and LinkAddress
Also moving relevant test files into tests/net as part of runtest
framworks-net.

Also removes testHashCode in LinkAddress() because this test relies on
the assumption that hashCode() is stable across releases or jdk
versions, which is absolutely not true.

This creates maintenance work for little benefit since hashCode is
already tested as part of the equality test.

For instance this test is now broken because hashing for InetAddress
changed.

Bug: 62988545
Bug: 62918393
Test: runtest frameworks-net, added coverage in tests
Change-Id: I695bc3f0e801bf13bc4fc0706565758f12b775b4
2017-08-16 21:42:21 +09:00
Hugo Benichi
6ec484230b Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" am: b35719a057 am: eea3a77efc am: 34ea4f9088
am: b77d06e971

Change-Id: I7ee60daa9c4266e9b9179032815dd7267e06377f
2017-08-16 12:23:25 +00:00
Charles He
5da89994b9 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
Test: runtest frameworks-net
Change-Id: Icff57c7e927c135d75a7d70ff347a579c5d45134
2017-08-16 13:14:13 +01:00
Hugo Benichi
b77d06e971 Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" am: b35719a057 am: eea3a77efc
am: 34ea4f9088

Change-Id: I01e287b4df82a53a522566d33b3166f7801badca
2017-08-16 12:14:09 +00:00
Hugo Benichi
34ea4f9088 Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" am: b35719a057
am: eea3a77efc

Change-Id: Ied592bf6112574399a1e808da337004e1c35f244
2017-08-16 12:04:38 +00:00
Hugo Benichi
eea3a77efc Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities"
am: b35719a057

Change-Id: I0ab76de59e87c46a6961229399ff7200bce49838
2017-08-16 11:50:55 +00:00
Hugo Benichi
1ebf219ed9 Allow NetworkAgent "immutable updates" to NetworkCapabilities
This patch loosens the validation checks when a NetworkAgent updates it
NetworkCapabilities: instead of checking that capabilities labeled as
"immutable" stay identical across updates, it is now accepted to change
immutable capabilities in a way that the new NetworkCapabilities
satisfies the old NetworkCapabilities.

This allows a NetworkAgent to update itself in order to match more
requests, but will still catch NetworkAgents that sends degradation
updates causing potentially requests to not match anymore.

Bug: 64125969
Test: runtest frameworks-net
Change-Id: I2a1b3f9c0be6415e40edc989d0c1b03b5631f7b1
2017-08-16 18:30:30 +09:00
Charles He
d681363fd1 Opt-out for always-on VPN: rename API.
Rename the opt-out flag in AndroidManifest to
SERVICE_META_DATA_SUPPORTS_ALWAYS_ON
as directed by the API Council.

Bug: 64331776
Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Change-Id: I24326fad7a89083a2409134640bda81ee0359d08
2017-08-15 15:52:39 +01:00
Tobias Thierer
5efcea8a39 Network: Use HttpURLConnectionFactory rather than OkHttp APIs
This is a refactoring with no behavior change.

The new class provides an abstraction layer to hide knowledge
about OkHttp-specific APIs. Logic from android.net.Network that
knew about OkHttp is moving into that abstraction layer.

This CL refactors android.net.Network to make use of this
abstraction layer instead of the tight coupling onto OkHttp
APIs. The class no longer imports any classes from okhttp
packages.

The values of mDns and mConnectionPool, which never change after
the initial call to maybeInitHttpClient(), are now set directly on
the AndroidHttpClient instance when it is constructed in that method.

Applications can overwrite getSocketFactory() and might depend on
that method being called (and the result used) every time a
connection is opened; therefore, for maximum app compatibility this
call was kept inside openConnection().

This CL is a prerequisite for introducing an additional frameworks
dependency on a richer API than HttpURLConnection.

Test: Build and install apk for FrameworksCoreTests, then run:
      adb shell am instrument -e class android.net.NetworkTest -w com.android.frameworks.coretests
Bug: 64021405

Change-Id: I2c73d260508ee20c6a40fd6e95e2d058d3ea2330
2017-08-08 13:08:36 +01:00
Hugo Benichi
4fe57ca65b Merge "Fix flaky IpPrefixTest." am: 39a0b6b58e -s ours am: 9e59475003 -s ours am: 38e86ba9f4 -s ours am: deb9ca18aa -s ours
am: d988c1500b  -s ours

Change-Id: I5d520813e218cd84cef462a29a9feb5925758eb1
2017-08-08 07:53:49 +00:00
Hugo Benichi
d988c1500b Merge "Fix flaky IpPrefixTest." am: 39a0b6b58e -s ours am: 9e59475003 -s ours am: 38e86ba9f4 -s ours
am: deb9ca18aa  -s ours

Change-Id: I0d7ce75411072adb90c449d71c48b163c06ee290
2017-08-08 07:47:07 +00:00
Hugo Benichi
deb9ca18aa Merge "Fix flaky IpPrefixTest." am: 39a0b6b58e -s ours am: 9e59475003 -s ours
am: 38e86ba9f4  -s ours

Change-Id: I64b9214694132f874d5546b4ade1917524db50d7
2017-08-08 07:40:11 +00:00
Hugo Benichi
38e86ba9f4 Merge "Fix flaky IpPrefixTest." am: 39a0b6b58e -s ours
am: 9e59475003  -s ours

Change-Id: I216b50a8d0f51f2f731b17598b205a7b0ad65324
2017-08-08 07:34:42 +00:00
Hugo Benichi
9e59475003 Merge "Fix flaky IpPrefixTest."
am: 39a0b6b58e  -s ours

Change-Id: Iabc8a365a6c18c19754da7ddfcc0385eb5b0f768
2017-08-08 07:28:32 +00:00
Treehugger Robot
39a0b6b58e Merge "Fix flaky IpPrefixTest." 2017-08-08 07:16:48 +00:00
Hugo Benichi
f9c61862cc Fix flaky IpPrefixTest.
Test: IpPrefixTest passes
Bug: 32561414
Merged-In: Ib4bffe9d33a6d4f5c2bd97798073de0f66d77645

(cherry pick from commit f5ec69155d)

Change-Id: Ibaf11aae9b13af868bebff820c9e7615b63c8eb2
2017-08-08 14:54:08 +09:00
Hugo Benichi
68455f3950 Merge "Merge "NetworkCapabilities: fix describeImmutableDifferences" into oc-dr1-dev am: 1b3877a965 -s ours" into oc-dr1-dev-plus-aosp am: 8047f7acad -s ours
am: 10d78759e3  -s ours

Change-Id: I2f269ae7987f50dc61f4d29c802c3923d74183be
2017-08-07 06:17:55 +00:00
Hugo Benichi
bfcefd4943 Merge "Merge "NetworkCapabilities: fix describeImmutableDifferences" into oc-dr1-dev am: 1b3877a965 am: 6ecf87a88a -s ours" into oc-mr1-dev-plus-aosp
am: e3e371fe1d  -s ours

Change-Id: I08c8f8be01dbc136a344a1813758be31d21fec07
2017-08-07 06:08:53 +00:00
Hugo Benichi
10d78759e3 Merge "Merge "NetworkCapabilities: fix describeImmutableDifferences" into oc-dr1-dev am: 1b3877a965 -s ours" into oc-dr1-dev-plus-aosp
am: 8047f7acad  -s ours

Change-Id: I5d3fe083ccbec5baa7f53beca4cb938312877a9e
2017-08-07 06:07:13 +00:00