Commit Graph

92672 Commits

Author SHA1 Message Date
Junyu Lai
626045a601 [BR01.1] Support BpfNetMapsReader
A helper class to *read* java BpfMaps. This is designed to
provide direct bpf access in the caller process through
ConnectivityManager APIs.

The change also removes any statical link to
net-utils-device-common-struct from service-connectivity.
This is because net-utils-device-common-struct is already
included in framework-connectivity. Including it again in
service-connectivity would create a r8 build fail by circular
dependency.

Test: atest FrameworksNetTests:android.net.connectivity.com.android.server.BpfNetMapsTest
Test: atest ConnectivityCoverageTests:android.net.connectivity.com.android.net.module.util.StructTest
Test: atest FrameworksNetTests:android.net.connectivity.android.net.BpfNetMapsReaderTest
Bug: 297836825
Change-Id: I7a6d2eb816d0dc7343167bddd672806b199f44fe
2023-10-23 20:11:02 +08:00
Hansen Kurli
bbbbc2fb1e Merge changes Id9f81fdf,I3428e8b3,Ifa895f71,I61cd4751,I47a25e9f into main am: 00fd12588f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2760607

Change-Id: If2ca83079c30566c93953827a2b7a165782be03a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-23 12:07:55 +00:00
Hansen Kurli
00fd12588f Merge changes Id9f81fdf,I3428e8b3,Ifa895f71,I61cd4751,I47a25e9f into main
* changes:
  Add tests for always on lockdown VPN on system user.
  Remove MockVpn.setAlwaysOnPackage() non-lockdown.
  Mock onUserAdded() and onUserRemoved()
  Refactor helper method to return integer ranges.
  Add tests for onUserAdded and onUserRemoved
2023-10-23 11:58:24 +00:00
Junyu Lai
ee6724e314 Merge "[BR07.1] Expose setDataSaverEnabled from ConnectivityManager" into main am: d88205a1ae
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2745215

Change-Id: Ic4b0a41f288398a5334377d5aaab40f3fe0ef07a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-23 11:43:33 +00:00
Junyu Lai
d88205a1ae Merge "[BR07.1] Expose setDataSaverEnabled from ConnectivityManager" into main 2023-10-23 11:21:53 +00:00
Hansen Kurli
2ddfc8ba8c Mock Vpn.setAlwaysOnPackage().
Call setRequireVpnForUids() directly to mock an always on Vpn
being enabled instead of calling the real Vpn method.

Bug: 230548427
Test: atest FrameworksNetTests
Change-Id: I63d6547104cc6ee984413d4cf6027ceecd301ecc
2023-10-23 17:22:19 +08:00
Hansen Kurli
a09c6f29a6 Add tests for always on lockdown VPN on system user.
Add test coverage for Vpn.setAlwaysOnPackage() where the caller
is system user to ensure uid = 0 is not restricted.

Bug: 230548427
Test: atest FrameworksNetTests
Change-Id: Id9f81fdf0147597f64f8440b971930b3bd7b55e5
2023-10-23 17:22:10 +08:00
Chalard Jean
a27dca2fdc Fix arg order to set-package-network-enabled in the CTS preparer
Test: manual
Change-Id: Ife55ed9dc152cd2c21e56b84201b9c34dbb04d46
2023-10-23 17:26:53 +09:00
Hansen Kurli
9ae16e4e27 Remove MockVpn.setAlwaysOnPackage() non-lockdown.
Remove calls to MockVpn.setAlwaysOnPackage() where lockdown is
false as this does not cause any changes to occur. Also verify
setRequireVpnForUids() is not called for this case in VpnTest.

Bug: 230548427
Test: atest FrameworksNetTests
Change-Id: I3428e8b31b02975975be9e943e1f88cf0e80c5ee
2023-10-23 16:03:06 +08:00
Mark
c352f3cb4e SyncSM05.1: add testMultiDepthTransition
Test: atest TetheringTests
Change-Id: I427360f6a106b001123442ccd4802290d4f13369
2023-10-23 07:34:29 +00:00
Mark
8f068a8a1e SyncSM05: add SyncStateMachineTest
A initial test for SyncStateMachine, will add more tests in the
following changes.

Test: atest SyncStateMachineTest
Change-Id: Ie6dbbe22bfef40b1675d50243d14d0a235df1e3a
2023-10-23 07:29:09 +00:00
Hansen Kurli
cd04062150 Mock onUserAdded() and onUserRemoved()
Replace calls to onUserAdded() and onUserRemoved() to their
equivalent setUids() or setRequireVpnForUids() calls.

Note coverage for the calls to Vpn were added in VpnTest.

Bug: 230548427
Test: atest FrameworksNetTests
Change-Id: Ifa895f71f78bd3376216fd2759c7a5a33cd3aff1
2023-10-23 15:26:30 +08:00
Hansen Kurli
946cafb87e Refactor helper method to return integer ranges.
Calls to setRequireVpnForUids() for Vpn lockdown actually uses a
List instead of a Set of integer ranges.
Add intRangesExcludingUids() to return the needed List of integer
ranges and replace relevant usages of UidRange.toIntRanges() with
it.

Bug: 230548427
Test: atest FrameworksNetTests
Change-Id: I61cd4751ce2faeb129daa5ad5da7181e3c1df73c
2023-10-23 15:12:21 +08:00
Junyu Lai
54e84ab05a Add test for cgroup bpf program status
This is useful to ensure cgroup bpf program is attached,
which would lead to hard-debugging uid stats missing problem.

Test: atest ConnectivityServiceIntegrationTest#testBpfProgramAttachStatus
Bug: 292156770
Change-Id: I16370497484aff29ed41cbb0d160e530731e1a4e
2023-10-23 13:38:04 +08:00
Sudheer Shanka
569a944a05 Merge "Increase the service bind timeout." into main am: 6c83f00b09
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2798032

Change-Id: I1143f8e5ccceaa55d934bf0a9dff04e8b29299f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-22 02:44:08 +00:00
Sudheer Shanka
6c83f00b09 Merge "Increase the service bind timeout." into main 2023-10-22 02:16:22 +00:00
Jean Chalard
df2978bdbe Merge "Reapply "Simplify addRoutesToLocalNetwork calls"" into main am: dab9125464
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2792437

Change-Id: Ia2cd630223bf0ed89e6076b08121f85a4a225c66
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-21 16:28:16 +00:00
Maciej Żenczykowski
7281931ce7 Merge "execute platform bpfloader after netbpfload is done" into main am: 1b36d2e2a3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2797840

Change-Id: I2995dd51eb048330d137481f435813b755a63d1b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-21 16:28:02 +00:00
Jean Chalard
dab9125464 Merge "Reapply "Simplify addRoutesToLocalNetwork calls"" into main 2023-10-21 16:25:58 +00:00
Maciej Żenczykowski
1b36d2e2a3 Merge "execute platform bpfloader after netbpfload is done" into main 2023-10-21 16:06:44 +00:00
Maciej Żenczykowski
58c182291d execute platform bpfloader after netbpfload is done
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I447880763bbc506f08b578f862f09be91ab3d14d
2023-10-21 09:20:03 +00:00
Treehugger Robot
1d12769cc9 Merge "Correct LINT path on UidOwnerMatchType" into main am: 28f16f4269
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2797480

Change-Id: I54ecc65cc13b12731084f614f90289887d597787
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-21 03:43:07 +00:00
Treehugger Robot
28f16f4269 Merge "Correct LINT path on UidOwnerMatchType" into main 2023-10-21 03:22:32 +00:00
Maciej Żenczykowski
ca26d71a56 Merge "move the bpf.progs_loaded = 1 setting back to bpfloader" into main am: ef63fd1fa0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2797839

Change-Id: I1f93611c18cbf89ff6a152ccddacb94cf6f2daba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-21 02:18:51 +00:00
Maciej Żenczykowski
e2512ef643 Revert "netbpfload: remove netbpfload.rc" am: 7db65c6d38
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2797841

Change-Id: I818f645d1e4c30c46bef24ca774fc1d9c864c916
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-21 02:18:40 +00:00
Maciej Żenczykowski
ef63fd1fa0 Merge "move the bpf.progs_loaded = 1 setting back to bpfloader" into main 2023-10-21 02:18:05 +00:00
Ken Chen
cf25a54909 Correct LINT path on UidOwnerMatchType
UidOwnerMatchType Java definition moved from BpfNetMaps.java to
BpfNetMapsConstants.java in change I6d7ea044e43180.

Bug: 297836825
Test: presubmit
Change-Id: I4fc28406750cac9143ea47e9304b455ab616d462
2023-10-21 01:47:05 +00:00
Maciej Żenczykowski
7db65c6d38 Revert "netbpfload: remove netbpfload.rc"
This mostly reverts commit 1d2c93d568.

Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I0d7fdaeae508c0250114f7af8700d0fc40b0f27a
2023-10-21 00:15:00 +00:00
Xinyi Zhou
e1e38f2d0f Merge "[nearby] Add discoveryTimestamp field" into udc-mainline-prod 2023-10-20 22:24:47 +00:00
Maciej Żenczykowski
3f25b4ba8a move the bpf.progs_loaded = 1 setting back to bpfloader
change of design: we'll call netbpfload before bpfloader

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2d7a04a1bf1aa1d163f2b3936e2cde61308c4aa4
2023-10-20 15:18:50 -07:00
Jean Chalard
a4b92a6b57 Merge "Reapply "Add LocalNetworkConfig"" into main am: e32bf36be8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2792436

Change-Id: I1f4843b60ab7aeecfd3df90d6a767775484e0ce8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-20 06:41:55 +00:00
Jean Chalard
e32bf36be8 Merge "Reapply "Add LocalNetworkConfig"" into main 2023-10-20 06:25:14 +00:00
Junyu Lai
bfcbf56043 Merge "Add synchronized block when accessing global variables" into main am: 8f6df28f50
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2770830

Change-Id: I0514c4a1b79d7cd9536f975eb0bcf119f4103bb1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-20 06:20:44 +00:00
Junyu Lai
8f6df28f50 Merge "Add synchronized block when accessing global variables" into main 2023-10-20 06:06:37 +00:00
Xiao Ma
c18df8c001 Merge "Add method to check if IA prefix option takes 0 lifetimes." into main am: 26af70f5fe
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2786859

Change-Id: Id7406c498c477f48de69ed7ff1f3c912e52fcc82
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-20 05:59:34 +00:00
Xiao Ma
26af70f5fe Merge "Add method to check if IA prefix option takes 0 lifetimes." into main 2023-10-20 05:37:26 +00:00
Xinyi Zhou
730894831d [nearby] Add discoveryTimestamp field
Test: -m
Bug: 306043245
Ignore-AOSP-First: nearby_not_in_aosp_yet
Change-Id: I2151cdeceec1a3180c79b0ea10adb6e5581f4845
2023-10-20 01:37:52 +00:00
Maciej Żenczykowski
248f29b53d Merge "Support shell command to get bpf program id" into main am: 5c2b517d6a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2773825

Change-Id: Ifb7cd890f58a68e60a921dab747d6c3196b1a257
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-19 23:01:27 +00:00
Maciej Żenczykowski
5c2b517d6a Merge "Support shell command to get bpf program id" into main 2023-10-19 22:35:04 +00:00
Maciej Żenczykowski
87f163f0fb Merge "tethering apex: add ethtool binary" into main am: edcc9425a0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2787047

Change-Id: Iaa4a75b4d3b482d2152b95e7939b6da7bcd3e928
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-19 20:35:46 +00:00
Maciej Żenczykowski
edcc9425a0 Merge "tethering apex: add ethtool binary" into main 2023-10-19 19:53:13 +00:00
Sudheer Shanka
bbe0b27ed8 Increase the service bind timeout.
Bug: 305826147
Test: atest com.android.cts.net.HostsideRestrictBackgroundNetworkTests
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4c137f7fa7827a9794165b86a5cc7ade85f017bf)
Merged-In: I1840e091ebbc9812da56a3522e009ba67a18c476
Change-Id: I1840e091ebbc9812da56a3522e009ba67a18c476
2023-10-19 19:19:51 +00:00
Junyu Lai
83eb7fc1cb Merge "Dump bpf program status in dumpsys" into main am: eb75416136
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2774206

Change-Id: I22bfe10165de8de395422566f307b644714699ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-19 10:09:34 +00:00
Junyu Lai
c279f1830e [BR07.1] Expose setDataSaverEnabled from ConnectivityManager
Currently, data saver switch is controlled in NPMS, which
calls into NetworkManagementService and netd when switching
status. In netd, BandwidthController manipulates the
bw_data_saver chain to control the overall behavior.

However, this code are all platform implementation, which
are not updatable. In order to migrate data saver switch
from iptables to bpf, this API is needed for Connectivity to
change the implementation to directly write bpf in later
patches.

Test: atest CtsHostsideNetworkTests:com.android.cts.net.HostsideRestrictBackgroundNetworkTests
Test: atest FrameworksServicesTests:NetworkManagementServiceTest
Bug: 297836825
Change-Id: I71fa41ca739fef8e191fba91b02758ad5f732d5c
2023-10-19 17:43:44 +08:00
Junyu Lai
eb75416136 Merge "Dump bpf program status in dumpsys" into main 2023-10-19 09:33:27 +00:00
Junyu Lai
4c2ea44e51 Merge "Respect SkipPresubmit annotation for ConnectivityCoverageTests" into main am: 6809bbde8e
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2797232

Change-Id: I9e36a08838e8063e67ffd370f100bd3a400b918d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-19 07:37:41 +00:00
Junyu Lai
6809bbde8e Merge "Respect SkipPresubmit annotation for ConnectivityCoverageTests" into main 2023-10-19 06:58:40 +00:00
Paul Hu
0a9fc24345 Merge "Add expired services removal flag" into main am: 322a322687
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2788017

Change-Id: I59fd7682b000d1510f9c5587622dc685492e7fd3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-19 06:46:44 +00:00
Paul Hu
322a322687 Merge "Add expired services removal flag" into main 2023-10-19 06:19:43 +00:00
Junyu Lai
08a4a873b8 Respect SkipPresubmit annotation for ConnectivityCoverageTests
Follow-up from aosp/2788197, the CL does not work since
SkipPresubmit annotation is not excluded from TEST_MAPPING for
ConnectivityCoverageTests.

Test: TH
Bug: 302325928
Change-Id: Ibfa509aadc9e54da14738714be46abd25f46f3fb
2023-10-19 10:33:03 +08:00