Commit Graph

90874 Commits

Author SHA1 Message Date
Treehugger Robot
a675e966b2 Merge "Remove defaultEnabled arg from isNetworkStackFeatureEnabled" into main 2023-10-03 11:51:32 +00:00
Chiachang Wang
1f47e6f2e6 Merge "Remove Ikev2VpnProfile related shims usage" into main am: 0509e0da16
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2764585

Change-Id: I16a43aff0260fc52488cf18a75732def3cbb9e2b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-03 08:16:09 +00:00
Chiachang Wang
0509e0da16 Merge "Remove Ikev2VpnProfile related shims usage" into main 2023-10-03 07:45:41 +00:00
Chalard Jean
ec0149f1ba Remove an NPE in tearDown
This is masking an exception in setUp() and makes debugging difficult

Test: treehugger
Change-Id: I8b5b80c4171d45076dd02bab5ff4b6dc81d98086
2023-10-03 16:01:00 +09:00
Maciej Żenczykowski
283c25a07a netbpfload: update date in copyright messages, LOG_TAGs, etc.
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8f83d04266caf930701b9725b457333ddae149f2
2023-10-02 22:40:38 -07:00
Maciej Żenczykowski
354ded3926 netbpfload: remove support for 'loader'
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I3d6a6a072cc958c3cb8f49d747a6c6812b37cef5
2023-10-02 22:35:38 -07:00
Maciej Żenczykowski
d6395205bb netbpfload: remove support for 'vendor'
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: If088188b4832d37b084846b5ad3db06b8858d856
2023-10-02 22:35:24 -07:00
Maciej Żenczykowski
0e4802df20 netbpfload: remove support for 'platform'
Test: N/A
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ia0c1f55aa78435737699e0dec0bfddbd977e7392
2023-10-02 22:35:03 -07:00
Maciej Żenczykowski
c112629307 bpf: add constants PRIVATE, SHARED, MANDATORY, OPTIONAL
use them & IGNORE_ON_* LOAD_ON_* as needed.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ibadd782d289e6a2ce1467778a1930c6f1b609f98
2023-10-03 05:30:56 +00:00
Maciej Żenczykowski
2387323a23 switch from defines to static consts
tm-mainline-prod is no longer in use

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I8704dccff1432ba811e99a89ea60028fd63365b5
2023-10-03 05:15:18 +00:00
Treehugger Robot
0fd5e55d73 Merge "import bpfloader into p/m/C" into main am: 20556ef70a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2767832

Change-Id: Ie9c3598bf5a22886320810c02dc9ea80a5091651
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-03 00:33:11 +00:00
Maciej Żenczykowski
c1b2eb1fb6 BpfClassic.h - more helpers am: 73df7414f1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2770598

Change-Id: Ie53acc11551c897466fa1637c982f2e5c0c2ac69
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-03 00:32:51 +00:00
Treehugger Robot
20556ef70a Merge "import bpfloader into p/m/C" into main 2023-10-03 00:24:25 +00:00
Maciej Żenczykowski
60c159f233 import bpfloader into p/m/C
These are unmodified files, without history.
Getting these to do something useful will come later.

Generated via:
  cp //system/bpf/bpfloader/bpfloader.rc netbpfload.rc
  cp //system/bpf/bpfloader/BpfLoader.cpp NetBpfLoad.cpp
  cp //system/bpf/libbpf_android/include/libbpf_android.h loader.h
  cp //system/bpf/libbpf_android/Loader.cpp loader.cpp

Change-Id: I1677b899a51e1289a7a9806d6f5c34450b9e7c47
2023-10-02 14:59:10 -07:00
Maciej Żenczykowski
73df7414f1 BpfClassic.h - more helpers
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie0eb8895c2d887b71ba886735ad106c1118ebeac
2023-10-02 20:03:41 +00:00
Maciej Żenczykowski
cb2af635aa rename BPF2_REJECT_IF_ANY_BITS_SET -> BPF2_REJECT_IF_ANY_MASKED_BITS_SET am: b900201ffe
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2770578

Change-Id: If6193d7b8281e3baf5c82785a6425ebe93516e51
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-02 19:55:09 +00:00
Maciej Żenczykowski
b900201ffe rename BPF2_REJECT_IF_ANY_BITS_SET -> BPF2_REJECT_IF_ANY_MASKED_BITS_SET
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I54a189f0f7b73917aa3fd049fe2eca387aaca250
2023-10-02 16:09:05 +00:00
Treehugger Robot
fdda860608 Merge "Add method to read trunk stable flag" into main am: f74f42b4c0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2756185

Change-Id: I94b4a1bbecbca7e9a3fd92f9eb98e3dc1d26b32b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-02 14:20:02 +00:00
Treehugger Robot
f74f42b4c0 Merge "Add method to read trunk stable flag" into main 2023-10-02 13:17:53 +00:00
Motomu Utsumi
b0f489021b Add method to read trunk stable flag
aconfig soong modules should be used to read the trunk stable flag.
However they are not available in the mainline branch.
So this CL adds the method to check if the trunk stable flag is enabled
or not by directly reading from DeviceConfig.
It's expected that this does not work correctly if flag value is not
stored in the DeviceConfig.
But for the time being, this method can be used to keep development.
Once the mainline branch supports the aconfig soong modules, method
added by this CL must be removed and java_aconfig_library should be
used instead.

Test: adb shell device_config put android_core_networking \
Test: com.android.net.flags.test_feature true
Test: Compares the value from java_aconfig_library and DeviceConfigUtils
Change-Id: I8e35b33a3201192e940e88f96aad3b2b6685b046
2023-10-02 19:34:01 +09:00
KH Shi
9f7f268e5d Merge "Decouple Ipv6UpstreamRule with Ipv6DownstreamRule" into main am: 2a6a7359b7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2711576

Change-Id: I46b48a93f9920b860a036a92152d2eee1c013df0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-02 06:58:36 +00:00
abdelrahmani
5bcbbc1ce9 Disable the remaining VPN CTS tests on watches.
- Watches don't support VPN apps.
- The HostsideVpnTests CTS tests are already skipped on watches.
- The tests for VpnManager VPNs do run on watches, but there isn't
  actually a way to start a VpnManager VPN on a watch because there is
  no way to display the consent dialog to the user.
- The VpnService CTS tests verify the VpnService API on watches
  bypassing the consent dialogs.
- Because there is no way to start a VPN app on a watch, there's no
  point requiring the VPN CTS tests to pass.

This CL disables the remaining VPN CTS tests on watches. This allows
watches to disable the VPN service, reducing startup time and memory
usage.

Bug: 286240194
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: Idb7110232ae7e45cafc265cd4f955c2a6b22361c
2023-10-02 06:29:46 +00:00
KH Shi
2a6a7359b7 Merge "Decouple Ipv6UpstreamRule with Ipv6DownstreamRule" into main 2023-10-02 05:33:48 +00:00
Maciej Żenczykowski
5d4d419b97 Lower CLAT max MTU from 65536 to 1528. am: 9f94648b7f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2677095

Change-Id: Ifb1bc76f95e8eef24ed12a65fdf0a8cd4b4d360c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-30 19:58:41 +00:00
Maciej Żenczykowski
9f94648b7f Lower CLAT max MTU from 65536 to 1528.
Android's clat is for reaching the internet, which in general
never has an ipv4 L3 mtu higher than 1500.

(We could probably hit this on a jumboframe enabled IPv6-only
wifi network [ http://b/292057969#comment18 ] where RA claims
MTU of 9K [9170])

Bug: 292057969
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7a32455571458b8a3f1121ad980d54323b2ef06b
2023-09-30 14:23:51 +00:00
Jean Chalard
af5fb4dfdc Merge changes I52fcfd3f,I6de4abdc,I1e8944de,I9525bfe0,Ife09fef8, ... into main am: 868859d4ef
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2411144

Change-Id: I3be1739824cd0051db27a1c134de7f209bbf992b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-30 05:10:20 +00:00
Treehugger Robot
abb723ab5e Merge "Remove debug only restrictions to network tracing" into main am: 06c8691fe0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2768925

Change-Id: I3a5de68794272cd076d8ab7f90b7c8659c2d2ab9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-30 05:10:03 +00:00
Jean Chalard
868859d4ef Merge changes I52fcfd3f,I6de4abdc,I1e8944de,I9525bfe0,Ife09fef8, ... into main
* changes:
  Use carrier service changed callbacks when flag is on
  Delete slots as the listeners are unregistered.
  Have a full class (not inline) for privilege listener
  Update the carrier service UID when onCarrierServiceChanged
  Pass the modem count to registerCarrierPrivilegeListeners
  Reorder add/remove/register/unregister carrier listeners
2023-09-30 04:40:31 +00:00
Treehugger Robot
06c8691fe0 Merge "Remove debug only restrictions to network tracing" into main 2023-09-30 04:04:42 +00:00
Treehugger Robot
4ec3428bd7 Merge "Address comments on aosp/2765367" into main am: 6dfb7c7c90
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2769238

Change-Id: Ie52dd5f8028785220b67a59f5866d550a45e9dfb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-30 02:01:54 +00:00
Treehugger Robot
6dfb7c7c90 Merge "Address comments on aosp/2765367" into main 2023-09-30 00:37:49 +00:00
Maciej Żenczykowski
c6dd7c716f Merge "disallow 32-bit *system* userspace on 6.2+" into main am: a51221f011
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2768189

Change-Id: I3b3bc3e895a251f23bfeb292e20b98cbf9cbac89
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 23:55:44 +00:00
Ryan Zuklie
9fb8f18c1b Remove debug only restrictions to network tracing
Network tracing was only available on userdebug and eng builds. This
change makes it available on all build types behind a flag.

Bug: 298197881
Test: flash & trace, toggle flag on/off
Change-Id: I75d854aee74adf7e23f7a970b20233790f9b0354
2023-09-29 16:52:11 -07:00
Maciej Żenczykowski
a51221f011 Merge "disallow 32-bit *system* userspace on 6.2+" into main 2023-09-29 22:59:03 +00:00
Treehugger Robot
2e1341ab1c Merge "Add NetworkStackModuleTest exclusion for ConnectivityCoverageTests in TEST_MAPPING." into main am: ecfa576c02
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2769178

Change-Id: I79a53a6a20d1ddbd5d7022aeee63df0b9284bc30
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 13:28:02 +00:00
Treehugger Robot
ecfa576c02 Merge "Add NetworkStackModuleTest exclusion for ConnectivityCoverageTests in TEST_MAPPING." into main 2023-09-29 12:00:19 +00:00
Jean Chalard
6d5e0ad07e Merge changes Ifd7abd8a,I39cab8ff,I6b3270d6,Ia28c6abc,If47d7e23 into main am: 1d600f4300
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2405726

Change-Id: I9867b0c48537dd0164a3858328c865c667847289
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 07:07:23 +00:00
Xiao Ma
1031bb9e14 Merge "Exclude testGetNeighborsQuery from NetworkStackCoverageTests." into main am: f45ec2858a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2766945

Change-Id: I9346694686fcd939ddd1aa82a9e443aab5b2c7cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 07:07:00 +00:00
Chalard Jean
361dad3243 Use carrier service changed callbacks when flag is on
Test: FrameworksNetTests
      Note that carrierPrivilegeAuthenticatorTest is already
      an @Parameterized test with flag = on and off, so it
      already tests both.
Change-Id: I52fcfd3f21a13d7a39952ba828464ce6ef4085c2
2023-09-29 15:48:48 +09:00
Chalard Jean
5a68557438 Delete slots as the listeners are unregistered.
For the current code this is a no-op because the new
slots are always computed immediately in the same
critical section.

When the code uses callbacks for the carrier service UID
though, there will no longer be a time where the entire
array is reset. Instead, registering the callback will
immediately trigger the call that populates it again,
which means the value needs to be removed when a SIM
card is removed. Unregistering the callback is a good
time to do this.

Test: CarrierPrivilegeAuthenticatorTest
Change-Id: I6de4abdc57ffa455d7f8e4d35f5dd1e18937e94e
2023-09-29 15:48:48 +09:00
Chalard Jean
1e4c90c71d Have a full class (not inline) for privilege listener
Test: CarrierPrivilegeAuthenticatorTest
Change-Id: I1e8944de203767edf036da3fe77171025e72fcb7
2023-09-29 15:48:39 +09:00
Chalard Jean
c9dd664ae2 Update the carrier service UID when onCarrierServiceChanged
Tests show that when the carrier service package changes, sometimes
neither onCarrierPrivilegesChanged is called nor the
ACTION_MULTI_SIM_CONFIG_CHANGED broadcast is sent.
Because updating synchronously can be done at any time, it's a
strict improvement to also do it onCarrierServiceChanged.

Test: CarrierPrivilegeAuthenticatorTest
Change-Id: I9525bfe074dd686720d50e19be15529b248e9dbb
2023-09-29 15:48:34 +09:00
Chalard Jean
0a893c5ca6 Pass the modem count to registerCarrierPrivilegeListeners
This is clearer and less dangerous locking-wise

Test: FrameworksNetTests
Change-Id: Ife09fef848144e74ddb02aba3594913899bc9f46
2023-09-29 15:48:24 +09:00
Chalard Jean
b7e8a2b97c Reorder add/remove/register/unregister carrier listeners
Helper methods in the middle of the class make it harder
and more confusing. This patch moves the helpers out of
the way and regroups the useful methods in a more logical
order.

Test: FrameworkNetTests
Change-Id: I386ef7140c0535c9817a663910c19afeaf70981b
2023-09-29 15:48:13 +09:00
Chalard Jean
2aa4412503 Address comments on aosp/2765367
Test: comment-only change
Change-Id: I788f6e9f5fdd913d4c5077b6bb82c19664d3cd3f
2023-09-29 15:48:09 +09:00
Jean Chalard
1d600f4300 Merge changes Ifd7abd8a,I39cab8ff,I6b3270d6,Ia28c6abc,If47d7e23 into main
* changes:
  Move the MULTI_SIM_ACTION receiver inline
  Inline registerForCarrierChanges
  Make mThread a local
  Introduce a flag for using the carrier service changed callbacks.
  Have DevSdkIgnoreRunner support @Parameterized parameters
2023-09-29 06:46:08 +00:00
Xiao Ma
432162d5de Add NetworkStackModuleTest exclusion for ConnectivityCoverageTests in TEST_MAPPING.
testTetherZeroLengthDhcpPacket requires to install both Tethering
and NetworkStack modules, add NetworkStackModuleTest annotation for
ConnectivityCoverageTests running as presubmit to exclude the
testTetherZeroLengthDhcpPacket from presubmit.

Bug: 287798985
Test: TH
Change-Id: I2e21e2623b181e678189ca7758210be1b5409ae7
2023-09-29 15:35:21 +09:00
Xiao Ma
f45ec2858a Merge "Exclude testGetNeighborsQuery from NetworkStackCoverageTests." into main 2023-09-29 05:42:16 +00:00
Maciej Żenczykowski
e061385b12 disallow 32-bit *system* userspace on 6.2+
https://android-developers.googleblog.com/2022/09/optimize-for-android-go-lessons-from-google-apps-part-1.html

Year   Android   MinRAM
2017   8/O       512 MB
2018   9/P       512 MB
2019   10/Q      512 MB
2020   11/R      1 GB
2021   12/S      1 GB
2022   13/T      2 GB

More than 4GB (and really even ~3..3.5 GB) of ram basically
requires a 64-bit kernel, as no one wants to deal with
debugging PAE kernel complexities.

Devices newly launching on 2023's Android 14/U must use
a 64-bit kernel.  5.15 LTS is highest supported by T.
Hence 5.16+ must be a 64-bit kernel.
(see vts_kernel_isa_test.cpp)

Note:

This change doesn't take effect until 2024's Android 15/V,
and only then on the latest 6.~6 LTS, which will only be used
with the latest SoCs, and will thus only affect the latest
and thus premium devices (which likely have 10+ GB).
By the time these 6.6 using SoCs reach lower end devices,
it'll be 2026 or later, at which point I expect even
low end devices will have 4+GB.

Additionally note that technically this only affects
mainline using devices.  Non mainline usecases can
be customized (ie. for example this change reverted)
by oems/vendors however they wish.  Although we
won't be providing support (but considering the
existing state of 32-bit testing, that's already
pretty much the case).

Test: TreeHugger
Bug: 163141236
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I64f5db5a440465f0b48368815fea3029619a9681
2023-09-29 04:30:17 +00:00
Jean Chalard
4a6cedb536 Merge "Add more necessary infra to CSTest" into main am: 21599869f7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2761505

Change-Id: I27cacafc113f5acc6d9f105fdfc8991a597acf38
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 03:59:18 +00:00