Commit graph android_packages_modules_Co.../Tethering/src
Message SHA1
Merge "Also update connected clients for local only tethering"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-12-23 11:36:34 +00:00
561f38a799
Also update connected clients for local only tethering
mForwardedDownstreams is the set of downstreams who wanted upstream.
In other word, it don't contains localOnly tethering(e.g. local only
hotspot, wifi p2p tethering). Changing the list from mForwardedDownstreams
to mNotifyList make both tethered and localOnly tethering have connected
clients callback.

Bug: 172290164
Test: atest TetheringTests
Change-Id: I58fdb28efc616b00d63a1c237ea93aee4d8f2dcd

markchien   commited 2020-12-22 23:23:09 +08:00
f50f05ebcb
Move module utils to the module package.
Test: FrameworksWifiTest FrameworksNetTest
Merged-In: Ib04bebb061dc64d6d685116b596fb3179d5b959a
Change-Id: I9118da3898d864c7bf0ed7bc9d94b94343c4a084

Chalard Jean   commited 2020-12-16 11:44:34 +09:00
d2df5729f6
Fix tethering doesn't turn off issue
When user restriction turns on, all tethering functions should
be disabled. But tethering functions still work after
restrication is on. Because tethering request would be removed
from mActiveTetheringRequests after starting tethering that
will result in Tethering#isTetheringActive() always returns
false. Thus, update the design to check tethered interface to
ensure that any of tethering function is working.

Bug: 169596583
Test: atest TetheringTests
Test: Manually test that tethering function would be disabled
      and notification would show to user after restriction
      was on.
Change-Id: Icb9649a5ecdec2d029ac763b5b9b80042ad50eb9

paulhu   commited 2020-11-10 16:47:52 +08:00
862c8a1ea0
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

markchien   commited 2020-10-19 16:50:29 +08:00
4607c5535b
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

markchien   commited 2020-10-15 16:21:12 +08:00
634f0a8ec1
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

markchien   commited 2020-10-13 16:45:09 +08:00
d9acdccbd3
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

markchien   commited 2020-10-06 20:25:19 +08:00
a2ffad84c7
Merge "Make PrivateAddressCoordinator ignore vpn network"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-10-05 04:10:48 +00:00
0b1e7d8956
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

Tyler Wear   authored and   Lorenzo Colitti   commited 2020-09-30 15:07:47 +09:00
7f70074abc
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

markchien   commited 2020-09-28 17:22:19 +08:00
1a2163b972
Merge "Fix TetheredClient callback fail in InProcessTethering"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-09-28 08:53:53 +00:00
18ee591257
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

markchien   commited 2020-09-24 10:11:51 +08:00
84ec4a397a
Merge "tethering: DAD Proxy Daemon"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2020-09-23 04:57:42 +00:00
72e81859f8
tethering: DAD Proxy Daemon
DAD proxy daemon responsible for forwarding NS/NA between
tethered iface and upstream iface.

Change-Id: I2e58e10e7fa7dba6a6f63ad03b000549f3afc37e

Tyler Wear   commited 2020-09-22 11:58:49 -07:00
90e4063fd2
Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2

Xin Li   commited 2020-08-31 21:21:38 -07:00
82a71b8f72
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

Chalard Jean   authored and   Automerger Merge Worker   commited 2020-08-07 06:59:26 +00:00
827a8abfb5
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

Chalard Jean   commited 2020-08-07 03:31:04 +00:00
78701646dd
Merge "Allow wifi p2p to use legacy dedicated address"
Mark Chien   authored and   Gerrit Code Review   commited 2020-08-05 06:01:37 +00:00
d2af4d9e2a
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

markchien   commited 2020-08-05 11:03:46 +08:00
eb8fec2111
Merge "Update language to comply with Android's inclusive language guidance"
Chiachang Wang   authored and   Gerrit Code Review   commited 2020-07-30 02:49:44 +00:00
e66098036f
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

Chiachang Wang   commited 2020-07-29 12:05:04 +08:00
14aaefcb12
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

markchien   commited 2020-07-29 09:55:29 +08:00
af2670f427
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

Chalard Jean   authored and   Remi NGUYEN VAN   commited 2020-07-02 23:47:35 +00:00
6b66d70ba1
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

Remi NGUYEN VAN   commited 2020-07-02 10:52:31 +09:00
cf86031c12
Merge "Correct PendingIntent#getActivity() flags" am: 6b2b4e6514 am: 7a87bc4742
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1329013

Change-Id: I67e2d4facd77f978255a10423a9baff231ac0695

Paul Hu   authored and   Automerger Merge Worker   commited 2020-06-29 12:17:07 +00:00
b6958b47d9
Merge "Correct PendingIntent#getActivity() flags"
Paul Hu   authored and   Gerrit Code Review   commited 2020-06-29 11:53:18 +00:00
6b2b4e6514
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

paulhu   commited 2020-06-29 00:32:19 +08:00
67aeab2eee
Merge "tethering: offload: Netlink Req" am: b90c974174 am: d45fd82ad0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1290954

Change-Id: I5f976d70d87ef25ebb8e1483532781ac3d42425b

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-06-24 03:44:31 +00:00
4d2944cda4
Merge "tethering: offload: Netlink Req"
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-06-24 03:11:26 +00:00
b90c974174
Merge "Tethering: Add WiGig support" am: 65fadfc134 am: 6c5b5b0803
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1177323

Change-Id: Ib48182d51cc6e4586cb43f8ca51ea673ee14d1d7

Mark Chien   authored and   Automerger Merge Worker   commited 2020-06-22 23:43:43 +00:00
fdf89ee7fb
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

Dedy Lansky   authored and   markchien   commited 2020-06-22 21:17:46 +08:00
6896f6193f
Protect invalid entitlement app configuration
There is a protection in Settings that Settings would gray out if
tethering requires entitlement check but the entitlement app is
invalid. Tethering resource is moved from framework to tethering
module, so Settings can not fetch entitlement app name anymore.

In this change, tethering module would check whether entitltement app
package name is exsited if entitlement check is needed. Tethering would
be not supported (Settings tethering option would be hidded) if
entitlement app is not installed.

After moving the protection into tethering module,
TetherUtil#isProvisioningNeeded is no longer needed. Because The
only use case is Settings wants to gray out tethering setting
when entitltement check is needed but entitlement app is invalid.

Bug: 146918263
Test: atest TetheringCoverageTests
Change-Id: I9a5ff5dbc1db3f3be7fcd7146862a16b373507e6
Merged-In: I9a5ff5dbc1db3f3be7fcd7146862a16b373507e6

markchien   commited 2020-06-20 10:19:25 +08:00
4c9428a135
Pass entitlement configuration to Settings for entitlement check
Tethering resource configuration is move from framwork to tethering
module. Since tethering resource would not be accessible from outside
of tethering module, EntitlementManager would tell Settings the
entitlement configuration via intent extra when run entitlement check.

Bug: 146918263
Test: atest TetheringTests
Change-Id: I6f23553bb1da5f0b767f920b32a86fafb9e00b9e
Merged-In: I6f23553bb1da5f0b767f920b32a86fafb9e00b9e

markchien   commited 2020-06-20 10:19:21 +08:00
902043f5c3
Merge "Let only Ethernet manage ethernet interface up and down" am: ac8445ca3b am: eb4a072814
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1317394

Change-Id: Ifc233eff24c893ca542e75b683be0628eafba37f

Mark Chien   authored and   Automerger Merge Worker   commited 2020-06-19 06:25:12 +00:00
0d3aeb6139
Merge "Let only Ethernet manage ethernet interface up and down"
Mark Chien   authored and   Gerrit Code Review   commited 2020-06-19 05:55:35 +00:00
ac8445ca3b
Let only Ethernet manage ethernet interface up and down
When LAN link is changed for using ethernet interface from Ethernet tethering to Ethernet,
there is confiict as Ethernet Tethering is trying to make ethernet link down and Ethernet is trying to make ethernet link up.

So, this would make Ethernet only manage ethernet interface link state.

Test: manual
Bug: 130840861
Change-Id: I1cd40ae764bdeecbb59e3889e9399b7f4b05f9cc

Milim Lee   commited 2020-06-19 12:44:22 +09:00
9807816e09
Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev am: e7afe55beb
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11846903

Change-Id: Icd141a992c46290c74929785e261a1cd57bc001b

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2020-06-19 01:08:48 +00:00
2e342b8676
Merge "Move Inet[4]AddressUtils to libs/net" into rvc-dev
Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2020-06-19 00:49:29 +00:00
e7afe55beb
Merge "Memory leak due to no stop for IpNeighborMonitor." am: 4cc7532355 am: 1e488831bd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1343440

Change-Id: Idef540bd66d193eb9b7071374736633c7d0323d7

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-06-18 16:36:32 +00:00
51229ef8f0
Memory leak due to no stop for IpNeighborMonitor.
1. When Wi-Fi enabled, ap0 interface is added and IpNeighborMonitor's
   start() is invoked in IpServer's constructor.
2. There's no stop for IpNeighborMonitor when IpServer stop.
3. During overnight test for Wi-Fi, networkstack is too slow to
   process request due to memory leak in IpNeighborMonitor and
   binder buffer is blocked causing exception.
Solution: Invoke IpNeighborMonitor.stop() in UnavailableState.enter().

Bug: 159097215
Test: automatic, turn on and off Wi-Fi every 6 seconds overnight
Change-Id: I8f60c13706f05306e8f25a15f7861d7ecabbc10e

h.zhang   authored and   Lorenzo Colitti   commited 2020-06-18 23:51:16 +09:00
d244bd097c
[BOT.13] Make offload coordinator poll interval configurable
Bug: 150736748
Test: BpfCoordinatorTest

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1315576
Merged-In: I7f8dde3b57ee14eb33edbe2fd383df33cccc231c
Change-Id: I70a6e5c8e765daf40cb738feb7fd70cf3c8f052d
(cherry picked from commit bb61893406)

Nucca Chen   commited 2020-06-17 07:45:57 +00:00
1c0d8487b4
[BOT.12] Add unit test for disabling BpfCoordinator by config
Bug: 150736748
Test: BpfCoordinatorTest
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1313802
Merged-In: Iedb936b7592b6be773d1b84a2498bfc5a440a198
Change-Id: I298ae39a1fa61b2cf97752aa908aa2d7d0f9783d
(cherry picked from commit 3aba923ce2)

Nucca Chen   commited 2020-06-17 07:43:41 +00:00
0a0d4e156d
[BOT.11] BpfCoordinator could be disabled by device config
Bug: 150736748
Test: BpfCoordinatorTest
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1313955
Merged-In: Id413b7f2f7edb2e5c3e02d5677fe536ed52fbbcb
Change-Id: I48a8de478c9200b8c9f88e785340fc7973e4a13f
(cherry picked from commit fe737bc2b2)

Nucca Chen   commited 2020-06-17 07:40:40 +00:00
d105961e58
[BOT.8] Dump BPF offload information in dumpsys
$ adb shell dumpsys tethering
BPF offload:
  Polling started
  Stats provider registered
  Upstream quota: {rmnet_data2=9223372036854775807}
  Forwarding stats:
    12(rmnet_data2) - ForwardedStats(rxb: 1065, rxp: 5, txb: 0, txp: 0)
  Forwarding rules:
    [wlan1]: iif(iface) oif(iface) v6addr srcmac dstmac
      12(rmnet_data2) 31(wlan1) /2401:e180:8831:77ae:a900:a03b:41fb..

Bug: 150736748
Test: Enable tethering on mobile data and check dumpsys tethering
Original-Change: https://android-review.googlesource.com/1302438
Merged-In: I95ea3050d92f3ba8136a63cd399d3450d183c8dc
Change-Id: I95ea3050d92f3ba8136a63cd399d3450d183c8dc

Nucca Chen   commited 2020-06-17 07:29:10 +00:00
a340f25d3e
Merge "[BOT.13] Make offload coordinator poll interval configurable" am: 8b7c9a2f87 am: 558d3e3ad2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1315576

Change-Id: Ia1befc327f71df979bd60cb4fcb96a0ed69afbef

Nucca Chen   authored and   Automerger Merge Worker   commited 2020-06-17 06:33:42 +00:00
c2be69eff8
Merge "[BOT.12] Add unit test for disabling BpfCoordinator by config" am: 6241525504 am: d36e818816
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1313802

Change-Id: Ica3e4752091c3460296f7d06ccb1e0827aec29f6

Nucca Chen   authored and   Automerger Merge Worker   commited 2020-06-17 06:33:31 +00:00
4a87f05849
Merge "[BOT.11] BpfCoordinator could be disabled by device config" am: e8c985be78 am: 36e37ff125
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1313955

Change-Id: If0f1df54216517aff5af0ce4ae120b25d7fdbaf6

Nucca Chen   authored and   Automerger Merge Worker   commited 2020-06-17 06:32:52 +00:00
d7f13cb23b
Merge "[BOT.8] Dump BPF offload information in dumpsys" am: e765ab3d36 am: 52d3db170e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1302438

Change-Id: Ifd56fe444a7610736eb9f915f8df70f73eec8c02

Nucca Chen   authored and   Automerger Merge Worker   commited 2020-06-17 06:32:35 +00:00
be3598c113
Merge "Revert "Revert "Pass entitlement configuration to Settings for entitlement check""" into rvc-dev am: 404c3adad7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11836350

Change-Id: Ibfea2e6f2564942eca60c84a5df5583acc1b9e8b

Mark Chien   authored and   Automerger Merge Worker   commited 2020-06-17 06:24:22 +00:00
7e501e2967