Commit Graph

495 Commits

Author SHA1 Message Date
Chalard Jean
7f65953491 Move module utils to the module package.
Test: FrameworksWifiTest FrameworksNetTest
Change-Id: Ib04bebb061dc64d6d685116b596fb3179d5b959a
2020-11-05 06:39:05 +00:00
Mark Chien
d1c31a2c11 Merge "Add the flag and default enable selectAllPrefixRange" am: 02fe8ac161 am: d11a25eb56 am: a1468b6591 am: c43f48d6cb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1461742

Change-Id: I232a3a52daeed69230215f3be135881415dbdb5c
2020-10-19 13:33:30 +00:00
markchien
4607c5535b Add the flag and default enable selectAllPrefixRange
Also add MtsTetheringTest which only run if tethering mainline
module is installed.

Bug: 166057846
Bug: 170265597
Test: atest TetheringTests
Change-Id: I434dda81eb5fab700d873a8ff3429b4222f0c7e6
2020-10-19 16:50:29 +08:00
Mark Chien
3910988c18 Merge "Fix miss tracking downstream problem in PrivateAddressCoordinator" am: 8565b0244a am: a5b9e4a1b4 am: 7c1badf9b0 am: 0854becd64
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1459887

Change-Id: I9262e13e3f3919c2b36bb8765a09c4abf2e31aa4
2020-10-15 14:20:00 +00:00
markchien
634f0a8ec1 Fix miss tracking downstream problem in PrivateAddressCoordinator
The downstream do not be tracked if PrivateAddressCoordinator just
return cached address. Then, PrivateAddressCoordinator would not notify
that downstream if conflict happen.

Also remove the null check in getDownstreamPrefix because:
- An IpServer is only added to mDownstreams by requestDownstreamAddress.
- That method will only add the IpServer to mDownstreams if it has an
IPv4 address.
- As soon as that method returns, the IpServer sets mIpv4Address to the
address that was returned.
- When an IpServer is torn down, mIpv4Address is set to null after
releaseDownstream is called.

So it should never be possible for this to return null.

Bug: 168169687
Test: atest CtsTetheringTest
      atest TetheringTests
Change-Id: Ide5206b013acdc499344e1c839a830c5b245af41
2020-10-15 16:21:12 +08:00
Mark Chien
2833425097 Merge "Allow tethering pick prefix from all of private address range" am: 8c9a2645d8 am: 4388f63021 am: e2a905116c am: 6f601a0374
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1436852

Change-Id: I849f7d336fd4bc7d39d8b268620bcb25dbd26667
2020-10-13 14:58:33 +00:00
markchien
d9acdccbd3 Allow tethering pick prefix from all of private address range
Currently tethering only pick prefix from 192.168.0.0/16. There is no
aviable tethering address if the upstream address is 192.168.x.y/16.
This change allow tethering to pick prefix from any private address
rnages. Now it still pick from 192.168.0.0/16 only to avoid behavior
change. Will have follow up commit to change the configuration.

Bug: 166057846
Bug: 170265597
Test: atest TetheringTests
      atest CtsTetheringTest

Change-Id: Ib6304eb8b4788e9196d0af48e72f00a6bda73a5f
2020-10-13 16:45:09 +08:00
Mark Chien
7dc14ccfdf Merge "Make the IP subnet persistent till reboot" am: f052e40f79 am: 18b5773041 am: 4b52fef91d am: acbdee3924
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1432958

Change-Id: I8b109e26a043478b9058dbb058b65778259c496d
2020-10-07 11:12:10 +00:00
markchien
a2ffad84c7 Make the IP subnet persistent till reboot
Make the IP subnet persistent if it do not conflict with upstream.
It allow client to reuse its IP that usually reduce DHCP procedure.

Bug: 168169687
Test: atest TetheringTests
Change-Id: Iddc5304730dce7b11c5d124b7eddce057d752bbd
2020-10-06 20:25:19 +08:00
Treehugger Robot
9faf2c5b2a Merge "Make PrivateAddressCoordinator ignore vpn network" am: 0b1e7d8956 am: 3f85eccfaa am: a089de8bab am: f572842106 am: c92ae41b1e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1413610

Change-Id: Ifb6e7159d4c45136414a9e1a9d0c8f05abdc1ecb
2020-10-05 05:57:55 +00:00
Treehugger Robot
0b1e7d8956 Merge "Make PrivateAddressCoordinator ignore vpn network" 2020-10-05 04:10:48 +00:00
TreeHugger Robot
0e2d8592ad Merge "Revert "Move module utils to the module package."" 2020-10-02 03:54:37 +00:00
Hridya Valsaraju
3d57544fb2 Revert "Move module utils to the module package."
Revert "Move util classes to their destination package"

Revert "Move PacketReader and FdEventReader"

Revert "Move static utils to a module package"

Revert "Move static utils to a module package"

Revert submission 12698912-move_packetreader

Reason for revert: Broke presubmit on git_master, b/169861635
Reverted Changes:
If5d1e4a58:Move module utils to the module package.
I44ffaad3d:Move PacketReader and FdEventReader
I93e9cfd96:Move util classes to their destination package
Ia84d64130:Move static utils to a module package
Iaac2810c7:Move static utils to a module package

Change-Id: Ibbe59075cd7bc4c38e0707ea6ae3b3703b40986f
2020-10-01 20:12:46 +00:00
Lorenzo Colitti
74f96cb61a Merge changes I53ca4b98,I1757fdeb am: 3a463815e2 am: f593d0eaa2 am: e8bbfd667b am: de14ddcb35 am: befc49ea1d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1440767

Change-Id: I6960604ea5fe5958906d9f62d0c5816d222a5b25
2020-09-30 14:33:32 +00:00
Tyler Wear
7f70074abc tethering: offload: Netlink Req NfGen
Add the netfilter generic message header to
the netlink req. This is needed so the kernel
won't ignore the request for invalid params.

Bug: 149109043
Test: ConntrackSocketTest
Change-Id: I1757fdeb11a0cac5821021a22323cbd74fe22bdc
2020-09-30 15:07:47 +09:00
Chalard Jean
66a2d7bac8 Merge "Move module utils to the module package." 2020-09-28 13:22:23 +00:00
Treehugger Robot
03eba4d9b4 Merge "Fix TetheredClient callback fail in InProcessTethering" am: 18ee591257 am: 9fe2d11c12 am: 0c9a370cfc am: 513d2f34c5 am: f48195c89d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1435273

Change-Id: If84a7df3a08ebda9687bbd0481fddf0c87e33b58
2020-09-28 10:50:33 +00:00
markchien
1a2163b972 Make PrivateAddressCoordinator ignore vpn network
If vpn app make its netmask as 0, PrivateAddressCoordinator
would not able to find suitable address for tethering downstream.
Since tethering do not support vpn as upstream, just ignore vpn
in PrivateAddressCoordinator.

Bug: 166365863
Test: atest TetheringTests
      atest CtsTetheringTest
Change-Id: Iabe265467044fea9fa437674ca29ffc7bcdefe3b
2020-09-28 17:22:19 +08:00
Treehugger Robot
18ee591257 Merge "Fix TetheredClient callback fail in InProcessTethering" 2020-09-28 08:53:53 +00:00
Chalard Jean
050d4a4bb0 Move module utils to the module package.
Test: builds
Change-Id: If5d1e4a58fb2d6d9544e6d01995dabe445cf1f25
(cherry picked from commit 046bf639eb7728504be35e30e3dd49af3d029728)
2020-09-26 14:12:10 +09:00
markchien
84ec4a397a Fix TetheredClient callback fail in InProcessTethering
TetheredClient callback would additional check whether caller has
NETWORK_SETTINGS or {MAINLINE_}NETWORK_STACK permission, but it do not
grant for self accessing. InProcessTethering run in system server, so
the services in system server would fail to call TetheredClient callback.
Grant permission for self process.

Bug: 169231588
Test: atest CtsTetheringTest
Change-Id: Ic04e44aef4df772c718ff25ed331bf02f5940c1d
2020-09-24 10:11:51 +08:00
Remi NGUYEN VAN
6432435cd4 Merge "tethering: DAD Proxy Daemon" am: 72e81859f8 am: 4508ee1e28 am: fa3997133c am: 149bcd9a8d am: de20384cf9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1258645

Change-Id: I35ed011484134d1952fc5b4ba8d4ff766bfcb447
2020-09-23 07:15:41 +00:00
Remi NGUYEN VAN
72e81859f8 Merge "tethering: DAD Proxy Daemon" 2020-09-23 04:57:42 +00:00
Tyler Wear
90e4063fd2 tethering: DAD Proxy Daemon
DAD proxy daemon responsible for forwarding NS/NA between
tethered iface and upstream iface.

Change-Id: I2e58e10e7fa7dba6a6f63ad03b000549f3afc37e
2020-09-22 11:58:49 -07:00
Xin Li
82a71b8f72 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Chalard Jean
827a8abfb5 Revert "Revert "Move Inet[4]AddressUtils to libs/net"" am: 78701646dd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1382497

Change-Id: Ia5e7e926bc3a9af8b03f8970738e6abe4c6d15b6
2020-08-07 06:59:26 +00:00
Chalard Jean
78701646dd Revert "Revert "Move Inet[4]AddressUtils to libs/net""
This patch is still needed and should go in now that the
error is fixed.
The patch was submitted into rvc-dev and is already in
rvc-dev-plus-aosp (patch in in ag/11923559, revert
skipped in ag/12072199). A follow-up will remove the
unused services.net-module-wifi target.

Test: originally tested in aosp/1324109
Test: m; manual: flashed, wifi and telephony working
Test: atest NetworkStackCoverageTests
Change-Id: I1074eedb0b0f156a1135e11210ec102de15ea674
Merged-In: Icd141a992c46290c74929785e261a1cd57bc001b
2020-08-07 03:31:04 +00:00
Mark Chien
e60e4bc62f Merge "Allow wifi p2p to use legacy dedicated address" am: d2af4d9e2a am: b537c25685 am: 04720e79b0 am: e0e75de37e am: 264d16941a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1382398

Change-Id: I3d24b5c68ca741ee3f63bf60623ff7882ea9cc50
2020-08-05 07:35:53 +00:00
Mark Chien
04720e79b0 Merge "Allow wifi p2p to use legacy dedicated address" am: d2af4d9e2a am: b537c25685
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1382398

Change-Id: Ica17499f82135bc96b87ca4071b603bb8cc23053
2020-08-05 06:36:36 +00:00
Mark Chien
d2af4d9e2a Merge "Allow wifi p2p to use legacy dedicated address" 2020-08-05 06:01:37 +00:00
markchien
eb8fec2111 Allow wifi p2p to use legacy dedicated address
Some exsting applications may expect wifi p2p use legacy
"192.168.49.1/24" address. Have a configuration for wifi p2p to
decide whether to use legacy dedicated address or random address.

Bug: 161520826
Test: atest TetheringTests
Change-Id: If79973416a6780ee19ee785c65772b1a2dc1fbf7
2020-08-05 11:03:46 +08:00
Chiachang Wang
309cdb03d2 Merge "Update language to comply with Android's inclusive language guidance" am: e66098036f am: d85403cc70 am: d3a216ae4f am: 230cbcc611 am: 0b192779c3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1375618

Change-Id: Ib1c23f0a9758bdcf55d11ac67ff6ff54dc513066
2020-07-31 01:10:21 +00:00
Chiachang Wang
d3a216ae4f Merge "Update language to comply with Android's inclusive language guidance" am: e66098036f am: d85403cc70
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1375618

Change-Id: I8426e89337e60c48ad20677e835d36622d41ed91
2020-07-30 03:17:44 +00:00
Chiachang Wang
e66098036f Merge "Update language to comply with Android's inclusive language guidance" 2020-07-30 02:49:44 +00:00
Mark Chien
231c533213 Merge "Always stop dhcp server even it is obsolete" am: 0ae446b50d am: 4f671f3834 am: 17cfe5d843 am: 9125d2ed58 am: cbbacff29f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1370217

Change-Id: I1ef0d35da436cc283ddc57daf5d8ec29f11db999
2020-07-29 05:52:42 +00:00
Mark Chien
17cfe5d843 Merge "Always stop dhcp server even it is obsolete" am: 0ae446b50d am: 4f671f3834
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1370217

Change-Id: Ibb1c96fce2435fec3f678d89531ed10a6ddc784f
2020-07-29 04:56:10 +00:00
Chiachang Wang
14aaefcb12 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code
for reference.

Test: m ; atest TetheringTests
Bug: 161896447
Change-Id: Idc58697c72fb00896bee00185fefc50c1a24dd35
2020-07-29 12:05:04 +08:00
markchien
af2670f427 Always stop dhcp server even it is obsolete
If dhcp server is obsolete, explicitly stop it to shut down its thread.

Bug: 161418295
Test: atest CtsTetheringTest
Change-Id: Ic5b876bd23711ec8d832879a7baee0495246b218
2020-07-29 09:55:29 +08:00
Chalard Jean
6b66d70ba1 Revert "Move Inet[4]AddressUtils to libs/net"
This reverts commit cf86031c12.

Reason for revert: Breaks the build b/160390899

Merged-In: Icd141a992c46290c74929785e261a1cd57bc001b
Change-Id: Ie10e66f61393602f17fbb61bf17230b176bf1f44
2020-07-02 23:47:35 +00:00
Remi NGUYEN VAN
cf86031c12 Move Inet[4]AddressUtils to libs/net
The classes should not be picked up from frameworks/base, as they are
part of several mainline modules.

Also refine comments in DhcpResults following feedback in previous
change.

(cherry-pick from internal branch skipping wifi classes; no other
conflict)

Bug: 151052811
Test: m; manual: flashed, wifi and telephony working
Test: atest NetworkStackCoverageTests
Merged-In: I7074651c6a2a7a6b11bcf13cc4bb03833d7d655f

Change-Id: I7074651c6a2a7a6b11bcf13cc4bb03833d7d655f
2020-07-02 10:52:31 +09:00
Paul Hu
aebabf1f10 Merge "Correct PendingIntent#getActivity() flags" am: 6b2b4e6514 am: 7a87bc4742 am: b6958b47d9 am: 2ad5f4e82f am: 08a2695981
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1329013

Change-Id: Ib65efbacaeae1c99c0d00c2bcf9f222bf9a32628
2020-06-29 12:55:53 +00:00
Paul Hu
b6958b47d9 Merge "Correct PendingIntent#getActivity() flags" am: 6b2b4e6514 am: 7a87bc4742
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1329013

Change-Id: I67e2d4facd77f978255a10423a9baff231ac0695
2020-06-29 12:17:07 +00:00
Paul Hu
6b2b4e6514 Merge "Correct PendingIntent#getActivity() flags" 2020-06-29 11:53:18 +00:00
paulhu
67aeab2eee Correct PendingIntent#getActivity() flags
TetheringNotificationUpdater create a PendingIntent with
Intent#FLAG_ACTIVITY_NEW_TASK flag. But this flag is used for
Intent only. Thus, move this flag into Intent.

Bug: 158639789
Test: atest TetheringTests
Change-Id: I4c3af75c87b797bcde9356a94c835c7422dac1c6
2020-06-29 00:32:19 +08:00
Lorenzo Colitti
925f8f07b3 Merge "tethering: offload: Netlink Req" am: b90c974174 am: d45fd82ad0 am: 4d2944cda4 am: ee131d4c64 am: 52116b6880
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1290954

Change-Id: I414456f814a807a0a38cceb50164b6468adc2d10
2020-06-24 04:24:45 +00:00
Lorenzo Colitti
4d2944cda4 Merge "tethering: offload: Netlink Req" am: b90c974174 am: d45fd82ad0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1290954

Change-Id: I5f976d70d87ef25ebb8e1483532781ac3d42425b
2020-06-24 03:44:31 +00:00
Lorenzo Colitti
b90c974174 Merge "tethering: offload: Netlink Req" 2020-06-24 03:11:26 +00:00
Mark Chien
93743bb990 Merge "Tethering: Add WiGig support" am: 65fadfc134 am: 6c5b5b0803 am: fdf89ee7fb am: 45fa4f9c88 am: 5131fee94b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1177323

Change-Id: I2d3971390e897be6669d2f2d4b261eb73875c267
2020-06-23 00:09:17 +00:00
Mark Chien
fdf89ee7fb Merge "Tethering: Add WiGig support" am: 65fadfc134 am: 6c5b5b0803
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1177323

Change-Id: Ib48182d51cc6e4586cb43f8ca51ea673ee14d1d7
2020-06-22 23:43:43 +00:00
Dedy Lansky
6896f6193f Tethering: Add WiGig support
This change is a combination of following changes:

1) Tethering: add TETHERING_WIGIG type
   Currently both WIFI and WIGIG use the same tethering type,
   TETHERING_WIFI. This causes conflicts between the frameworks,
   when both WIFI and WIGIG SoftAPs are started, one or both will
   not work.
   Fix this by using a seperate tethering type for WIGIG.

2) Tethering: remove TETHERING_WIGIG state machine on interface down
   The wigig state machine relies on a TETHERING_STATE_CHANGED broadcast
   that is sent when the tethering state machine is first created, during
   interface up. Currently the tethering state machine is not removed
   on interface down except for TETHERING_BLUETOOTH, and as a result
   wigig tethering only works the first time SoftAP is started.
   In order to fix this, remove the tethering state machine on interface
   down for TETHERING_WIGIG as well.

Bug: 143356416
Test: TetheringCoverageTests

Change-Id: Ic4d3aca0ed69234093af7f0206dab3335938c52a
2020-06-22 21:17:46 +08:00