Commit Graph

8916 Commits

Author SHA1 Message Date
Benedict Wong
0bdb3d9c51 Merge "Add RequiresFeature annotations for IKEv2 VPN profiles" into rvc-dev am: 2a0b964e76
Change-Id: If586cc601523aced520da3ebba00bca60d34a794
2020-05-29 17:32:44 +00:00
Benedict Wong
2a0b964e76 Merge "Add RequiresFeature annotations for IKEv2 VPN profiles" into rvc-dev 2020-05-29 17:17:10 +00:00
Cody Kesting
3d65ccb9f8 Merge "Comment reason for simulateDataStall structure." into rvc-dev am: 99e673b056
Change-Id: I6b27cbb174090936f8dfcbe0d82dcdbe387683ee
2020-05-29 16:40:40 +00:00
Cody Kesting
99e673b056 Merge "Comment reason for simulateDataStall structure." into rvc-dev 2020-05-29 16:29:23 +00:00
TreeHugger Robot
c029e74145 Merge "Add dnsproxyd_protocol_headers for NETID_USE_LOCAL_NAMESERVERS" into rvc-dev am: 3abae6da06
Change-Id: I3ab5b7ad875abbe7fe6edcb834bf7d0cb06e5116
2020-05-29 14:09:23 +00:00
TreeHugger Robot
3abae6da06 Merge "Add dnsproxyd_protocol_headers for NETID_USE_LOCAL_NAMESERVERS" into rvc-dev 2020-05-29 14:01:18 +00:00
Chalard Jean
9afd861e3d Merge "Adjust tests for renaming groupHint to cluster." into rvc-dev am: 6489161fd5
Change-Id: I91768e43fb69c74058b248a03698d6ffedf94f55
2020-05-29 04:21:59 +00:00
Automerger Merge Worker
0b03324129 Adjust tests for renaming groupHint to cluster.
Bug: 146460486
Test: atest android.net.IpMemoryStoreTest
Test: atest com.android.server.connectivity.ipmemorystore.IpMemoryStoreServiceTest
Change-Id: Ia9797bb93aa4ff89147a77823d342dc22aec6a25
Merged-In: I69f7a2971cc5985d0f0078aecc39d4d6a6130033
(cherry-picked from aosp/1311654)
2020-05-29 02:28:59 +00:00
Benedict Wong
7c40fcb2a4 Add RequiresFeature annotations for IKEv2 VPN profiles
This change adds the @RequiresFeature annotation to Ikev2VpnProfile
Builder methods, and checks before provisioning VPN profiles.

Bug: 156681625
Test: New tests added, passing.
Change-Id: I125d8fbe5d67fb877ad7d0636c007cb3e1a9f59b
Merged-In: I125d8fbe5d67fb877ad7d0636c007cb3e1a9f59b
(cherry picked from commit e84a17dd1706f4c8373047b2023a1ec4b7cf4bf3)
2020-05-28 19:07:29 -07:00
TreeHugger Robot
d157591df7 Merge changes I289d935f,I0121a4ac,Ie73ba058,I4393afcb,Ifebd946e, ... into rvc-dev am: c119ee1ed2
Change-Id: Iec9a061d0f91993e65c5d110955e8f23b0f0d945
2020-05-28 21:28:28 +00:00
Maciej Żenczykowski
8548a852bc NetworkStats: apply464xlatAdjustments - remove useBpfStats parameter. am: 2996dbca66
Change-Id: Ibaee70f31f27f7457bd8524d4ab62bc76fff5dea
2020-05-28 21:28:25 +00:00
Maciej Żenczykowski
a8c10abcb2 fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccounting100MBDownload am: b6e56b637c
Change-Id: I9fea19ddd38b51b65f79c59a53739e94dc833152
2020-05-28 21:28:23 +00:00
Maciej Żenczykowski
9eeba033f6 fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccounting am: 798804037d
Change-Id: Ifc902659ea23b9361c57e4b30a55427924c79b5e
2020-05-28 21:28:15 +00:00
Maciej Żenczykowski
b7effcdaba fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccountingSimple am: 8dfa72888d
Change-Id: Id47ec36c825e2ec4258a61a01a724bc2a0a94166
2020-05-28 21:28:13 +00:00
Maciej Żenczykowski
536b889f7b fix android.net.NetworkStatsTest#testApply464xlatAdjustments am: eddd5871ed
Change-Id: I039caa0891030a5ebeba87ebfc410e72bd6c8d00
2020-05-28 21:28:10 +00:00
Maciej Żenczykowski
bde194b816 NetworkStats: apply464xlatAdjustments - don't remove CLAT_UID
This should no longer be needed after all the cleanups.

Test: atest NetworkStatsTest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I289d935f84b616ed857ef4c5a7427d57c282d00c
Merged-In: I289d935f84b616ed857ef4c5a7427d57c282d00c
2020-05-28 02:44:20 -07:00
Maciej Żenczykowski
2996dbca66 NetworkStats: apply464xlatAdjustments - remove useBpfStats parameter.
Test: atest NetworkStatsTest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0121a4ac7ee824adc5930bab786d550b2f00b05b
Merged-In: I0121a4ac7ee824adc5930bab786d550b2f00b05b
2020-05-28 02:44:10 -07:00
Maciej Żenczykowski
b6e56b637c fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccounting100MBDownload
No clat app uid 0 rx stats on base iface due to ip6tables raw prerouting drop

(so just copy over the rx stats from the before file)

Test: atest NetworkStatsTest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie73ba0586dafde67bc2726db26e07f7268c18be3
Merged-In: Ie73ba0586dafde67bc2726db26e07f7268c18be3
2020-05-28 02:44:02 -07:00
Maciej Żenczykowski
798804037d fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccounting
No clat app uid 0 rx stats on base iface due to ip6tables raw prerouting drop

Test: atest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I4393afcbe8e1bb886ecf4f5c1573f6ac8a0e29f5
Merged-In: I4393afcbe8e1bb886ecf4f5c1573f6ac8a0e29f5
2020-05-28 02:43:53 -07:00
Maciej Żenczykowski
8dfa72888d fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccountingSimple
No clat app uid 0 rx stats on base iface due to ip6tables raw prerouting drop

Test: atest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifebd946e06b5fa2eeb7ff4fc0b1c423097021692
Merged-In: Ifebd946e06b5fa2eeb7ff4fc0b1c423097021692
2020-05-28 02:43:44 -07:00
Maciej Żenczykowski
eddd5871ed fix android.net.NetworkStatsTest#testApply464xlatAdjustments
Test: atest NetworkStatsTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ib12ee88295eb502f6da13d212b4fd6298dea380f
Merged-In: Ib12ee88295eb502f6da13d212b4fd6298dea380f
2020-05-28 02:43:33 -07:00
Luke Huang
2d0874ca05 Add dnsproxyd_protocol_headers for NETID_USE_LOCAL_NAMESERVERS
NETID_USE_LOCAL_NAMESERVERS is no longer in libnetd_client

Bug: 151895202
Test: build
Change-Id: Iea0c2488dcabdd24d6ffca8134cd11ed12e8308a
2020-05-28 16:42:12 +08:00
Cody Kesting
a52847cfeb Comment reason for simulateDataStall structure.
This change adds a comment to CS#simulateDataStall to explain why the
Data Stall is wrapped in a DataStallReportParcelable before being passed
to the ConnectivityDiagnostics handler. This approach is taken to ensure
that simulated data stalls are handled the exact same as Data Stalls
received directly from NetworkMonitor (including Data Stalls detected by
methods that the platform does not understand).

Bug: 156294356
Test: atest ConnectivityDiagnosticsManager
Change-Id: I751054418bf328c72b977a1cc99c27cb9b8ab7ba
Merged-In: I751054418bf328c72b977a1cc99c27cb9b8ab7ba
(cherry picked from commit c86db7497a27cfbac5c662911a295598b1335bc0)
2020-05-28 00:40:43 +00:00
Benedict Wong
1e6a741859 Merge "Add methods for IKEv2/IPsec test mode profiles" into rvc-dev am: 4d887857e3
Change-Id: I38f112fbf1d0d0e8c1cf86068573d4fb94cecaa8
2020-05-27 17:33:41 +00:00
Benedict Wong
4d887857e3 Merge "Add methods for IKEv2/IPsec test mode profiles" into rvc-dev 2020-05-27 17:31:00 +00:00
Cody Kesting
8e1ed8867d Merge "Forward unknown Data Stall types to Connectivity Diagnostics." into rvc-dev am: 70708c54d0
Change-Id: I09582c2cac562751e3e33357a5f43083eb4c6d1a
2020-05-27 16:18:30 +00:00
Cody Kesting
70708c54d0 Merge "Forward unknown Data Stall types to Connectivity Diagnostics." into rvc-dev 2020-05-27 16:03:38 +00:00
Lorenzo Colitti
f726d7ab2e Inform the DNS resolver when it needs to do DNS64 synthesis. am: 119ecc6867
Change-Id: Ic418b02d68985a6a8ea22d845ad57349468b4dcd
2020-05-26 14:29:13 +00:00
Lorenzo Colitti
71c4318efd Test that if an RA sets the same prefix as DNS, nothing happens. am: 3e54957fac
Change-Id: I171ff7fd8140028dc4a4e7df5cc4663b8ad696e7
2020-05-26 12:58:22 +00:00
Lorenzo Colitti
119ecc6867 Inform the DNS resolver when it needs to do DNS64 synthesis.
This is only necessary when learning the NAT64 prefix from the
RA, because if the NAT64 prefix is learned from DNS, the DNS
resolver already knows the prefix and automatically enables
DNS64 synthesis.

The DNS resolver needs to be informed of the prefix any time
clat is running on a prefix learned from an RA. This is simple to
implement: just set the prefix when starting clat if prefix
discovery is not running, and clear the prefix when stopping clat
if prefix discovery was not running. This ensures that the prefix
is cleared iff it was set.

Bug: 156914456
Test: new unit test coverage
Original-Change: https://android-review.googlesource.com/1315578
Merged-In: If8ad2d30712a6df3e207c8d3e8a129705242191e
Change-Id: If8ad2d30712a6df3e207c8d3e8a129705242191e
2020-05-26 11:52:35 +00:00
Lorenzo Colitti
3e54957fac Test that if an RA sets the same prefix as DNS, nothing happens.
This is not particularly likely to happen unless the pref64 RA is
sent by a different router than the main RA. But more tests are
always good, and this additional coverage will be more useful
in an upcoming change.

Bug: 150648313
Test: test-only change
Original-Change: https://android-review.googlesource.com/1316094
Merged-In: I3316d49d42100800740afadc4edf0a13a4d8377c
Change-Id: I3316d49d42100800740afadc4edf0a13a4d8377c
2020-05-26 11:35:33 +00:00
Cody Kesting
e7d4aa8d99 Forward unknown Data Stall types to Connectivity Diagnostics.
This CL forwards suspected Data Stall events detected with unknown
detection methods to ConnectivityDiagnostics.

Currently, ConnectivityService drops any data stall events with unknown
detection methods, which leads to false negatives for Connectivity
Diagnostics registrants. This change ensures that registrants will still
be notified as NetworkStack is updated to use new detection methods.

The documentation for ConnectivityDiagnosticsManager#DataStallReport is
also updated to reflect that the detection methods included in the
report are a bit mask of detection methods used. Implicitly, this means
that data stalls detected via unknown methods will have an empty bit
mask (0x00).

Bug: 156294356
Test: atest ConnectivityDiagnosticsManager
Change-Id: I62d0bf91fcc17c7921afd519c72551399906bd6b
Merged-In: I62d0bf91fcc17c7921afd519c72551399906bd6b
(cherry picked from commit a1d9d811a05bf3447ebb90a39343b53eee79f0db)
2020-05-22 19:12:14 +00:00
Cody Kesting
4722e8dfa7 Merge "Move Data Stall logic to CS from NetworkMonitorCallbacks." into rvc-dev am: 8d1db61752
Change-Id: I75c162680fa548da20a8ab3dcf664dd57feb9002
2020-05-21 16:04:19 +00:00
Cody Kesting
8d1db61752 Merge "Move Data Stall logic to CS from NetworkMonitorCallbacks." into rvc-dev 2020-05-21 16:01:01 +00:00
Chalard Jean
07b69e4658 Merge "Address nit from aosp/1301317" into rvc-dev am: 75fddad9b4
Change-Id: I719006d1f3452a51303999dad5805ae0271ffddf
2020-05-21 07:04:43 +00:00
Chalard Jean
e3d1f5e2f1 Merge "Fix a bug where VPNs start out suspended on cellular" into rvc-dev am: 8c06a845ac
Change-Id: If3e0353505e89ffb4b6ae2fe49e11639f20e293e
2020-05-21 07:03:51 +00:00
Chalard Jean
dceccdfc1c Merge "Fix a bug where a spurious capabilities callback is sent." into rvc-dev am: acdacbfe65
Change-Id: I47f8f49d7e51ebaec68e7ad678f55fd0087847c7
2020-05-21 07:02:49 +00:00
Chalard Jean
75fddad9b4 Merge "Address nit from aosp/1301317" into rvc-dev 2020-05-21 06:44:30 +00:00
Chalard Jean
8c06a845ac Merge "Fix a bug where VPNs start out suspended on cellular" into rvc-dev 2020-05-21 06:43:56 +00:00
Treehugger Robot
436608cf39 Address nit from aosp/1301317
Test: atest ConnectivityServiceTest#testVpnSetUnderlyingNetworks
Bug: 150570873
Original-Change: https://android-review.googlesource.com/1307374
Merged-In: If5e5439b22f05e08a293fd83da4d54f6a4363ca5
Change-Id: If5e5439b22f05e08a293fd83da4d54f6a4363ca5
2020-05-21 05:12:41 +00:00
Chalard Jean
fc7054d0e9 Fix a bug where VPNs start out suspended on cellular
As NetworkAgent is in a transition where all agents need
to include the NOT_SUSPENDED capability as part of their
migration to the system API, ConnectivityService adds it
forcefully to all agents that don't have the CELLULAR
transport. This doesn't include VPNs when VPNs have some
cellular network as their underlying network.

The best way to solve this is to make sure the VPN
capabilities reflect those of the underlying networks as
far as the NOT_SUSPENDED capability is concerned. This
is how they work for other similar capabilities.

This also happens to contain a drive-by fix for an issue
with a spurious capabilities callback is triggered when
a VPN connects and it has any underlying network (which
means almost always, because it will take the default
network if it doesn't declare any). Fixing this was
necessary to have a cogent test of this issue, but it
could be moved to another patch or it could stay unfixed
with some minor ajustment to the tests if judged too
dangerous to include in R at this point.

Test: New tests in this patch. Also manually tested with
      tcpdump as described in b/150570873.
Bug: 150570873
Original-Change: https://android-review.googlesource.com/1301317
Merged-In: I3e4ff990c0d4825b21c7679be29a482a2d1324ec
Change-Id: I3e4ff990c0d4825b21c7679be29a482a2d1324ec
2020-05-21 05:10:37 +00:00
Chalard Jean
1112dd3d83 Fix a bug where a spurious capabilities callback is sent.
When a VPN connects and it has any underlying network (which
means almost always, because it will take the default network
if it doesn't declare any), it has default capabilities and
will only take the capabilities of its underlying network
as part of an update happening after making the network
available but before the rematch can take place. This in turn
causes the capabilities callback sent as part of the rematch
to be spuriously sent.

Test: FrameworksNetTests. Also tested together with a
      followup that adds tests with drive-by coverage for this.
Bug: 150570873
Original-Change: https://android-review.googlesource.com/1305393
Merged-In: Id7d8bba486bada1a7ba5b0f152d2aa02e407f249
Change-Id: Id7d8bba486bada1a7ba5b0f152d2aa02e407f249
2020-05-21 05:09:15 +00:00
Cody Kesting
7e4528c080 Move Data Stall logic to CS from NetworkMonitorCallbacks.
This change moves the logic for handling Data Stall notifications from
NetworkMonitorCallbacks to ConnectivityService. This avoids duplicate
logic for managing data stall simulation requests from
ConnectivityManager. This also puts all of the logic for proxying Data
Stall notifications to the ConnectivityDiagnosticsHandler into one
place.

Bug: 148032944
Test: atest ConnectivityDiagnosticsManagerTest
Change-Id: Ie2f6a1a2376c5c452750ab417cb5e8c24fc44fc3
Merged-In: Ie2f6a1a2376c5c452750ab417cb5e8c24fc44fc3
(cherry picked from commit 745eaa39a3c9bcaaa61671f66d8c1180195c84c4)
2020-05-18 21:12:33 +00:00
Benedict Wong
23bd36bc04 Add methods for IKEv2/IPsec test mode profiles
This change adds the ability for IKEv2/IPsec VPN profiles to run on Test
Networks. If enabled, the IKEv2/IPsec VPN profiles will request ONLY
test networks.

Bug: 148582947
Test: FrameworksNetTests passing
Test: Added for testing
Change-Id: I2511b39b27a1e29ae97907cdb12728d13fb1628f
Merged-In: I2511b39b27a1e29ae97907cdb12728d13fb1628f
(cherry picked from commit 9e18eeb4a676ef3afc4bc510f18f81213b8edc55)
2020-05-16 00:15:14 +00:00
Cody Kesting
8ed473a5e6 Merge "Create TestApi for simulating a Data Stall on ConnectivityService." into rvc-dev am: aa921179de
Change-Id: I126dd23216a3a42a9745a2c97e26ac2599e307e1
2020-05-14 19:19:13 +00:00
Cody Kesting
f5780f203f Merge "Set owner and administrator UIDs for test networks." into rvc-dev am: 52655a00d0
Change-Id: Ia17090a6a00b878235d512a80e59d9f58fd1cbd9
2020-05-14 19:18:26 +00:00
Cody Kesting
aa921179de Merge "Create TestApi for simulating a Data Stall on ConnectivityService." into rvc-dev 2020-05-14 18:56:36 +00:00
Cody Kesting
52655a00d0 Merge "Set owner and administrator UIDs for test networks." into rvc-dev 2020-05-14 18:56:16 +00:00
Remi NGUYEN VAN
17237da05e Merge "Use the new NetworkStackConnector constructor" into rvc-dev am: 2404bc617a
Change-Id: Icf470e9e5f308a6575c98ad2f9f4a867c3e32e1e
2020-05-14 00:12:22 +00:00
Remi NGUYEN VAN
cc0836c5e6 Use the new NetworkStackConnector constructor
The constructor was changed to allow for unit tests.

Bug: 137328719
Test: atest FrameworksNetIntegrationTests
Original-Change: https://android-review.googlesource.com/1295360
Merged-In: I46f247268310e12d420531745a22e93cf3550e89
Change-Id: I46f247268310e12d420531745a22e93cf3550e89
2020-05-13 09:18:52 +00:00