This seems to be the most common usecase.
Test: TreeHugger
Flag: EXEMPT PURE_REFACTOR
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2de4d067b2f20680539cbddb31555864bcf957b1
Maciej Żenczykowskicommited 2025-09-12 10:14:12 -07:00
which allows writes, but not deletes.
This is technically what bpf map arrays are capable of.
Test: TreeHugger
Flag: EXEMPT mainline
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1f73bea5428c190af17442539c296282ce9e0786
Maciej Żenczykowskicommited 2025-08-09 16:03:46 -07:00
Address the TODO to link against the library directly, and add necessary
test filters to only run the test on the primary ABI (because the
library in the apex has only one variant for primary ABI), and to only
run the test on U+.
Bug: 356022894
Test: atest
Change-Id: Ib52bfc1051059aaf9d14d1f7707864206d0bdcd9
Ensure MTS modules are compiled with both 32 and 64 bit ABI, as MTS
attempts to run both.
Recent changes have started failing tests when one of the ABI is
missing, see change ID: I5310ca67879534cb066dcedf6a9102a39e085faf
Test: atest bpf_existence_test -- --abi armeabi-v7a
Fixes: 352592958
Fixes: 354070942
Change-Id: Iea494323ccc12710bff6d488f2b51b13255d841e
Per commit description of https://android-review.git.corp.google.com/c/platform/packages/modules/Connectivity/+/3109108 "Use SingleWriterBpfMap in BpfNetMaps":
- firewall.cpp writes to sConfigurationMap, sUidOwnerMap, and
sDataSaverEnabledMap, but that code only runs in tests because
it requires root privileges.
So either those maps need to not use SingleWriterBpfMap
in the BpfNetMaps (which would affect performance),
or we need to prevent the tests from grabbing the locks,
or the tests will (presumably) fail.
This avoids grabbing the locks from the test, even though
this is absolutely terrible and likely breaks things...
But in general the entire firewall.cpp file (and libconnectivity_native_test_utils target) are just one
large modularization violation in need of major escalation...
Test via:
atest resolv_{gold,stress,integration,unit}_test
Without this patch:
resolv_gold_test: Passed: 16
resolv_integration_test: Passed: 53, Failed: 2, Ignored: 118, Assumption Failed: 0 (Completed With ERRORS)
resolv_stress_test: Passed: 2
resolv_unit_test: Passed: 124, Failed: 2
4 tests failed
--------------
ResolverMultinetworkTest#DnsWithVpn
PrivateDns/TransportParameterizedTest#BlockDnsQuery/DoT
CallbackTest#tagSocketCallback
ResolvGetAddrInfoTest#InvalidParameters
With this patch:
resolv_gold_test: Passed: 16
resolv_integration_test: Passed: 178
resolv_stress_test: Passed: 2
resolv_unit_test: Passed: 126
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie97d015ef66c3864a23484e7ed190fe7d091af5c
Maciej Żenczykowskicommited 2024-06-14 17:35:29 -07:00
follow up to http://aosp/2965923 to hopefully eliminate
that class of bug in the future...
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie09db001ff15a6b2b15bb1bb0c1ce8228e162337
Maciej Żenczykowskicommited 2024-02-16 18:20:55 +00:00
The enum is already using 12 bits, so using fewer bits loses information.
This is in sync with the UidOwnerValue struct used to contain this data.
Test: atest resolv_integration_test
Test: atest resolv_unit_test
Bug: 325150155
Change-Id: Ide0ccea9614cda803b3700a0cc22977e9608209e
This CL is created as a best effort to migrate test targets
to the new android ownership model. If you find incorrect or unnecessary
attribution in this CL, please create a separate CL to fix that.
For more details please refer to the link below,
<add g3 doc link>
Bug: 304529413
Test: N/A
Change-Id: I243f17b3f0ad7af9ffa15ca242456e36688733f5
Merged-In: I243f17b3f0ad7af9ffa15ca242456e36688733f5
(and adjust indents to be saner)
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2e52131fa51782dc89ddbfda4c9239a142376c56
Maciej Żenczykowskicommited 2024-01-18 18:53:32 +00:00
fmtlib 10+ removes the automatic formatting
of enum classes to the underlying class, requesting
that a custom formatter be provided for the type.
Normally fmt::underlying could be used to convert
the enum value to its backing type, but this change
automerges to udc-mainline-prod where the helper does
not exist.
Bug: 310046696
Test: m
Change-Id: I62f3a66dd2f8e3d288dc4c0298d4f3bfa57a6a71
In MTS, test infra installs only the DNS resolver module without
installing tethering module. The test utils should not assume the BPF
maps defined in tethering will be in the device.
Bug: 309164580
Test: atest
resolv_integration_test:ResolverTest#BlockDnsQueryWithUidRule
Change-Id: I2c7349a11c9b413c129c93d236c8280588097cf7
Resolv_integration_test needs the function to toggle Data Saver settings
in BPF map.
Bug: 288340533
Test: atest resolv_integration_test
Change-Id: I1725d3c8c6fc641b855c935d7289a99f78dd5933
Move the test component configuration from subdirectories
to the common OWNERS file. This ensures that all test directories
like unit/ that did not have the component set are covered.
Bug: 288137916
Change-Id: I48fbe846309cace41588c5ff3dfd46e878c38576
Test: TH
The 3 pre-existing //system/netd tests are:
TEST_F(BpfBasicTest, TestCgroupMounted)
TEST_F(BpfBasicTest, TestTagSocket)
TEST_F(BpfBasicTest, TestCloseSocketWithoutUntag)
which are directly related to BpfHandler.cpp implementation,
as it implements:
Status BpfHandler::init(const char* cg2_path)
BpfHandler::tagSocket()
BpfHandler::untagSocket()
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1c01ae90904faaea54b427495c7a5deab8b1b900
Maciej Żenczykowskicommited 2022-12-20 00:41:05 +00:00
This is (as yet) dead code copied over from //system/netd,
but not yet plumbed into any p/m/C Android.bp file/test.
Update the bpf_shared.h include to netd.h now that that has been
renamed, see:
https://android-review.git.corp.google.com/c/platform/packages/modules/Connectivity/+/2335387
MTS test bpf_existence_test.cpp already does a better job
of testing for bpf program/map existence, see
MAINLINE_FOR_T_PLUS
MAINLINE_FOR_T_4_14_PLUS
Test: N/A, this file is not yet compiled
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2ccfd86e352118f6f76e91ec20e10a9285414490
Maciej Żenczykowskicommited 2022-12-18 20:30:32 +00:00
The library provides an interface to interface with the
ConnectivityNative service, and implement port blocking APIs.
Bug: 179733303
Test: atest connectivity_native_test
Change-Id: Iad1c84b5eeab835aca14a2db72a900e099aa3c1c
Remi NGUYEN VANauthored and Tyler Wearcommited 2022-11-03 21:01:26 -07:00
Added SPDX-license-identifier-Apache-2.0 to:
tests/native/utilities/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Change-Id: Ic5fd53821753249f6331d482d253e825e338f74e
The utility currently contains a firewall class that is used by DNS
resolver tests to block DNS packets.
Bug: 227159929
Test: atest resolv_integration_test
Change-Id: I5c5bc0b263a677f57cd63f002057ff0812f15e64
Move sources of connectivity_native_test to a dedicated folder so that
other native tests or utilities can be added to p/m/c/tests/native/ as
well.
Bug: 227159929
Test: atest connectivity_native_test
Change-Id: I97217fbb03b26ed79f1f34932b92c4227a1ece4d
In order to get counted by mts code coverage, these native tests need to
be run as part of mts.
Bug: 233904825
Test: m mts && mts-tradefed run mts-tethering-coverage
Change-Id: I79313197b146c7043ffb5e164faa46c2e16dd1d2
Check kernel version in patch before running test case
to make sure that 5.4 kernel is used which is what the
bpf prog uses.
Bug: 229692536
Test: atest ConnectivityNativeBinderTest
Change-Id: I3bf8d3ce6c6a64236da2e4f039fb13a98231fae0
Added SPDX-license-identifier-Apache-2.0 to:
tests/native/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Change-Id: I0f883fa9c9d922766976c939565c6b368629915d
Add Sdk30ModuleController to ConnectivityCoverageTests and
connectivity_native_test, as they cover code in the Tethering module,
which is R+.
Test: atest ConnectivityCoverageTests connectivity_native_test
Change-Id: Ida573d4e231bf29989f699a9fef77d3a677425c8
New Connectivity Service exposed to vendor for
restricting certain ports for use only in vendor.
Bug: 179733303
Change-Id: Iad9aff6924498ede5a08cfa5482082f094c0a90b