Commit Graph

3205 Commits

Author SHA1 Message Date
Mark Chien
b0f248de62 Merge changes Ibe22b300,I0b0f0bf1 into main am: 2c7e2b8448
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2752266

Change-Id: Ie9d1c973962baaec61d918364afb8facb7064983
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-27 09:05:03 +00:00
Mark Chien
2c7e2b8448 Merge changes Ibe22b300,I0b0f0bf1 into main
* changes:
  SyncSM08: handle IpServer requestEnableTethering callback in mainSM
  SyncSM07.1: Add a test that shows tethering restarts when disabling
2023-10-27 08:50:04 +00:00
KH Shi
00567ba114 Merge "Pass upstream prefixes to bpf tethering offload" into main am: f92d211c71
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2600306

Change-Id: I5ebfdfed61680b44ee63c96eb445ae6bc81a1a25
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-27 07:38:30 +00:00
KH Shi
f92d211c71 Merge "Pass upstream prefixes to bpf tethering offload" into main 2023-10-27 07:23:52 +00:00
Jean Chalard
8b7208a8a5 Merge "Add forwarding methods to RoutingCoordinator" into main am: 23376e6fe7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2777668

Change-Id: Ib89b987a8d9a5e9b133bbff7333f8296af3e477f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-27 05:42:04 +00:00
Jean Chalard
23376e6fe7 Merge "Add forwarding methods to RoutingCoordinator" into main 2023-10-27 05:12:07 +00:00
Mark Chien
38a3026a73 Merge changes I34903b57,Ic818aa55 into main am: a055890412
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2356843

Change-Id: I0bd19c8e025bd30cdb7d518dda689b40bf0550f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-26 17:16:39 +00:00
KH Shi
3f738fcd3d Pass upstream prefixes to bpf tethering offload
BPF needs upstream prefixes information to filter spoofing IPv6 source
addresses carried in downstream traffic.

We retrieve prefixes from upstream interface's LinkProperties and pass
it to the BpfCoordinator. Forwarding rules will also be updated when
upstream interface's IPv6 link addresses change.

Test: atest TetheringTests
Bug: 261923493
Change-Id: If8cfc3b191e520ca838654d1b5211ab9e9ec021d
2023-10-26 13:13:38 +00:00
Chalard Jean
55ccfe19e2 Add forwarding methods to RoutingCoordinator
Test: RoutingCoordinatorServiceTest
      TetheringTest
Change-Id: Ic3b36ddc236e8615e7d931b6e526556bbd2dac17
2023-10-26 20:18:48 +09:00
Mark
5cc386bdef SyncSM08: handle IpServer requestEnableTethering callback in mainSM
This can make it easier to adopt SM shim replacement in follow up change,
as both SyncSM and AsyncSM will process the same message without any
difference.

This change also fix a problem that bring up downstream before it's
IpServer completely disabled.

Previous:
CMD_NOTIFY_PREFIX_CONFLICT -> requestEnableTethering(false) ->
requestEnableTethering(true) -> IpServer stopped ->
reportTetherStateChanged(downstream inactive) -> IpServer started
-> reportTetherStateChanged(downstream active)
New:
CMD_NOTIFY_PREFIX_CONFLICT -> requestEnableTethering(false) ->
IpServer stopped -> reportTetherStateChanged(downstream inactive)
-> requestEnableTethering(true) -> IpServer started
-> reportTetherStateChanged(downstream active)

Test: atest MtsTetheringTestLatestSdk
Change-Id: Ibe22b300c56125359f4fa452bd01a0a2381fda23
2023-10-26 09:28:22 +00:00
Mark
d81f6ef4db SyncSM07.1: Add a test that shows tethering restarts when disabling
When tethering restarts due to an IP conflict, it starts to
bring up downstream before its IpServer is completely disabled.

Test: atest TetheringTests
Change-Id: I0b0f0bf1bb9ac8421c05fe512d5082d095fa7180
2023-10-26 09:26:37 +00:00
Mark
2150296476 SyncSM07: Replace IpServer's state machine with StateMachineShim
A simple replacement without changing any behavior.

Test: atest TetheringTests
Change-Id: I34903b57df68081e974163edec82a851ee4ccc98
2023-10-26 09:26:15 +00:00
Mark
2ec1595d0b SyncSM06: Add StateMachineShim
Test: atest StateMachineShimTest

Change-Id: Ic818aa55e7e0fd7a62dfce50a6ad719e6e1c44ec
2023-10-26 09:24:55 +00:00
Jean Chalard
5b0ebeabeb Merge "Add a routing coordinator class" into main am: 4e47533688
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2729133

Change-Id: Ibadbe0c4cf62a148d7051a162bfd86a3b047252e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-25 09:46:03 +00:00
Jean Chalard
4e47533688 Merge "Add a routing coordinator class" into main 2023-10-25 09:13:16 +00:00
Mark Chien
2af81f2a13 Merge "Fix testRequestDownstreamAddressWithoutUsingLastAddress flaky" into main am: cc26d678f2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2787876

Change-Id: Icb4a6912efa4d5ce737f9f0503228b7b690c98ab
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-25 04:10:42 +00:00
Mark Chien
cc26d678f2 Merge "Fix testRequestDownstreamAddressWithoutUsingLastAddress flaky" into main 2023-10-25 03:41:10 +00:00
Chalard Jean
2fb66f1b28 Add a routing coordinator class
Test: In followup changes : RoutingCoordinatorManagerTest
Change-Id: Ia6811d614e02123a072c7638291828745abae051
2023-10-24 22:12:26 +09:00
Mark Chien
b7fdac5553 Merge changes I427360f6,Ie6dbbe22 into main am: 66ef9d35ce
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2749783

Change-Id: I12f4e2ea6c8a8342cf22c8a5f2f6006700c7a806
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 07:09:30 +00:00
Mark Chien
66ef9d35ce Merge changes I427360f6,Ie6dbbe22 into main
* changes:
  SyncSM05.1: add testMultiDepthTransition
  SyncSM05: add SyncStateMachineTest
2023-10-24 06:50:43 +00:00
Junyu Lai
8f1730ebf9 Merge "[BR01.1] Support BpfNetMapsReader" into main am: a62eed380c
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2725213

Change-Id: I0a9955e7fa9d51b423f8cd1113553dd492caf843
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 06:19:04 +00:00
Mark Chien
239860a4d6 Fix testRequestDownstreamAddressWithoutUsingLastAddress flaky
The problem is that the test releases mHotspotIpServer’s prefix before testing mUsbIpServer, which means that mUsbIpServer might choose the same address as mHotspotIpServer’s.

To fix this, we need to test that mUsbIpServer and mHotspotIpServer have different addresses before calling releaseDownstream(mHotspotIpServer).

Change-Id: Id7f7bbfeda841ec9b97e24c0f11893fa37b9ef54
Test: TH
Bug: 300127195
2023-10-24 06:16:03 +00:00
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
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
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
Jean Chalard
dab9125464 Merge "Reapply "Simplify addRoutesToLocalNetwork calls"" into main 2023-10-21 16:25:58 +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
Chalard Jean
7f2b3dabcd Reapply "Simplify addRoutesToLocalNetwork calls"
This reverts commit 316346be6e.

Change-Id: I86977f6e7a5451d037c7ea6fee5c4bc7082935ff
2023-10-18 15:50:02 +09:00
Maciej Żenczykowski
f36ccc75de tethering apex: add ethtool binary
Afterwards:
  vsoc_x86:/ # ls -lZ /apex/com.android.tethering/bin/ethtool
  -rwxr-xr-x 1 root shell u:object_r:system_file:s0  96204 1969-12-31 16:00 /apex/com.android.tethering/bin/ethtool

  vsoc_x86:/ # ldd /apex/com.android.tethering/bin/ethtool
  linux-gate.so.1 => [vdso] (0xedc4d000)
  libc++.so => /apex/com.android.tethering/lib/libc++.so (0xed309000)
  libc.so => /apex/com.android.runtime/lib/bionic/libc.so (0xed3db000)
  libdl.so => /apex/com.android.runtime/lib/bionic/libdl.so (0xed2c3000)
  libm.so => /apex/com.android.runtime/lib/bionic/libm.so (0xed286000)

Apex-Size-Increase: (verify ~100kB)
Aosp-First: it is
Previous-Platform-Support: been debug only for a while
Test-Info: builds, boots, binary works
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1f7d12f2df2cf26476634e7eb84ca8f7622905f4
2023-10-16 17:43:59 +00:00
Anton Kulakov
0c22e7e12a Merge "Revert "Simplify addRoutesToLocalNetwork calls"" into main am: 673d97b919
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2786124

Change-Id: If4e8fc92ae92fb7356dcaca234404a94c0be49a5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-14 08:58:42 +00:00
Anton Kulakov
316346be6e Revert "Simplify addRoutesToLocalNetwork calls"
Revert submission 2777667

Reason for revert: DroidMonitor-triggered revert due to breakage, bug b/305187495

Reverted changes: /q/submissionid:2777667

Bug: 305187495

Change-Id: I516d40b20d775e9c61b2f825bc094329d016d0c3
2023-10-13 15:15:50 +00:00
Treehugger Robot
d2d3b5dd88 Merge "Add additional overriding methods to signature files" into main 2023-10-13 15:05:40 +00:00
Jean Chalard
3f837cf542 Merge changes I3b6ee1db,I70e13303,I6fb7dfe4 into main am: a6190bd658
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2777667

Change-Id: I7c0aa8c8fff902b8585e5c09b1d571de70740f80
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-13 10:23:19 +00:00
Chalard Jean
cf70df3e9b Simplify addRoutesToLocalNetwork calls
There are only three calls to this method, and two of them
are with a list of 1 address which means it's simpler inlined.

The last call will be replaced with calls to RouteController
in a followup, meaning we addRoutesToLocalNetwork can be removed.

Test: RouterAdvertisementDaemonTest
      NetdUtilsTest
Change-Id: I3b6ee1db40f09954b336321000735a66306bf000
2023-10-13 16:19:25 +09:00
Paul Duffin
e531db3c9a Add additional overriding methods to signature files
This change adds overriding methods that are essential to compile the
stubs generated from the signature files.

More information and the background for this change is available at
go/add-overriding-one-pager.

Ignore-AOSP-First: Needs to be done in udc-mainline-prod first
Test: m checkapi
Bug: 299366704
Change-Id: Idba307148fd9afa87bfb7e0c89e00d9bd97ec204
2023-10-12 21:56:21 +00:00
Paul Duffin
b3c3f2e9d0 Add additional overriding methods to signature files
This change adds overriding methods that are essential to compile the
stubs generated from the signature files.

More information and the background for this change is available at
go/add-overriding-one-pager.

Test: m checkapi
Bug: 299366704
Change-Id: Idba307148fd9afa87bfb7e0c89e00d9bd97ec204
2023-10-12 19:21:07 +01:00
Paul Hu
b79fb66be2 Merge "Stop the created handler threads on the tests" into main am: 0b5d785096
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2784088

Change-Id: I2e9a1ab99077c3e6dd3036b87f97239581a20f46
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-12 07:47:58 +00:00
Paul Hu
0b5d785096 Merge "Stop the created handler threads on the tests" into main 2023-10-12 07:13:30 +00:00
Paul Hu
ebbbf8f470 Stop the created handler threads on the tests
The created handler thread will stay there for a while until
all the tests are finished. This is considered as a leakage
which will take the resource from the devices. In low end
devices, this may possibly impact the performance. The created
threads should be closed explicitly.

Test: atest ConnectivityCoverageTests ConntrackSocketTest
Change-Id: Ic1beb2a210e7c8c80c66fc9e0727c47599150672
2023-10-12 10:25:03 +08:00
Jihoon Kang
9df878785f Merge "Prepare for keeping concrete overrides of abstract methods" into main am: 415773ed06
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2781647

Change-Id: I33c7e6c3198e863941ee3a03175dc73cc76a6ea5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 21:39:39 +00:00
Jihoon Kang
415773ed06 Merge "Prepare for keeping concrete overrides of abstract methods" into main 2023-10-11 21:02:18 +00:00
Maciej Żenczykowski
7dd74423c4 build netbpfload into the tethering apex am: a2a3d754a6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2781564

Change-Id: I2551e588e692428c67dc6a48a563e92e693a2d23
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 04:07:43 +00:00
Maciej Żenczykowski
a2a3d754a6 build netbpfload into the tethering apex
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id68aece26115808c2b1b795b9395208f5066f87c
2023-10-10 16:51:01 -07:00
Paul Duffin
7bd2d108ea Prepare for keeping concrete overrides of abstract methods
Currently, metalava will discard concrete overrides of abstract methods
from the API signature files which causes problems when attempting to
generate stubs from those files and also discards information that may
be important in API reviews. This change is the first step in the
process of changing that behavior.

This change hard codes the current behavior for discarding the concrete
overrides (`add-additional-overrides=no`) into those signature files
that will (or are likely) to be affected by the change in behavior.
That allows the default behavior to be changed for all the other files
without affecting these.

Follow up changes will remove the hard coding from the signature files
and will update the contents which will include the concrete overrides
of the abstract methods.

More information and the background for this change is available at
go/add-overriding-one-pager.

Test: m checkapi
Bug: 299366704
Change-Id: I52c5bbe2e3bbd36019fe44fcb0b2d19876a5a869
2023-10-10 17:11:25 +01:00
KH Shi
ef7cb5e58a Merge "Decouple Ipv6UpstreamRule with Ipv6DownstreamRule" into main am: 2a6a7359b7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2711576

Change-Id: I662a8954de06f524d184eee4a472fe4f2088bdbc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-02 06:58:56 +00: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
KH Shi
2a6a7359b7 Merge "Decouple Ipv6UpstreamRule with Ipv6DownstreamRule" into main 2023-10-02 05:33:48 +00:00
Bill Yi
9b9d0382e2 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Idfc3cbd85f9254916959275e2acaf8390321fae1
2023-09-21 21:05:19 -07:00