Commit Graph

4359 Commits

Author SHA1 Message Date
Benedict Wong
130409d40b Merge "Add tunnel-mode calls to netd in IpSecService"
am: 475fe28c50

Change-Id: I60bd2cd453b8ea7b5a0fb5eb0b59e8a9fe8f57cb
2018-01-24 19:48:26 +00:00
Benedict Wong
c5fb7341b1 Merge "Add TunnelInterface API and KernelResourceRecords"
am: eb2ff56abe

Change-Id: Ic8a93b2d6d8280c01808968251e6f422fa1d2340
2018-01-24 08:55:38 +00:00
Benedict Wong
d32b02cf69 Add tunnel-mode calls to netd in IpSecService
Adds calls to relevant netd methods in IpSecService, enabling Tunnel
mode functionality.

Bug: 63588681
Test: Compiles, passing CTS + unit tests
Change-Id: I6deb68584cddb03f21bd76370d4ef69cadc1bf16
2018-01-24 08:19:55 +00:00
Benedict Wong
8950ec7e38 Merge "Add xfrm mark in IpSecConfig"
am: 5bee154c8c

Change-Id: Idcac0878b4f74c25ef007fb7f1643fca5de80225
2018-01-24 08:00:52 +00:00
Benedict Wong
eb2ff56abe Merge "Add TunnelInterface API and KernelResourceRecords" 2018-01-24 07:25:04 +00:00
Benedict Wong
b8421d7772 Add TunnelInterface API and KernelResourceRecords
This change adds one KernelResourceRecord type (TunnelInterfaceRecord),
and adds methods for the creation of TunnelInterfaces, as well as the
application of Transforms to the given TunnelInterfaces

As part of the generation of ikeys/okeys, a ReserveKeyTracker manages a
java bitset to avoid collisions and reserve/release keys.

Bug: 63588681
Test: Compiles, CTS, unit tests all pass on AOSP_marlin
Change-Id: I9e9b6455e27073acd4491eae666aa966b3b10e0f
2018-01-24 07:24:27 +00:00
Chalard Jean
643cb7cfd7 Merge changes I3b16caad,Iaf5ea7ab,I09a94042,I69a39039,I35300309, ...
am: a890570df4

Change-Id: I49269ac65138be59d68561ea1c15ff2ad0339d8b
2018-01-24 06:03:41 +00:00
Benedict Wong
5bee154c8c Merge "Add xfrm mark in IpSecConfig" 2018-01-24 05:53:29 +00:00
Chenbo Feng
84968fc944 Merge changes from topic "bpfStats"
am: 8eb249c775

Change-Id: I488be110cca66990f44f6e45d5489ce23f36432e
2018-01-24 05:32:34 +00:00
Chalard Jean
a890570df4 Merge changes I3b16caad,Iaf5ea7ab,I09a94042,I69a39039,I35300309, ...
* changes:
  Let network requests see VPNs.
  Move constants into a new file.
  Make sure listen requests from VPN apps see their own networks
  Add a test for new UID checking code.
  Remove UID_RANGES_ADDED and REMOVED.
  Move VPN allowed UIDs into NetworkCapabilities.
  Pre-import to remove a conflict.
2018-01-24 04:09:44 +00:00
Treehugger Robot
8eb249c775 Merge changes from topic "bpfStats"
* changes:
  Use /proc/net/dev to get stats summary
  Add bpf support for NetworkStatsFactory
  Add BPF support for NetworkStatsService
2018-01-24 04:08:29 +00:00
Benedict Wong
f6ef9e335b Merge "Add checks to ensure SPIs are not reused"
am: 1f232690c3

Change-Id: I893925014557e5ae13303debc4ee8f50faf9605d
2018-01-23 19:27:51 +00:00
Lorenzo Colitti
f131243d63 Merge changes from topic "multipath-datausage-backport"
am: 61fe8317c7

Change-Id: Ic29d71ade161434b6dea796a887f60b5587ca1d5
2018-01-23 19:17:54 +00:00
Lorenzo Colitti
a4e89a3cd8 Disable IpConnectivityMetricsTest.
am: ddf729bb8d

Change-Id: Iba9dad4001c6aa725285eee6df32f116c846532d
2018-01-23 19:04:05 +00:00
Benedict Wong
1f232690c3 Merge "Add checks to ensure SPIs are not reused" 2018-01-23 18:00:06 +00:00
Lorenzo Colitti
61fe8317c7 Merge changes from topic "multipath-datausage-backport"
* changes:
  Support passing a template to NetworkStatsManager queries.
  Add metered, roaming, and defaultNetwork info to NetworkTemplate.
  Unbreak frameworks-net tests broken by missing libutilscallstack.
  Disable IpConnectivityMetricsTest.
  Add the defaultNetwork element to the netstats.proto.
  Add getDefaultNetwork to the NetworkStats public API.
2018-01-23 15:22:18 +00:00
Chalard Jean
e3c1bfd61f Let network requests see VPNs.
Test: runtest frameworks-net
Test: also tested with VPN app
Test: also cts passing
Change-Id: I3b16caad7787c3c1f2921ca1583815c89efbadc5
2018-01-23 21:38:00 +09:00
Chalard Jean
52e5af0742 Move constants into a new file.
Also audit all constants, make some private, annotate some
with @VisibleForTesting.

Test: runtest framework && cts
Change-Id: Iaf5ea7abd36fd8d544dcc84654f6cb529196d654
2018-01-23 21:38:00 +09:00
Chalard Jean
56ad8d8449 Make sure listen requests from VPN apps see their own networks
Test: runtest frameworks-net
Test: CTS pass, including with the next patch which is what this
      actually matters for

Change-Id: I09a94042acbefa24ab884f95326e30d6ab280b82
2018-01-23 21:38:00 +09:00
Chalard Jean
6b96118282 Add a test for new UID checking code.
Test: manual, this is a new test and it passes
Change-Id: I69a39039647ec05f970700e36c5f1e1e6e110f4a
2018-01-23 21:38:00 +09:00
Chalard Jean
a39c91c27c Remove UID_RANGES_ADDED and REMOVED.
Test: runtest frameworks-net
Test: also tested with VPN app
Test: also cts passing
Change-Id: I3530030996daeba05a8f2fffc5c6e21ed62e3f40
2018-01-23 21:38:00 +09:00
Chalard Jean
e4230ce692 Move VPN allowed UIDs into NetworkCapabilities.
Test: runtest frameworks-net
Test: also new specific tests for this new code
Test: also tested with VPN app
Test: also cts passing
Change-Id: If0311bae2bf99dedac959febadecf4f92f3064b8
2018-01-23 21:38:00 +09:00
Chalard Jean
c97ac60ad0 Pre-import to remove a conflict.
Test: compiles and passes checkstyle
Change-Id: I1ffdd88e6268fee0cf88992420ab21eb42928957
2018-01-23 21:38:00 +09:00
Lorenzo Colitti
ddf729bb8d Disable IpConnectivityMetricsTest.
This test has been failing for a while, and we are do not have
bandwidth to fix it during the next week.

Test: make -j64 FrameworksNetTests RUN_ERROR_PRONE=true
Test: atest FrameworksNetTests:IpConnectivityMetricsTest
Test: runtest -x frameworks/base/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
Change-Id: I59d73c1773e160a726996f3ab4ad20312decc127
Merged-In: I59d73c1773e160a726996f3ab4ad20312decc127
2018-01-23 18:38:48 +09:00
Chenbo Feng
13d64cd653 Use /proc/net/dev to get stats summary
If the qtaguid proc file is no longer exist, the device is running new
eBPF module to do traffic accounting. So the NetworkStatsFactory need to
use the proc/net/dev interface to get the per interface traffic stats
summary. Also, adding a test to verify the helper function work properly

Bug: 30950746
Test: run NetworkStatsFactoryTest
Change-Id: Ia36808bf02f1637dd41a3e7c50917b91b1a77524
2018-01-23 00:35:02 -08:00
Chenbo Feng
0f3dfee39b Add bpf support for NetworkStatsFactory
Add the native method used to read the detail information of network
stats from bpf maps. The native method of NetworkStatsFactory should
choose the correct implementation to get the stats detail depending on
the kernel version. Currently the bpf result is printed as a reference
and the actual behavior of NetworkStatsFactory should not change.

Test: NetworkStatsFactory related cts test should not fail.
Bug: 30950746
Change-Id: I4715a23559b5b2306bd556cea0431f0ed172a993
2018-01-23 00:34:53 -08:00
Benedict Wong
bed828b632 Add checks to ensure SPIs are not reused
This change adds an additional check in CheckIpsecConfig to prevent
users from using the same SPI twice. This allows for a more granular
error message.

Bug: 70642141
Test: Tests added in IpSecServiceParameterizedTest
Change-Id: I9621fb05c6b162bd8ae8db4ac1e64feaa9d0ac73
2018-01-22 21:09:47 -08:00
Benedict Wong
dd55cdcda3 Merge "Address comments and final cleanup from refcounting integration"
am: f376b27a5c

Change-Id: Ie0bc2b81e09ee874ef848905bb486967a857c6d1
2018-01-22 23:57:28 +00:00
Benedict Wong
f376b27a5c Merge "Address comments and final cleanup from refcounting integration" 2018-01-22 20:32:18 +00:00
Benedict Wong
a6093405d8 Merge "Rename create/delete transform methods"
am: 5d164327e2

Change-Id: I76576d1f3193fcbb3680fb29893cf696ea7a41fe
2018-01-22 19:44:43 +00:00
Benedict Wong
5d164327e2 Merge "Rename create/delete transform methods" 2018-01-22 17:57:15 +00:00
Benedict Wong
a9d43af75e Rename create/delete transform methods
CreateTransportModeTransform and DeleteTransportModeTransform are both
agnostic as far as which mode of transform it creates/deletes. As such,
to facilitate the implementation of tunnel mode, this patch renames them
to CreateTransform and DeleteTransform, along with all test names.

Bug: 63588681
Test: frameworks/base unit tests and CTS tests run, passed
Change-Id: I1f015eb7ad0e85fca966658a9402485ca2b44091
2018-01-19 10:43:01 -08:00
Lorenzo Colitti
fd496bf6ad Merge changes Id8776d14,Ifa291c62,I5ea9d200
am: 76715955e0

Change-Id: I7a0b01cba8bdee67cffabddacb4ff5f4591cbc34
2018-01-19 16:30:17 +00:00
Treehugger Robot
76715955e0 Merge changes Id8776d14,Ifa291c62,I5ea9d200
* changes:
  Track and persist in stats whether traffic is on the default network.
  Add the default network to NetworkStats and NetworkStatsCollection.
  Pass all default networks to NetworkStatsService
2018-01-19 14:48:52 +00:00
Lorenzo Colitti
e2e04f14d5 Track and persist in stats whether traffic is on the default network.
This change adds the defaultNetwork to the ident based on current
system networking state, and persists that value to flash.

Bug: 35142602
Test: runtest frameworks-net
Test: downloaded files using default/non-default networks while watching dumpsys netstats
Change-Id: Id8776d149b2977548a9eb455ad4926af55e25aba
2018-01-19 19:49:16 +09:00
Lorenzo Colitti
e9a6d36fb3 Add the default network to NetworkStats and NetworkStatsCollection.
This allows us to maintain NetworkStats entries that track
whether the traffic was on the default network.

At the moment, the stats collection code always passes in
DEFAULT_NETWORK_NO. However, this value is a no-op, since it is
not persisted to disk. Only the ident, the uid/set/tag, and the
packet/byte/operation counters are persisted.

A future change will add defaultNetwork to the ident and start
persisting it.

Bug: 35142602
Test: runtest frameworks-net
Change-Id: Ifa291c62c0fa389b88e5561086a29dcd7cee2253
2018-01-19 19:49:16 +09:00
Lorenzo Colitti
a9dcce5a67 Pass all default networks to NetworkStatsService
This will allow NetworkStatsService to treat traffic on these
networks differently from traffic where the app selects a network
that is not the default.

Bug: 35142602
Test: runtest frameworks-net
Change-Id: I5ea9d200d9fb153490c6108bb9390bf152f297da
2018-01-19 16:40:10 +09:00
Jeff Sharkey
754d687b0d Merge "Add ability to override subscriber capabilities."
am: d6cd4b241a

Change-Id: Id035d437e9b297ba70ba9231f6cfdd44e5b9c257
2018-01-19 01:04:32 +00:00
Di Lu
ddac24c12b Add xfrm mark in IpSecConfig
Bug: 63589600
Test: runtest frameworks-net
Change-Id: I2d38d781b8b31d8bf39fd4e9a7e31509f15a9e16
2018-01-18 15:23:56 -08:00
Jeff Sharkey
01ee403080 Add ability to override subscriber capabilities.
In a future set of CLs, NPMS will offer to override a handful of
capabilities on a per-subId basis.  Define a no-op version of the
interface to make it easier to add new methods in the future.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.
Test: bit FrameworksTelephonyTests:com.android.internal.telephony.dataconnection.DataConnectionTest
Bug: 64133169
Change-Id: I03dfd98463861f0338c4174e8d8a88c300ea5b55
2018-01-18 14:46:13 -07:00
Jeff Sharkey
b5d8ecb02b Merge "Add "not congested" network capability."
am: f2ca25f0cb

Change-Id: I02ea25610df63b40547c3114c0f9a9ef59560e90
2018-01-18 03:58:13 +00:00
Erik Kline
1015443681 Merge "Add basic resolution of Private DNS hostname"
am: 90310d279e

Change-Id: I9ce3476d80b05c140a02aaf1c21d4da2a68a8909
2018-01-18 03:54:50 +00:00
Jeff Sharkey
f2ca25f0cb Merge "Add "not congested" network capability." 2018-01-18 03:28:34 +00:00
Lorenzo Colitti
d5b2824f06 Merge "Add public API methods for private DNS."
am: 05b54efcb3

Change-Id: If2bdfb05fcb235888bf272e4cfddb14619fc3f78
2018-01-18 03:21:02 +00:00
Treehugger Robot
90310d279e Merge "Add basic resolution of Private DNS hostname" 2018-01-18 02:44:53 +00:00
Lorenzo Colitti
05b54efcb3 Merge "Add public API methods for private DNS." 2018-01-18 01:17:17 +00:00
dalyk
83b5fa28ec Add public API methods for private DNS.
Test: Small modifications to LinkProperties test.
Bug: 71828272
Change-Id: Id2f5acb5469132ec4a917837739f42085c71498e
2018-01-17 15:46:21 -05:00
nharold
71aa19dcbf Merge "IpSec - API Tweak for removeTransportModeTransform"
am: dc88d02119

Change-Id: I0ed7128014bbca8973f84d719449dcf70da45fa2
2018-01-17 20:31:15 +00:00
Benedict Wong
370f737f19 Address comments and final cleanup from refcounting integration
Added some extra comments on reference counting and moved a few methods
around. No significant logical changes made in this CL

Bug: 63409385
Test: CTS, Unit tests (both frameworks-base and netd) and binder tests
all pass

Change-Id: I89f1f4a021db48ae406fefefa6aca7406045736c
2018-01-17 12:10:49 -08:00
nharold
dc88d02119 Merge "IpSec - API Tweak for removeTransportModeTransform" 2018-01-17 19:07:10 +00:00