Commit Graph

2077 Commits

Author SHA1 Message Date
Treehugger Robot
a4feab485a Merge "isEthernet() - ARPHRD_PPP does not require ethernet headers" am: 73b42b0f95 am: 3046820011 am: ca8500dcc2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1897432

Change-Id: I433ad51a05dbb11c61a63c4a4474e7b85d0171ec
2021-11-22 09:27:17 +00:00
Maciej Żenczykowski
c8c36b9407 isEthernet() - ARPHRD_PPP does not require ethernet headers
(this is required to make ipv6 tethering work with at least S.LSI modems)

Test: TreeHugger
Bug: 207057951
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ic178db928ec7f74f69d7d4739b3b8439ff026625
2021-11-18 23:31:56 -08:00
Maciej Żenczykowski
93873d956d explicitly specify that offload.o & test.o bpf programs are S+ am: a457bf7ea8 am: 961b290878 am: a93046a9d9
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1895606

Change-Id: I91436e8303e672455c11160390bda6597167717e
2021-11-18 05:51:39 +00:00
Maciej Żenczykowski
a457bf7ea8 explicitly specify that offload.o & test.o bpf programs are S+
Note: due to the release version of the Connectivity/Tethering mainline
module being built from sc-mainline-prod, this won't actually take effect
until system/bpf bpfloader at version 0.6+ is merged in to that tree.

This doesn't really matter, since currently things default to v0.0+.
But there is no mainline module updatable pre-v0.2 supported OS
anyway. BpfLoader v0.2 is what shipped in Android S Beta 4 through
Android S Final.

Before S there simply was no bpfloader support for mainline updatable
ebpf code, while S Beta 3 and earlier shipped v0.0 which is badly
incompatible with even the current version of the mainline module.

Additionally v0.0 doesn't even parse this field, while v0.1 which
does was very short lived [~3 days] and can thus be utterly ignored.

As such this change is effectively a no-op, and even post merge
of bpfloader v0.6+ into sc-mainline-prod will still be effectively
a no-op.

So why do it? I want to explicitly document that these programs are S+,
so that I can change the default in the future to be T+.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I7e5d0124700c7045abe16b1f3b504c9e88054ff2
2021-11-17 12:04:44 -08:00
Maciej Żenczykowski
83231e49df Merge changes from topics "rename-libbpfmapjni", "rename-libtetherutiljni" am: ff81692077 am: 694ecd1c53 am: 0a34b679f4 am: d8594a51fa
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1886108

Change-Id: I4b623e87cbb13b797ea2e029250f0204e426175d
2021-11-11 14:31:21 +00:00
markchien
6c1659d26e Rename tethering jni and get the jni by its package name am: f967b11087 am: de93cf9aba am: 6d52305aa9 am: 7e7b752079
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1885530

Change-Id: Ie7aa98d74332eac0c38b6378764523574e84e650
2021-11-11 14:31:18 +00:00
markchien
de93cf9aba Rename tethering jni and get the jni by its package name am: f967b11087
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1885530

Change-Id: Icc18029f126a4845d6d2071d9e36458cbab4c313
2021-11-11 13:42:39 +00:00
Maciej Żenczykowski
ff81692077 Merge changes from topics "rename-libbpfmapjni", "rename-libtetherutiljni"
* changes:
  Rename libbpfmapjni and include bpf common util library
  Rename tethering jni and get the jni by its package name
2021-11-11 13:19:48 +00:00
markchien
782a56809b Rename libbpfmapjni and include bpf common util library
1. libbpfmapjni.so is rename to libnet_utils_device_common_bpf.so
2. net-utils-device-common-bpf.jar is separated from
   net-utils-device-common-netlink.jar

Bug: 205088391
Test: atest TetheringTests
      atest CtsTetheringTest
      atest TetheringPrivilegedTests

Change-Id: If59b35b3429ebd597c18678499ff458183f89026
2021-11-11 13:49:15 +08:00
Mark Chien
52192a3b80 Merge "Rename tethering util folder and its package name" am: ea0cfd1897 am: e4235b83be am: 1738c7fda3 am: 1329691f70
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1879620

Change-Id: I6ed87541297b86ab629a1adc5e9bc8eefdc7dcbd
2021-11-10 07:12:37 +00:00
Mark Chien
ea0cfd1897 Merge "Rename tethering util folder and its package name" 2021-11-10 06:08:28 +00:00
markchien
f967b11087 Rename tethering jni and get the jni by its package name
tetherutiljni is renamed to com_android_networkstack_tethering_jni_util

Bug: 205088391
Test: atest TetheringTests
      atest CtsTetheringTest
      atest TetheringPrivilegedTests
Change-Id: Ifd1f4473625e33d3ebe190c9f8a2b5d54aa1ff49
2021-11-10 14:07:24 +08:00
Remi NGUYEN VAN
eb96b60f67 Don't rematch all requests when adding new ones am: 959d2cb6bd am: b92f209a18 am: 0cd2be4ab9 am: c32b4e9ef3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1784387

Change-Id: I83a8fffbc81531b64aa8d945e264ead373b9733a
2021-11-10 05:12:15 +00:00
markchien
d02f9af918 Rename tethering util folder and its package name
Move tethering util files from android.net.util into
com.android.networkstack.tethering.util. The goal is move all of
tethering internal files into its own namespace
com.android.networkstack.tethering.util.

Bug: 205088391
Test: atest TetheringTests
      atest CtsTetheringTest
      atest TetheringPrivilegedTests

Change-Id: I6559fb4f873b3cad5b210b10e49df1b6c6914a70
2021-11-09 17:02:47 +08:00
Treehugger Robot
f83c080ea8 Merge "Add TetheredInterface{Request, Callback} interface" am: 7269fb17fd am: 5b6e2b3509 am: 12f02fa941 am: 0287eafe07
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1873874

Change-Id: I34b9fae1da161ae3db5d22f56334ea7c9c3b9278
2021-11-08 10:48:13 +00:00
Remi NGUYEN VAN
959d2cb6bd Don't rematch all requests when adding new ones
With the network selection rewrite in S, rematching a single request can
now easily be done; this can be used as an optimization in
handleRegisterNetworkRequests to avoid rematching all requests when
registering a new one.

This can be disabled by a flag that is unset by default,
REMATCH_ALL_REQUESTS_ON_REGISTER.

Test: atest ConnectivityServiceTest
Change-Id: If76f79b41ac88863974f7025624667134bea2570
2021-11-08 19:17:57 +09:00
Treehugger Robot
7269fb17fd Merge "Add TetheredInterface{Request, Callback} interface" 2021-11-08 09:54:54 +00:00
markchien
48e271bdcb Add TetheredInterface{Request, Callback} interface
Define interfaces that match the signature of the existing
EthernetManager.TetheredInterfaceRequest and TetheredInterfaceCallback
classes and make EthernetManager.TetheredInterfaceRequest and
TetheredInterfaceCallback implement/subinterface these interfaces. The
new bluetooth API could also implement these interfaces to make API surface
consistent.

Test: TH would test the existing tests that use the subclass.
Bug: 190438212
Change-Id: I093972c111cb1d921076782492716d5a046be8fc
2021-11-08 16:44:34 +08:00
Mark Chien
8515d8dd93 Merge "Separate tethering build target to Tethering and TetheringNext" am: 7509c7a67e am: ab61c4e42f am: 006c3f1e5e am: 9ef86b385f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1870417

Change-Id: Icdaf76296fa816f3895f33bb69552343f66f2e06
2021-11-08 08:31:41 +00:00
Mark Chien
7509c7a67e Merge "Separate tethering build target to Tethering and TetheringNext" 2021-11-08 07:29:55 +00:00
Maciej Żenczykowski
cda87b3540 Merge "Fix TetheringPrivilegedTests crash" am: 4e141d9514 am: f1dfa0e50b am: fc829880c3 am: 4e5f843665
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1879622

Change-Id: Ic2c46a4328e728f2a62644ee43c0f9e415318d62
2021-11-04 12:01:46 +00:00
markchien
5a8c806e55 Separate tethering build target to Tethering and TetheringNext
To avoid much code diverge between aosp and its downstream, we need to
separate the build target which build with latest stable sdk in release
branch and build with unfreeze sdk in dev branch. So we could use new
API with APIshim in dev branch without impacting release branch.

BYPASS_INCLUSIVE_LANGUAGE_REASON=the wording is the file name of
existing file.
Bug: 204265450
Test: m
Change-Id: I949fd83b1eed7461e0b381193b190cf15080bc1b
2021-11-04 08:53:12 +00:00
markchien
45dc794fb4 Fix TetheringPrivilegedTests crash
After separat BpfMap to a library, its package name is jarjar to
com.android.network.stack.util*. Also jarjar BpfMap of
TetheringPrivilegedTests to fix crash in jni registered.

Bug: 179733303
Test: atest TetheringPrivilegedTests
Change-Id: Ia9bc819a44fe26bf2ff7a46351ea60f2eeb02933
2021-11-04 16:40:18 +08:00
Maciej Żenczykowski
3e07ceec22 Merge "bpfmap: Move to Common Location" am: bb4c6073ec am: 97ae1b7dd6 am: c7e9e6e94c am: 40b2ac21f3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1863313

Change-Id: Ib7e3251a3056e86307e469d1d6571ff0f965b7ea
2021-11-04 02:54:59 +00:00
Maciej Żenczykowski
bb4c6073ec Merge "bpfmap: Move to Common Location" 2021-11-04 01:50:15 +00:00
Kimberly Kreider
4cb884ed08 Merge "Replace "mts" with "mts-tethering"." am: 200e42063c am: 57699090be am: 6219b5d007 am: 13589b1fa7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1864894

Change-Id: I36127712e3784828d1efe2ec420a8f2b12d53cb7
2021-11-02 00:45:52 +00:00
Kimberly Kreider
200e42063c Merge "Replace "mts" with "mts-tethering"." 2021-11-01 23:43:53 +00:00
Mark Chien
d40de8277e Merge "Log received wifiP2p intent into dumpsys for debugging" am: 3a5c822ec1 am: 67a3201eb7 am: 4a4c6ae01b am: 74806ca71b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1873891

Change-Id: I6d873cc70edf7e0e023a5bb0c016a5013988b7ef
2021-11-01 08:59:21 +00:00
Mark Chien
3a5c822ec1 Merge "Log received wifiP2p intent into dumpsys for debugging" 2021-11-01 08:04:55 +00:00
Tyler Wear
e8043ca762 bpfmap: Move to Common Location
Move bpfmap to frameworks/libs/net/common/native.

Bug: 179733303
Change-Id: Id08b216ec6a64968d66d7990f91ea7ce222a1154
2021-10-29 09:05:33 -07:00
Chalard Jean
462c5ae371 Move to f/l/n instead of RouteUtils am: adcec9ebbe am: d988d2c778 am: d21d556e50 am: 903b5df857
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1873892

Change-Id: I34c4985fc5b01358bda13409ad1d3a15fba85101
2021-10-29 12:45:59 +00:00
Chalard Jean
adcec9ebbe Move to f/l/n instead of RouteUtils
Test: TetheringTests
Change-Id: I35b36538463a7fc2f02e142719c898d1694b2d6b
2021-10-29 16:05:46 +09:00
markchien
eb8599c4e3 Log received wifiP2p intent into dumpsys for debugging
Bug: 201480425
Test: m
Change-Id: I527c894eff3c068080995333ab8b372ab2aa38a0
2021-10-29 14:45:14 +08:00
Kimberly Kreider
c5b3f34831 Replace "mts" with "mts-tethering".
Bug: 203466102
Test: build locally and verified contents
Change-Id: I7cccb54c0ad1a3bd8da0bcb7ad6474aa1e734299
2021-10-20 18:16:59 +00:00
Treehugger Robot
1e130c77f5 Merge "Dependency update for StateMachine" am: 5dc1edd9a8 am: 43f2693271 am: ac304f3709 am: b8a42d7b16
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1800993

Change-Id: I43f89c5196a622b67a0bde9ea898517239f8021f
2021-10-20 14:56:36 +00:00
Chalard Jean
3131c60290 Merge "Cleanup shims usage in Tethering" am: 7949b8c557 am: 9a492016d9 am: 4a393b4ab2 am: 71b24161aa
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1864041

Change-Id: I5ac2e43ee79d95e8cc8898406a414cc02b23a70a
2021-10-20 14:02:50 +00:00
Treehugger Robot
5dc1edd9a8 Merge "Dependency update for StateMachine" 2021-10-20 13:43:58 +00:00
Chalard Jean
7949b8c557 Merge "Cleanup shims usage in Tethering" 2021-10-20 13:06:24 +00:00
Chalard Jean
732ebcbc7f Cleanup shims usage in Tethering
Now that S has gone to AOSP, this dependency is no longer
needed. It is, on the contrary, harmful as it prevents us
from adding shims that depend on T APIs in AOSP.

Test: builds
Change-Id: I64f0f394e826e58a9b7e772043bb6008428892e6
2021-10-20 19:44:09 +09:00
Treehugger Robot
9771458a49 Merge "Unregister the tethering internal callback in finalize" am: f8d1f3d1cd am: c472eed19a am: e92e0a4e9a am: eed118a4bf
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1838543

Change-Id: If4d032058b4e28dfb70ceb1064e4bc5e4dfbdf00
2021-10-20 09:40:57 +00:00
Treehugger Robot
464ecc1ae4 Merge "Test TetheringManager could be GC after getting connector" am: 9d0c5419c9 am: 695b4c170e am: 6ae4b7e227 am: 4123670bf5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1838542

Change-Id: I21bb2d2034222a663b20bc3593edcb6cf430ed24
2021-10-20 08:46:37 +00:00
Treehugger Robot
f8d1f3d1cd Merge "Unregister the tethering internal callback in finalize" 2021-10-20 08:40:08 +00:00
Treehugger Robot
9d0c5419c9 Merge "Test TetheringManager could be GC after getting connector" 2021-10-20 07:48:10 +00:00
markchien
819e19ea2a Unregister the tethering internal callback in finalize
Bug: 177265744
Bug: 191798390
Bug: 187972579
Test: atest TetheringServiceTest
Change-Id: Ie7f9535b923db5073a59329ead22546a54e6ef47
2021-10-20 06:57:58 +00:00
markchien
e7b4a505aa Test TetheringManager could be GC after getting connector
There is pollingConnector thread which start polling connector if
TetheringManager is created earlier than TetheringService started(during
device boot up). TetheringManager won't be GCed if pollingConnector
thread do not finish its task yet.

Bug: 177265744
Bug: 191798390
Bug: 187972579
Test: atest TetheringServiceTest
Change-Id: Id8c7d10c5172e1d5de460c5311ff9c20261facef
2021-10-20 06:06:04 +00:00
Treehugger Robot
bc59792e45 Merge "Fix TetheringManager memory leak" am: d7d41a73e7 am: 059afb99bb am: 6cecfae8ab am: c4660662c5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1744513

Change-Id: I8f1f09b0e813182812ba6e2e6ced5563d5c5e5cc
2021-10-20 05:05:57 +00:00
Treehugger Robot
d7d41a73e7 Merge "Fix TetheringManager memory leak" 2021-10-20 03:59:59 +00:00
markchien
1110b725a0 Fix TetheringManager memory leak
TetheringCallbackInteranl is inner class which explicitly reference
TetheringManager object. This causes TetheringManager can't be GC. Using
static nested class which has its own lifecycle and weak reference
TetheringManager object.

Still have a leak inside Tethering that TetheringCallbackInternal is
never unregistered. Currently it rely on binder died to remove the
reference, which usually happen in kill process. If process keep alive,
the TetheringCallbackInternal would not be freed even TetheringManager is
gone. Will have follow CL to fix this.

Bug: 177265744
Bug: 191798390
Bug: 187972579
Test: 1. lunch Settings with ON/OFF tethering, dump java heap.
      2. close Settings and restart Settings again, dump java heap.
      3. Compare java heap between step 1 and step 2.
Change-Id: I0e2a21b7988115098a033a581cd98da8bffe2791
2021-10-14 14:02:11 +08:00
Treehugger Robot
fe9e234a8b Merge "Add Override anntation for TetheringConnector.setPreferTestNetworks" am: 1503bdc297 am: 1f3515bb48 am: 9e24f96b5a am: 9d6dfd2afe
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844178

Change-Id: I77a50576777fa07e906c7b15680513f00e03e25d
2021-10-04 10:37:08 +00:00
Treehugger Robot
1f3515bb48 Merge "Add Override anntation for TetheringConnector.setPreferTestNetworks" am: 1503bdc297
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1844178

Change-Id: Ie1f715a7b3ac4d46a25c58e799fb133dfdc55951
2021-10-04 10:00:56 +00:00