Commit Graph

880 Commits

Author SHA1 Message Date
Kangping Dong
4a8977c452 Merge "[mdns] exclude mDNS advertiser code from standalone build test" into main 2023-10-08 12:21:24 +00:00
Kangping Dong
1a1beee654 [mdns] exclude mDNS advertiser code from standalone build test
service-connectivity-mdns-standalone-build-test builds the mDNS
discovery and advertisement implementation against API level 21.
This stops the advertisement code from calling new NsdServiceInfo
public or private APIs which are required by Thread.

This commit removes the mDNS advertisement code from the standalone
build to loose the check given this will never be used by GMS Core.

Bug: 265095929
Test: verified that it can build with aosp/2608627
Change-Id: I32cfce7b994d51a4b4ec468e9f79ffc2be6635ff
2023-10-08 17:22:14 +08:00
Paul Hu
87d128f43d Merge "Store transaction id in MdnsPacket" into main 2023-10-06 05:51:33 +00:00
Xin Li
5a3517e5cd Merge "Merge Android 14" into main 2023-10-06 05:34:16 +00:00
Spandan Das
551bb1ea71 Drop path property from cpp filegroup modules
The value of `path` here should be a no-op in Soong's cpp compile
action. Dropping this property helps bazel migration since Bazel's
filegroup rule does not have a path property.

Test: m libnetworkstatsfactorytestjni libservice-connectivity
Bug: 297405814

Change-Id: I7879224bf6deb12417d92e9a3fa52f58fccac999
2023-10-04 23:18:46 +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
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
e758463ffe Merge "reverse BpfMap & BpfMapRO inheritence to make sense" into main am: d58042e0d4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2767825

Change-Id: Ibb59b151e9f6c69b940920203bc3de4a50d6855d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 03:59:04 +00:00
Motomu Utsumi
ac3f145c63 Merge "Update the logic of isFeatureEnabled and isFeatureNotChickenedOut" into main am: 241e110c6c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2749983

Change-Id: I62002804d1627b4ccae6a5fafe17e78efe45c7db
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-29 03:58:47 +00:00
Maciej Żenczykowski
d58042e0d4 Merge "reverse BpfMap & BpfMapRO inheritence to make sense" into main 2023-09-29 03:24:37 +00:00
Maciej Żenczykowski
7e2f53e762 reverse BpfMap & BpfMapRO inheritence to make sense
Bug: 235590615
Bug: 235907076
Bug: 286003437
Test: TreeHugger, m droid gpuservice_unittest libtimeinstate_test bpf_benchmark bpf_module_test libbpf_load_test && mma
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I020a898fe8b257040a100f146654d4a04b19f843
2023-09-29 00:44:33 +00:00
Paul Hu
6df06daaec Store transaction id in MdnsPacket
The transaction id is a number that is used to identify a
specific query packet. But it's not necessary for probing
or announcing services, so the transaction id is not
currently used on advertising when creating a MdnsPacket or
decoding the response to a MdnsPacket. This means that it is not
possible to track which query packets have received
responses. Therefore, store the transaction id so that
it can be used for subsequent query packet changes.

Bug: 302269599
Test: atest FrameworksNetTests
Change-Id: I6734752b32b91678afb7df06e1fa51237cf70894
2023-09-27 18:20:28 +08:00
Motomu Utsumi
ed4e7ec954 Update the logic of isFeatureEnabled and isFeatureNotChickenedOut
If the flag value is unset or 0, isFeatureEnabled return false and
isFeatureNotChickenedOut return true.
If the flag value is -1 (force disable), both return false.
If the flag value is other values, both query the package version and
return `flagValue <= packageVersion`

Now the only difference is a default behavior when the flag is not set
or 0.
So isFeatureEnabled and isFeatureNotChickenedOut can use the same flag.

This CL also fixes the issue in rollback.
Before this CL, isFeatureNotChickenedOut did not check the module
version and could have a issue if there is a rollback.

Test: NetworkStaticLibsTests
Bug: 279108992
Change-Id: I12d6ebadff3aee7b7c614aca4eb0a34ef0db9857
2023-09-27 17:30:01 +09:00
Igor Zaslavsky
2d8debe62c Merge "Park RemoteAuth Manager and Service" into main am: f0afc53836
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2759205

Change-Id: I6e3f1ddf1d6c7f8e645a327f59e666851ccb4918
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 18:20:50 +00:00
Igor Zaslavsky
f0afc53836 Merge "Park RemoteAuth Manager and Service" into main 2023-09-26 17:17:29 +00:00
Ryan Zuklie
31f7fd8546 Merge changes Ic69fc75e,I6373d251 into main am: 8a88d85145
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2749654

Change-Id: I647baa696ac6e0f99aacb5de35148ad74f5a5498
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-22 20:50:11 +00:00
Igor Zaslavsky
e336586353 Park RemoteAuth Manager and Service
Limit the amount of parked code built into Connectivity module

Test: built successfully.
Bug: 300522527
Change-Id: I87d7516011c469aa89fc7e67cf03c4ee8aa1bb9b
2023-09-22 04:09:02 +00:00
Ryan Zuklie
e72b48416c Add ICMP type/code and udplite/sctp in Nettrace.
This adds support for additional protocols and also provides more clear
semantics of protocol specific fields, such as only including tcpFlags
when the protocol is IPPROTO_TCP.

Test: atest libnetworkstats_test & flash and trace
Change-Id: Ic69fc75e85ebf8734027c942a253af4972ad14d8
2023-09-21 15:14:07 -07:00
Ryan Zuklie
1733d3e6be Make BundleKey a distinct struct from PacketTrace.
This change refactors BundleKey to be a separate struct. This allows
us to do the conversion (e.g. of sport/dport, or icmp fields in the
future) in the constructor and change types (use optionals) where it
is convenient to simplify the code.

This change also fixes a bunch of desigated initializer order warnings
in the test (fields should be declared in same order as defined).

Test: atest libnetworkstats_test
Change-Id: I6373d2512280e93c54395fde38dcff43705b449e
2023-09-21 15:14:07 -07:00
Kangping Dong
e5f1122ec9 Merge "[Thread] initial Thread network service" into main am: 01e6dadd1f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2721333

Change-Id: I5b1dad9c40dcade78c352265164da0992a3fcb0d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 11:29:17 +00:00
Kangping Dong
01e6dadd1f Merge "[Thread] initial Thread network service" into main 2023-09-19 11:25:37 +00:00
Yuyang Huang
8992911f24 Merge "Add newApi linter check for mDNS library" into main am: 365cf0a393
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2718538

Change-Id: I6e392853943db3ff509bc25a4055367774e65cae
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-13 06:17:54 +00:00
Yuyang Huang
365cf0a393 Merge "Add newApi linter check for mDNS library" into main 2023-09-13 05:55:51 +00:00
Treehugger Robot
ac88cd6df9 Merge "Add test for downstream tethering" into main am: dba0dbc7ec
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2606668

Change-Id: I251696b855e7f971ac740eb70fa86a4158f15c58
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-13 02:09:58 +00:00
Treehugger Robot
dba0dbc7ec Merge "Add test for downstream tethering" into main 2023-09-13 01:01:32 +00:00
Kangping Dong
1cec48f3c0 [Thread] initial Thread network service
This commit sets up the initial Thread network service for the
Android Thread feature which allows an Android device to create
a Thread network and being a Border Router.

See https://www.threadgroup.org/What-is-Thread for background of
Thread.

See b/235016403 for the Android Thread feature request.

Test: lunch aosp_cf_x86_64_tv-userdebug
      m && launch_cvd
      atest CtsThreadNetworkTestCases
Bug: 262683651
Change-Id: Ie1bb23084531f67165ec068ea3ca39592dbc01d1
2023-09-12 21:48:57 +08:00
Yuyang Huang
fc83170c70 Add newApi linter check for mDNS library
The mDNS library need to be backported to some internal library which
support minSdk 21. Therefore, updated the build rules to add the linter
check.

Bug: 296175311
Test: TH
Change-Id: Iae0bffa315dc6de2339a05f595b13480fa7385ae
2023-09-12 19:01:21 +09:00
Yuyang Huang
fca402abed Add test for downstream tethering
Add end-to-end testing for testing NsdManager advertising and
discovering works fine with downstream tethering interfaces.

Bug: 281639507
Test: atest NsdManagerTest
Change-Id: I5a66423f216cfe0c82db5128502c885980ab264b
2023-09-12 17:53:37 +09:00
Paul Hu
f5ee683cbd Merge "Correct isLegacy metric data" into main am: 046b0c1c82
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2745877

Change-Id: Icd79d1af11839f6ddaa914a86843540418b29b92
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-12 08:52:09 +00:00
Paul Hu
508a012b2e Correct isLegacy metric data
The isLegacy field of Nsd metrics should indicate whether the
data was collected from the old backend or not. However, it is
currently only dependent on the ENABLE_PLATFORM_MDNS_BACKEND
compat change value, which is incorrect. This is because the
NsdService always uses the new backend since Android U,
regardless of the compat change value. Therefore, the isLegacy
data should be obtained from each transaction.

Bug: 287546772
Bug: 299880473
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I156abd656b90578d710696a69ccf7dfca97a2c9c
2023-09-12 01:20:00 +00:00
Yuyang Huang
4596ba4bd1 Handle closed socket and NPE properly am: 8f4adaedaf
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2745875

Change-Id: Ie1b5efb699c37314394f85ca04696f748343361f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-11 06:51:52 +00:00
Yuyang Huang
8f4adaedaf Handle closed socket and NPE properly
Don't get interfaceIndex if the socket is closed. Properly catch NPE
instead of letting is propagating.

Test: TH
Change-Id: If962541e67dd6323426e46bc7a1f118786f83b9b
2023-09-11 13:10:05 +09:00
Treehugger Robot
63b9d4a04c Merge "Address review followup comments for NetworkStats" into main am: 8df4d76aa2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2723093

Change-Id: I0a517bfebe79a8a5b69cb726b5a9200bc669685a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-08 21:21:19 +00:00
Treehugger Robot
8df4d76aa2 Merge "Address review followup comments for NetworkStats" into main 2023-09-08 20:11:03 +00:00
Yuyang Huang
88975b233b Merge "Add Chicken bit for the mDNS offload feature" into main am: 169de9c8a1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2745014

Change-Id: I70e2946ff634af9b46acb83de0d6cf3439eaf549
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-08 14:06:02 +00:00
Yuyang Huang
169de9c8a1 Merge "Add Chicken bit for the mDNS offload feature" into main 2023-09-08 13:25:53 +00:00
Paul Hu
e11634f603 Merge "Disable cache flush bit in existing announcement" into main am: af511b5abe
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2742353

Change-Id: I01a63151f26fc787d9ebea0c5af850c11188a0fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-08 13:18:14 +00:00
Paul Hu
af511b5abe Merge "Disable cache flush bit in existing announcement" into main 2023-09-08 12:48:05 +00:00
Motomu Utsumi
97ed1eef10 Merge "Remove unnecessary arguments from isTetheringFeatureEnabled" into main am: 656e42e16f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2709175

Change-Id: Ie05295a8a59cf957ac3c3da4ef87a64fe8ffa206
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-08 10:09:42 +00:00
Yuyang Huang
b96a071f51 Add Chicken bit for the mDNS offload feature
Bug: 297482971
Test: TH
Change-Id: I6f2cdd066d9047b113ff80211cf6d4c6fa605104
2023-09-08 17:42:26 +09:00
Motomu Utsumi
3e0be398a2 Remove unnecessary arguments from isTetheringFeatureEnabled
This CL also updates not to use isTetheringFeatureEnabled for
TETHER_FORCE_UPSTREAM_AUTOMATIC_VERSION which is wrongly configured in
Connectivity namespace.

Test: m
Bug: 279108992
Change-Id: If4f3a57c749bbaeb85454c31248c5bc5feaab936
2023-09-08 16:11:28 +09:00
Paul Hu
c169bbffef Report more advertising metrics data am: 043bcd4537
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2658555

Change-Id: I3c46dfe065ddb15ea6b35ac03938455b14c6054d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 08:51:01 +00:00
Paul Hu
043bcd4537 Report more advertising metrics data
Report more advertising metrics data below when the service is
unregistered.
- Replied request count (sum across interfaces)
- Sent packet count (including announcements and probes)
- Number of conflicts during probing
- Nubmer of conflicts after probing

Bug: 287546772
Test: atest FrameworksNetTestCases NsdManagerTest
Merged-In: I50c54a35dc523422e3a7302c059bbbc38eac5631
Change-Id: I50c54a35dc523422e3a7302c059bbbc38eac5631
2023-09-06 11:26:53 +08:00
Yuyang Huang
74c5b24801 Merge "Send rawOffloadPacket to OffloadEngine" into main am: a337d95cc4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2730493

Change-Id: If3a845d966fca2377bc3977e39a0e39cb1756c6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 01:00:06 +00:00
Paul Hu
88239ccb0a Disable cache flush bit in existing announcement
Per RFC6762#10.1, the cache flush bit should be false for
existing announcement. Otherwise, the record will be deleted
immediately when receiving this response.

Bug: 299054783
Test: atest FrameworksNetTestCases NsdManagerTest
Change-Id: I8bf1a5b1914b49720862836abb543b232185f5f5
2023-09-05 17:54:55 +08:00
Yuyang Huang
8fcecf8577 Merge "Update permission check for offloadEngine registration" into main am: 65f96123a2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2696893

Change-Id: I9ab6fc581c7dbb571ddf584520138be31a63d74b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-05 09:40:25 +00:00
Yuyang Huang
31f6e2eccb Send rawOffloadPacket to OffloadEngine
Add the missing logic to send the rawOffloadPacket to OffloadEngine.

Bug: 297314970
Test: atest CtsNetTestCases FrameworksNetTestCases
Change-Id: I06d7a9bb84df72808eff4f0c9df60f7e60aa2a2c
2023-09-05 08:51:04 +00:00
Yuyang Huang
65f96123a2 Merge "Update permission check for offloadEngine registration" into main 2023-09-05 08:45:39 +00:00
Yuyang Huang
e7cdcc89f1 Merge "Send OffloadServiceInfos when registerOffloadEngine is called" into main am: 2be259b9cf
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2727857

Change-Id: I0ef36a384b544e4b1b7171d480e2661dc0109a7e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-05 07:57:29 +00:00
Yuyang Huang
2be259b9cf Merge "Send OffloadServiceInfos when registerOffloadEngine is called" into main 2023-09-05 07:05:05 +00:00