Commit Graph

7183 Commits

Author SHA1 Message Date
Lorenzo Colitti
a1580d0dea [automerger skipped] Merge "Don't auto-connect to networks that have no/limited connectivity." am: f7e4f831e3 am: ebdd783a9b -s ours
am: 0e5fb0af27 -s ours
am skip reason: change_id I5413393529c4bad3a707df229307542486bcff33 with SHA1 1ec284f9d2 is in history

Change-Id: I44723afb20ec488e620fe792d7268ba0bcd6de9c
2019-06-24 09:11:15 -07:00
Lorenzo Colitti
0e5fb0af27 [automerger skipped] Merge "Don't auto-connect to networks that have no/limited connectivity." am: f7e4f831e3
am: ebdd783a9b -s ours
am skip reason: change_id I5413393529c4bad3a707df229307542486bcff33 with SHA1 1ec284f9d2 is in history

Change-Id: I116cea63ccbfd5346ca218486671abae5176c273
2019-06-24 08:50:02 -07:00
Lorenzo Colitti
4130f57b08 [automerger skipped] Merge changes If7d41052,I66f263d7,Id45ae956,Iba752fed,I575a7e4f, ... into qt-r1-dev
am: 636e28a155 -s ours
am skip reason: change_id If2ef8d8f038f32c8cf974aa02cfc1dc7e44dbad3 with SHA1 8c9d8c5e05 is in history

Change-Id: I5b525feb1e7df2a89dea4f38b521973ccaac0746
2019-06-24 08:17:26 -07:00
Lorenzo Colitti
f7e4f831e3 Merge "Don't auto-connect to networks that have no/limited connectivity." 2019-06-24 10:45:51 +00:00
Lorenzo Colitti
636e28a155 Merge changes If7d41052,I66f263d7,Id45ae956,Iba752fed,I575a7e4f, ... into qt-r1-dev
* changes:
  Inline readNetworkStatsDetailInternal, make mUseBpfStats final
  Remove VPN info arrays from NetworkStats(Observer|Recorder)
  NetworkStatsFactory: Take VPNs into account for network/battery stats
  Remove duplicate line in clat_simple test file
  Remove unused lastStats parameter
  Revert "Revert "Take all VPN underlying networks into account when migrating traffic for""
2019-06-24 03:37:23 +00:00
Lorenzo Colitti
5050180784 Don't auto-connect to networks that have no/limited connectivity.
Auto-reconnecting to a network with no or limited Internet
connectivity is not useful. This is because such networks cannot
be used unless the user taps the notification and interacts with
the resulting dialog. But the notification is only shown if the
user manually connects to the network, not if the system
auto-connects to it.

Bug: 130683832
Bug: 130766237
Test: atest FrameworksNetTests
Change-Id: I5413393529c4bad3a707df229307542486bcff33
Merged-In: I5413393529c4bad3a707df229307542486bcff33
2019-06-24 11:39:18 +09:00
Benedict Wong
1f282ae3a4 Remove VPN info arrays from NetworkStats(Observer|Recorder)
This change removes the now-unused VPN arrays in the network stats
observer and recorder classes. These are always null values in every
call site.

Bug: 113122541
Bug: 120145746
Bug: 129264869
Bug: 134244752
Test: FrameworksNetTest passing
Test: Manual tests show data usage fixes maintained.
Merged-In: Ieb8645acc400fdaeb0df7092c5369b96f9f35af9
Change-Id: I66f263d7e12bce7668901306c0c2ecdda634abaf
(cherry picked from commit 255eebc51e)
2019-06-21 01:12:34 +00:00
Benedict Wong
176b66d170 NetworkStatsFactory: Take VPNs into account for network/battery stats
This change fixes detailed UID stats to ensure network and battery stats
both take VPNs into account. NetworkStatsFactory is being made aware of
VPNs enabled, and the full set of underlying networks present.

Since traffic can only be migrated over a NetworkStats delta, NSF
maintains a NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSF records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or NetworkStatsService's
getDetailedUidStats() method being called.

This change widens the scope of the existing mPersistentSnapshot lock,
renaming it to mPersistentDataLock, and ensures that TUN migrations are
not done in parallel. Additionally, mVpnInfos is updated via
pointer-swapping, to reduce the scope of the mPersistentDataLock.

The safety of this change is predicated on:
1. NetworkStatsFactory lock not held, so services cannot deadlock through
the cyclical lock.

2. The broadening of the scope of the lock in NetworkStatsFactory has no
threading implications, as it is always the last (leaf node) lock held,
and therefore is impossible to have lock inversion.

Additionally, to ensure VPNs work with 464xlat, the VPN info passed to
the NetworkStatsFactory includes all underlying interfaces, instead of
only passing the first one.

This (partially) re-applies changes from:
aosp/972848: Add one more test for VPN usage stats.
aosp/972847: Addressing comments for http://ag/7700679.
aosp/885338: NetworkStatsService: Fix getDetailedUidStats to take VPNs
             into account.
Co-developed with: Varun Anand <vaanand@google.com>

Bug: 113122541
Bug: 120145746
Bug: 129264869
Bug: 134244752
Test: FrameworksNetTest passing
Test: Manual tests show data usage fixes maintained.
Merged-In: I6466ec1411fc5ed6954125d27d353b6cd1be719e
Change-Id: Id45ae956ad7165be346ecc010e17d260563ac1c0
(cherry picked from commit b98e069317)
2019-06-21 01:12:27 +00:00
Benedict Wong
89189b6489 Remove duplicate line in clat_simple test file
This change removes a redundant line in the xt_qtaguid_with_clat test
file.

Bug: 113122541
Bug: 134244752
Test: FrameworksNetTest passing
Merged-In: I87deb82ba960102b617ab27362e8c5899fa478f8
Change-Id: Iba752fed5600c8a470d14ccdf1dd437668d8dc15
(cherry picked from commit de27c6d055)
2019-06-21 01:12:17 +00:00
Benedict Wong
6eed854a32 Revert "Revert "Take all VPN underlying networks into account when migrating traffic for""
This reverts commit 9863ba9f09.

Reason for revert: Fix available for deadlocks.

Bug: 113122541
Bug: 134244752
Merged-In: Ib65214598837289bd39dbf040b56ab7835f893ba
Change-Id: Ia90bf2c72ef686e80800d113d03548e0efcadb66
(cherry picked from commit b393d28d65)
2019-06-21 01:09:49 +00:00
Chalard Jean
d01acc2c52 Merge "Factorize custom asserts." am: 6c176efa3d am: 99fbb40990
am: 1cf6627d18

Change-Id: I8774ea64f004999ddb46223a76a671388687d455
2019-06-20 14:06:58 -07:00
Chalard Jean
1cf6627d18 Merge "Factorize custom asserts." am: 6c176efa3d
am: 99fbb40990

Change-Id: I65ea7497abb8b77ebd10ba622075ef3b6c49b2a8
2019-06-20 14:01:31 -07:00
Chalard Jean
6480287469 Factorize custom asserts.
Also a few utilities that were in the way, and some opportunistic
cleanups.

Test: FrameworksNetTest NetworkStackTest
Change-Id: I385070e2044fd967cb18f1ffea9a86a4627b742e
2019-06-20 16:24:25 +09:00
Junyu Lai
d9cc092ae9 [automerger skipped] Merge "Move the test of minimum supported keepalive slots to CTS" into qt-dev am: 94103bdf04 -s ours
am: 158be36637 -s ours
am skip reason: change_id I408750fa0bceb0c1c26afb5fead4e44fb824fbc1 with SHA1 c7fc2f7745 is in history

Change-Id: I275dec24a2e4519265b7b50cd0a0f68fd62f2968
2019-06-19 23:50:00 -07:00
Junyu Lai
5159a96cbb [automerger skipped] Merge "Move the test of minimum supported keepalive slots to CTS" into qt-dev am: 94103bdf04
am: 8ffb2b0106 -s ours
am skip reason: change_id I408750fa0bceb0c1c26afb5fead4e44fb824fbc1 with SHA1 c7fc2f7745 is in history

Change-Id: I2efc2fa71b1fa94f0010020f504eaaf7d11be8af
2019-06-19 23:32:40 -07:00
Junyu Lai
927e20cca0 [automerger skipped] Move the test of minimum supported keepalive slots to CTS am: f2ae439d82 -s ours
am: c01cd42a56 -s ours
am skip reason: change_id I408750fa0bceb0c1c26afb5fead4e44fb824fbc1 with SHA1 c7fc2f7745 is in history

Change-Id: I1f97cf977eb04ded8da003f3f56547ca70fa1d6e
2019-06-19 23:20:16 -07:00
Junyu Lai
7475417828 [automerger skipped] Correct value of supported keepalive count for cellular am: f55045649a -s ours
am: f2553dea50 -s ours
am skip reason: change_id Ia3761f2e78d54866bb2e156d58004396bbc8adc3 with SHA1 59fc443325 is in history

Change-Id: I9caaa1a09ecc37735ef741e5ce43f42fa9a779e5
2019-06-19 23:19:46 -07:00
Junyu Lai
158be36637 [automerger skipped] Merge "Move the test of minimum supported keepalive slots to CTS" into qt-dev
am: 94103bdf04 -s ours
am skip reason: change_id I408750fa0bceb0c1c26afb5fead4e44fb824fbc1 with SHA1 c7fc2f7745 is in history

Change-Id: I6645b0b7be6f7d3b9e6fc2a547fad4df4e5e1cab
2019-06-19 23:01:08 -07:00
Junyu Lai
c01cd42a56 [automerger skipped] Move the test of minimum supported keepalive slots to CTS
am: f2ae439d82 -s ours
am skip reason: change_id I408750fa0bceb0c1c26afb5fead4e44fb824fbc1 with SHA1 c7fc2f7745 is in history

Change-Id: I793a942dc543573951b0cc527b3252c23f181a29
2019-06-19 22:54:47 -07:00
Junyu Lai
f2553dea50 [automerger skipped] Correct value of supported keepalive count for cellular
am: f55045649a -s ours
am skip reason: change_id Ia3761f2e78d54866bb2e156d58004396bbc8adc3 with SHA1 59fc443325 is in history

Change-Id: I5c37a44b17e75e439b7de21a3217237fad6e120b
2019-06-19 22:54:32 -07:00
Junyu Lai
94103bdf04 Merge "Move the test of minimum supported keepalive slots to CTS" into qt-dev 2019-06-20 05:35:07 +00:00
Junyu Lai
f55045649a Correct value of supported keepalive count for cellular
Cellular only supports 1 keepalive connection so correct the default
supported value to 1.

Bug: 134037217
Bug: 134352656
Test: - atest FrameworksNetTests
      - atest android.net.cts.ConnectivityManagerTest \
        #testSocketKeepaliveLimitTelephony

Merged-In: Ia3761f2e78d54866bb2e156d58004396bbc8adc3
Change-Id: If833b813ba00eeff913160598f1ea9c74e6e35d8
(cherry picked from commit 680abbb591d9c084d1a1e3f9dea1ed8d4e3b1ae8)
2019-06-20 04:02:38 +00:00
Junyu Lai
f2ae439d82 Move the test of minimum supported keepalive slots to CTS
This change also enables log when keepalive is started.

Bug: 134352656
Test: 1. atest android.net.cts.ConnectivityManagerTest#testSocketKeepaliveLimitTelephony
      2. atest FrameworksNetTests
Merged-In: I408750fa0bceb0c1c26afb5fead4e44fb824fbc1
Change-Id: Ib9b06d3458782a648a2f5b8fd5a9ca1d34bd11f9
(cherry picked from commit aed835f086440f721c279e33d6b5d4b4bc270296)
2019-06-20 02:26:58 +00:00
Junyu Lai
414cc31635 Merge "Move the test of minimum supported keepalive slots to CTS" am: 18e3198519 am: 6ff00fee75
am: 301bafa22e

Change-Id: If063ff023bf386884c6e42d2acb281763975ac8f
2019-06-19 07:36:52 -07:00
Junyu Lai
7e08862acb Merge "Correct value of supported keepalive count for cellular" am: d20d6e9f1e am: 056eeae27c
am: fca2e7c85c

Change-Id: Ia0c1e0511bffd630af4aae87cafd99e68a042149
2019-06-19 07:36:43 -07:00
Junyu Lai
301bafa22e Merge "Move the test of minimum supported keepalive slots to CTS" am: 18e3198519
am: 6ff00fee75

Change-Id: Ib9b06d3458782a648a2f5b8fd5a9ca1d34bd11f9
2019-06-19 07:29:11 -07:00
Junyu Lai
fca2e7c85c Merge "Correct value of supported keepalive count for cellular" am: d20d6e9f1e
am: 056eeae27c

Change-Id: If833b813ba00eeff913160598f1ea9c74e6e35d8
2019-06-19 07:28:53 -07:00
Junyu Lai
18e3198519 Merge "Move the test of minimum supported keepalive slots to CTS" 2019-06-19 14:08:31 +00:00
Junyu Lai
d20d6e9f1e Merge "Correct value of supported keepalive count for cellular" 2019-06-19 14:08:31 +00:00
junyulai
c7fc2f7745 Move the test of minimum supported keepalive slots to CTS
This change also enables log when keepalive is started.

Bug: 134352656
Test: 1. atest android.net.cts.ConnectivityManagerTest#testSocketKeepaliveLimitTelephony
      2. atest FrameworksNetTests
Change-Id: I408750fa0bceb0c1c26afb5fead4e44fb824fbc1
2019-06-19 16:25:19 +08:00
Paul Hu
90f0cad875 Merge "Add SocketUtils CTS tests" am: c534d8ba36 am: f97246a87c
am: f1ecafec13

Change-Id: I36fb368217ff50319ae6f853f0d22cfc79541b40
2019-06-18 04:19:31 -07:00
Paul Hu
f1ecafec13 Merge "Add SocketUtils CTS tests" am: c534d8ba36
am: f97246a87c

Change-Id: I11e638a2fab004979298708a5c75bb7c2f208f67
2019-06-18 04:12:27 -07:00
Paul Hu
c534d8ba36 Merge "Add SocketUtils CTS tests" 2019-06-18 10:46:30 +00:00
Android Build Merger (Role)
2f7b97e9b5 Merge "[automerger skipped] Merge "Remove the <= P restriction for WIFI_P2P" into qt-dev am: 2ae76cdbe8 -s ours am: 4f9407b6e9 -s ours am skip reason: change_id I56c86b0c1912064d5a642991df32d2cefb6a8d5b with SHA1 6eb4a5893b is in history" into qt-r1-dev-plus-aosp 2019-06-18 06:47:03 +00:00
Chalard Jean
1b56ee8e25 [automerger skipped] Merge "Remove the <= P restriction for WIFI_P2P" into qt-dev am: 2ae76cdbe8 -s ours
am: 4f9407b6e9 -s ours
am skip reason: change_id I56c86b0c1912064d5a642991df32d2cefb6a8d5b with SHA1 6eb4a5893b is in history

Change-Id: I45912237edf2f485e6e747c7b4878eb440096f18
2019-06-17 23:46:20 -07:00
Chalard Jean
0853c50f94 [automerger skipped] Merge "Remove the <= P restriction for WIFI_P2P" into qt-dev am: 2ae76cdbe8
am: 5fa9d376ea -s ours
am skip reason: change_id I56c86b0c1912064d5a642991df32d2cefb6a8d5b with SHA1 6eb4a5893b is in history

Change-Id: Icb639762f04fbae7129a1962548dfd0da200e886
2019-06-17 23:45:18 -07:00
Chalard Jean
4f9407b6e9 [automerger skipped] Merge "Remove the <= P restriction for WIFI_P2P" into qt-dev
am: 2ae76cdbe8 -s ours
am skip reason: change_id I56c86b0c1912064d5a642991df32d2cefb6a8d5b with SHA1 6eb4a5893b is in history

Change-Id: Ib3b27436b44e678f026ce5026abf23db2f50a4cf
2019-06-17 23:35:11 -07:00
Chalard Jean
d47182e342 Remove the <= P restriction for WIFI_P2P
This is still sent in an intent.

Bug: 131764329
Fixes: 131764329
Merged-In: I56c86b0c1912064d5a642991df32d2cefb6a8d5b
Change-Id: I64b9d632be97dc51e6085162371bb8c19f410258
(cherry picked from commit e546cb0bd16b7359feeb3c46ba52e64cf91ae4d3)
2019-06-18 06:15:58 +00:00
Varun Anand
d01416edfc Merge changes Ieb8645ac,I6466ec14,I87deb82b,I995b108e,Ib6521459 am: 2d731828cb am: 48f59a0fdf
am: dd947a4fd1

Change-Id: I16884eef6e2b8d64031363cfb4adacc4a0a9ead7
2019-06-17 10:43:22 -07:00
Varun Anand
dd947a4fd1 Merge changes Ieb8645ac,I6466ec14,I87deb82b,I995b108e,Ib6521459 am: 2d731828cb
am: 48f59a0fdf

Change-Id: I960e94b03b29282ae2b03f78a19ed2692bd88e05
2019-06-17 10:33:53 -07:00
Varun Anand
2d731828cb Merge changes Ieb8645ac,I6466ec14,I87deb82b,I995b108e,Ib6521459
* changes:
  Remove VPN info arrays from NetworkStats(Observer|Recorder)
  NetworkStatsFactory: Take VPNs into account for network/battery stats
  Remove duplicate line in clat_simple test file
  Remove unused lastStats parameter
  Revert "Revert "Take all VPN underlying networks into account when migrating traffic for""
2019-06-17 15:56:24 +00:00
Chalard Jean
1552a79f96 Merge "Remove the <= P restriction for WIFI_P2P" am: ea24a290bd am: bb754c9c8d
am: 0d00b3cfd2

Change-Id: I56e16f7a29f20e4ebbbcef2228fc2935b41df564
2019-06-17 08:28:25 -07:00
Chalard Jean
0d00b3cfd2 Merge "Remove the <= P restriction for WIFI_P2P" am: ea24a290bd
am: bb754c9c8d

Change-Id: I14f5865249740587d550ac31b59883f4a87fd4a1
2019-06-17 08:20:18 -07:00
Treehugger Robot
ea24a290bd Merge "Remove the <= P restriction for WIFI_P2P" 2019-06-17 14:58:21 +00:00
Android Build Merger (Role)
f3a9c9809d Merge "[automerger skipped] Merge changes I80bebcd0,I35f3718f into qt-dev am: 08793a3b64 am: a63b604929 -s ours am skip reason: change_id Iad0e9a28670e96a3c953518a0d0ccd77e2f2fa80 with SHA1 1e3b152eca is in history" into qt-r1-dev-plus-aosp 2019-06-17 14:31:27 +00:00
Chalard Jean
25b656790d [automerger skipped] Merge changes I80bebcd0,I35f3718f into qt-dev am: 08793a3b64
am: a63b604929 -s ours
am skip reason: change_id Iad0e9a28670e96a3c953518a0d0ccd77e2f2fa80 with SHA1 1e3b152eca is in history

Change-Id: Idbcfe381f246a6d9c7e9ef3c51150f6f2a065230
2019-06-17 07:29:56 -07:00
Chalard Jean
06a902d375 [automerger skipped] Merge changes I80bebcd0,I35f3718f into qt-dev am: 08793a3b64 -s ours
am: cf5d7c17a1 -s ours
am skip reason: change_id Iad0e9a28670e96a3c953518a0d0ccd77e2f2fa80 with SHA1 1e3b152eca is in history

Change-Id: Iad5f4f152115dd4cbb31dbe7e37b3aea0b6ce071
2019-06-17 07:29:54 -07:00
Chalard Jean
cf5d7c17a1 [automerger skipped] Merge changes I80bebcd0,I35f3718f into qt-dev
am: 08793a3b64 -s ours
am skip reason: change_id Iad0e9a28670e96a3c953518a0d0ccd77e2f2fa80 with SHA1 1e3b152eca is in history

Change-Id: I9094b83959e1f75f90edac095060240c129b73b0
2019-06-17 07:21:50 -07:00
Chalard Jean
342c3394d0 Simplification of code to prevent a Log.wtf in expected cases.
This mostly serves to unindent code to make it locally more
readable. It is a functional no-op.

Bug: 135043192
Test: atest FrameworksNetTests
Merged-In: Iad0e9a28670e96a3c953518a0d0ccd77e2f2fa80
Change-Id: I80bebcd04c277f6e4b0665fe1253b2309e3bc535
(cherry picked from commit e1f5759319a4559b3cf89029449878dc56f92bb7)
2019-06-17 13:16:46 +00:00
Chalard Jean
1c44f05067 Merge "Simplification of code to prevent a Log.wtf in expected cases." am: 3ef0c36587 am: fbc68b975a
am: 8d69c6dca3

Change-Id: I846943dc91ef3cb6dc7516ba38dc93fb8a80bb88
2019-06-17 04:34:32 -07:00