Commit Graph

990 Commits

Author SHA1 Message Date
TreeHugger Robot
ea022aada2 [automerger skipped] Merge changes from topic "am-be6a9190f28c4c1fa3990ea22425f5b8-rvc-dev" into rvc-dev am: 8ef4c5bac0 -s ours
am skip reason: Change-Id I829d36339973f9473fe6b616c48aa288f18d1c46 with SHA-1 269c0886ed is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11818540

Change-Id: I9ce4aead2bd29bcc8226f498bcc0940d04c55319
2020-06-10 06:51:00 +00:00
Treehugger Robot
7c538fa7ff [BOT.6] Make BpfCoordinator to support data limit
The BPF tethering coordinator listens to the forwarding rule
changes for updating data limit which is applied in the following
conditions.
- After adding the first rule on a given upstream, add data limit.
- After removing the last rule on a given upstream, clear data limit.
- The service applies a new data limit on current upstream.

The reason for relying on rule changes is because the Tethering and
IpServer objects have multi-internal state machines. It is hard to
synchronize all of their states.

Note that the data limit cleanup for stopping or switching upstream
relies on offload rules are all removed as well.

Bug: 150736748
Test: manual
Original-Change: https://android-review.googlesource.com/1302436
Merged-In: I829d36339973f9473fe6b616c48aa288f18d1c46
Change-Id: I829d36339973f9473fe6b616c48aa288f18d1c46
2020-06-10 03:14:34 +00:00
Lorenzo Colitti
1aa15dab62 [BOT.9] Add unit test for data warning in BpfCoordinator
Bug: 150736748
Test: atest BpfCoordinatorTest
Original-Change: https://android-review.googlesource.com/1311658
Merged-In: Ic1f37de75b064d7c8717e1b496e13174bb8693ec
Change-Id: Ic1f37de75b064d7c8717e1b496e13174bb8693ec
2020-06-10 03:13:49 +00:00
Lorenzo Colitti
11b88351c0 [BOT.4] Make BpfCoordinator to support data warning
Invoke the existing polling thread to update data alert statistics.
Once the data alert limit has reached, trigger the notification.

Bug: 150736748
Test: BpfCoordinatorTest
Original-Change: https://android-review.googlesource.com/1302435
Merged-In: Ibf25560ca2e9f003d8eba01361dc7d35ec1b1627
Change-Id: Ibf25560ca2e9f003d8eba01361dc7d35ec1b1627
2020-06-10 03:12:52 +00:00
Hungming Chen
810a381cd4 [BOT.5] Move class Ipv6ForwardingRule from IpServer to the coordinator
This is a preparation for moving adding/removing forwarding rules from
IpServer to BpfCoordinator.

Bug: 150736748
Test: atest IpServerTest
Original-Change: https://android-review.googlesource.com/1317234
Merged-In: I85316ef09ff3c9389ded11dcc384493d699da48e
Change-Id: I85316ef09ff3c9389ded11dcc384493d699da48e
2020-06-10 03:11:41 +00:00
Hungming Chen
6442858f9d [BOT.3] Add unit test for polling network stats in the coordinator
Verify that the coordinator could fetch tether stats from BPF maps and
report the network stats to the service.

Bug: 150736748
Test: atest BpfCoordinatorTest
Original-Change: https://android-review.googlesource.com/1305574
Merged-In: Ib1756159a2047c5db7d31359b0f288f840bd1bb1
Change-Id: Ib1756159a2047c5db7d31359b0f288f840bd1bb1
2020-06-10 03:10:48 +00:00
Hungming Chen
d50f53b58a [BOT.2] Create a coordinator and stats provider to provide tether stats
Make BPF tethering offload coordinator, BpfCoordinator,
registers a network stats provider, BpfTetherStatsProvider, and
provide the tethering stats from the BPF map.

Bug: 150736748
Test: new test BpfCoordinatorTest

Original-Change: https://android-review.googlesource.com/1256189
Merged-In: I22e71f87b67668f7e733e4f215d93bf5b2c9380d
Change-Id: I22e71f87b67668f7e733e4f215d93bf5b2c9380d
2020-06-10 03:10:13 +00:00
Hungming Chen
020cb554f5 [BOT.1] Add a class ForwardedStats in TetheringUtils
Used to record offload transmitted/received forwarded bytes/packets.

Bug: 150736748
Test: new test BpfTetheringCoordinatorTest
Original-Change: https://android-review.googlesource.com/1306257
Merged-In: Ie8725f95c3ddd5fb3811d479de32d2c1f7dcb493
Change-Id: Ie8725f95c3ddd5fb3811d479de32d2c1f7dcb493
2020-06-10 03:09:36 +00:00
Lorenzo Colitti
feaff99264 [automerger skipped] Merge "Use the latest stable netd AIDL interface in Tethering." into rvc-dev am: c76256c1ed -s ours
am skip reason: Change-Id I2d2cedf560319653f67f6b06f7abb0bf66eba91a with SHA-1 140042db6f is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11807347

Change-Id: Icf3b30f389b53a9aff94bdb89e36862ea6960a8d
2020-06-10 03:09:27 +00:00
Treehugger Robot
5a18fd3d2c Merge "Address comment from aosp/1232197" am: 7e6ff1bde1 am: a87d030207
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1318288

Change-Id: Iabdcc3b95239019a625e9823f70c30a9bded706a
2020-06-09 17:59:03 +00:00
Treehugger Robot
7e6ff1bde1 Merge "Address comment from aosp/1232197" 2020-06-09 17:19:33 +00:00
Lorenzo Colitti
601971d2d2 Use the latest stable netd AIDL interface in Tethering.
This is required to use the new BPF tethering APIs that set data
usage limits.

AOSP and master are already using -unstable instead of -V3.
In order not to change master, the Merged-In tag is set to the CL
that switched AOSP (and master) to -unstable.

Test: m
Bug: 150736748
Merged-In: I2d2cedf560319653f67f6b06f7abb0bf66eba91a
Change-Id: Idba29b0fe428ac6552a025dcbe15729739088e9e
2020-06-10 01:07:29 +09:00
Treehugger Robot
fe3f85ba3d Merge "[BOT.6] Make BpfCoordinator to support data limit" am: 73dd6f71f8 am: 3e58ec268b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1302436

Change-Id: Icf64d856318173ad599a4f48295c9bdf591967f1
2020-06-09 13:28:38 +00:00
Treehugger Robot
73dd6f71f8 Merge "[BOT.6] Make BpfCoordinator to support data limit" 2020-06-09 12:58:20 +00:00
Hungming Chen
269c0886ed [BOT.6] Make BpfCoordinator to support data limit
The BPF tethering coordinator listens to the forwarding rule
changes for updating data limit which is applied in the following
conditions.
- After adding the first rule on a given upstream, add data limit.
- After removing the last rule on a given upstream, clear data limit.
- The service applies a new data limit on current upstream.

The reason for relying on rule changes is because the Tethering and
IpServer objects have multi-internal state machines. It is hard to
synchronize all of their states.

Note that the data limit cleanup for stopping or switching upstream
relies on offload rules are all removed as well.

Bug: 150736748
Test: manual
Change-Id: I829d36339973f9473fe6b616c48aa288f18d1c46
2020-06-09 17:33:03 +08:00
Mark Chien
43e70468ce Merge "Move TetheringTests to presubmit" am: 597265fa13 am: 6b63e8da67
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1318279

Change-Id: I6cbfa15e623daef9dc70e764a4f701689209f1b2
2020-06-09 09:24:40 +00:00
Mark Chien
597265fa13 Merge "Move TetheringTests to presubmit" 2020-06-09 08:48:13 +00:00
Lorenzo Colitti
6ae789f577 Merge "[BOT.9] Add unit test for data warning in BpfCoordinator" am: fd349683c9 am: dd9f16708c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1311658

Change-Id: I5db2504e87edf3389dced385191cc250b88e2da0
2020-06-09 02:55:52 +00:00
Lorenzo Colitti
4ac4347e8b Merge "[BOT.4] Make BpfCoordinator to support data warning" am: cdf210fd71 am: 74b81e046c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1302435

Change-Id: I686b01c362ed61d7333279f4c951039afa9a2fbd
2020-06-09 02:55:01 +00:00
Lorenzo Colitti
fd349683c9 Merge "[BOT.9] Add unit test for data warning in BpfCoordinator" 2020-06-09 02:22:59 +00:00
Lorenzo Colitti
cdf210fd71 Merge "[BOT.4] Make BpfCoordinator to support data warning" 2020-06-09 02:22:43 +00:00
Paul Hu
98a32f115d Merge "Make tether settings intent explicit" am: 51241a168c am: 913cd757d5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1318286

Change-Id: I7eafc623fcd88b9544756295d84c936c2ab2507a
2020-06-08 16:20:55 +00:00
Xin Li
669666f430 [automerger skipped] Merge "Merge QQ3A.200605.002 into master" am: d7785982ac -s ours am: 8028fe1945 -s ours
am skip reason: Change-Id I5e28537689d1a53e99f91eafd494eb3a0c890f46 with SHA-1 22238ed86f is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1323623

Change-Id: I3811100a743b62c5a5e9f661647793b719824679
2020-06-08 16:08:03 +00:00
Paul Hu
51241a168c Merge "Make tether settings intent explicit" 2020-06-08 10:31:21 +00:00
Hungming Chen
b1406cf0d6 [BOT.9] Add unit test for data warning in BpfCoordinator
Bug: 150736748
Test: atest BpfCoordinatorTest
Change-Id: Ic1f37de75b064d7c8717e1b496e13174bb8693ec
2020-06-08 17:31:51 +08:00
Hungming Chen
c42a0ffc0d [BOT.4] Make BpfCoordinator to support data warning
Invoke the existing polling thread to update data alert statistics.
Once the data alert limit has reached, trigger the notification.

Bug: 150736748
Test: BpfCoordinatorTest
Change-Id: Ibf25560ca2e9f003d8eba01361dc7d35ec1b1627
2020-06-08 17:31:34 +08:00
paulhu
3fe5434d19 Make tether settings intent explicit
Currently tethering notification is sending a pending intent for
redirecting user to tether settings page. However, this intent
is implicit that only create with
Settings.ACTION_TETHER_SETTINGS. For security reasons, this
intetnt should specify an explicit component to be delivered to.
Thus, specify the settings package name to this intent.

Test: atest TetheringTests
Bug: 156353008
Change-Id: I49187aee8a004caa890e2a73c0a28d280215c7d4
2020-06-08 06:04:19 +00:00
Xin Li
d56d89c8a6 Merge QQ3A.200605.002 into master
Bug: 158095402
Merged-In: I5e28537689d1a53e99f91eafd494eb3a0c890f46
Change-Id: I436ef37a509cbe56d02c6d8d3a38c776f4b4883f
2020-06-03 10:45:02 -07:00
Maciej Żenczykowski
9ceac21066 [automerger skipped] Merge "Stop reducing RA advertised ipv6 mtu by 16 - not needed." am: cfacebd651 am: 22238ed86f -s ours
am skip reason: Change-Id I76a75a16fa27b47d78816b2f9379ef4bb68beb00 with SHA-1 b5898ad53a is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322377

Change-Id: Ieb50a0aa01cf69e0d393d901e040ff0cd6ca4bbd
2020-06-03 05:48:31 +00:00
Maciej Żenczykowski
22238ed86f Merge "Stop reducing RA advertised ipv6 mtu by 16 - not needed." am: cfacebd651
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322377

Change-Id: I5e28537689d1a53e99f91eafd494eb3a0c890f46
2020-06-03 05:32:55 +00:00
Maciej Żenczykowski
cfacebd651 Merge "Stop reducing RA advertised ipv6 mtu by 16 - not needed." 2020-06-03 05:21:45 +00:00
Maciej Żenczykowski
f99d2a103d Stop reducing RA advertised ipv6 mtu by 16 - not needed.
This effectively reverts:

  commit da0fb1bca8
  Author: Maciej Żenczykowski <maze@google.com>
  Date:   Wed Feb 19 01:24:39 2020 -0800

      Reduce advertised ipv6 mtu by 16 to fit ethernet header

      This is a temporary hack to workaround the inability of current
      kernel's ebpf bpf_skb_change_mode() function to prefix a 14-byte
      ethernet header on to a packet without going over the upstream
      (source, rawip) interface's mtu *before* we bpf_redirect() to
      the downstream (destination, ethernet) interface.

      Test: build, atest, atest TetheringTests
      Bug: 149816401

Test: flashed a flame with new kernel and it works at 1500 mtu
Bug: 149816401
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I76a75a16fa27b47d78816b2f9379ef4bb68beb00
Merged-In: I76a75a16fa27b47d78816b2f9379ef4bb68beb00
2020-06-02 22:20:39 -07:00
TreeHugger Robot
2ab13c6e54 Merge "Stop reducing RA advertised ipv6 mtu by 16 - not needed." into rvc-dev am: 36ff42e508
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11620914

Change-Id: I16f122fb61de1f03fa7bf163be8f5fea70ab59d7
2020-06-03 04:23:26 +00:00
TreeHugger Robot
36ff42e508 Merge "Stop reducing RA advertised ipv6 mtu by 16 - not needed." into rvc-dev 2020-06-03 04:15:32 +00:00
Paul Duffin
730b0510d6 [automerger skipped] Merge "Switch to standard naming scheme" am: b04aea2791 am: 5b8f3bede8 -s ours
am skip reason: Change-Id I3b78fcbcacc3df787e171d6eedeef1e51b087615 with SHA-1 6812c1b1ee is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322775

Change-Id: I7144b03a68a8cda1d1933dd021b22140482e4266
2020-06-02 19:58:58 +00:00
Paul Duffin
42dea5b4ea [automerger skipped] Merge "Clean up the visibility rules for framework modules" am: 415e2387ae am: 94261519be -s ours
am skip reason: Change-Id Icc9bc5a9ef86cf7ba0f15c2b2a4abd596ec9f640 with SHA-1 a17cf677b5 is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322774

Change-Id: I2e263560749dc0cc89ed1a73d5266551afbe5e49
2020-06-02 19:58:29 +00:00
Paul Duffin
5b8f3bede8 Merge "Switch to standard naming scheme" am: b04aea2791
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322775

Change-Id: Ic1b75b3a6cd0db02d485ecd2ed3939d9faca8200
2020-06-02 19:41:30 +00:00
Paul Duffin
94261519be Merge "Clean up the visibility rules for framework modules" am: 415e2387ae
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322774

Change-Id: If3a3993f35d4eb09aee4ab4ff04cd41c4d9c28ab
2020-06-02 19:41:03 +00:00
TreeHugger Robot
9e8fe26aa3 [automerger skipped] Merge "Gate exemptFromEentitlementCheck by Network_STACK permission" into rvc-dev am: 905ad0070d -s ours
am skip reason: Change-Id I6ddfda23d36ea9981e3e1eb5a87767f452a65852 with SHA-1 9e790873d9 is in history

Original change: undetermined

Change-Id: I2658349820385d9179107303d33605f5042e29c6
2020-06-02 15:21:21 +00:00
TreeHugger Robot
905ad0070d Merge "Gate exemptFromEentitlementCheck by Network_STACK permission" into rvc-dev 2020-06-02 15:09:56 +00:00
Paul Duffin
dfc7fb7f75 Switch to standard naming scheme
Removes use of the special framework-modules naming scheme.

Bug: 155164730
Test: m java
Exempt-From-Owner-Approval: Build cleanup.
Change-Id: I3896d7c91e937f503b49f5df011c21ee51219652
Merged-In: I0c31e2183353dfb5bd49f04f3455cb7b10be6866
Merged-In: I3b78fcbcacc3df787e171d6eedeef1e51b087615
(cherry picked from adac7d2cc3)
2020-06-02 14:15:28 +00:00
Paul Duffin
672fa36bdd Merge "Switch to standard naming scheme" into rvc-dev am: f94d682a9b
Original change: undetermined

Change-Id: I57cffc68409c2e9b795b0c8732fecc9bbf33e113
2020-06-02 11:58:50 +00:00
Paul Duffin
2a8d380f40 Clean up the visibility rules for framework modules
Switching from java_library to java_sdk_library switched the meaning
of the module name from referring to the implementation library to
referring to the stubs. This change updates the visibility rules to
reflect that new meaning.

Visibility rules that were previously set for the java_library have
been moved to the impl_library_visibility property and the special
//visibility:override value has been prepended to prevent it from
inheriting the values from the visibility property.

Visibility rules set for the stubs (via stubs_library_visibility)
property have been moved to the visibility property.

Bug: 155164730
Test: m nothing
Exempt-From-Owner-Approval: Build cleanup
Change-Id: Icc9bc5a9ef86cf7ba0f15c2b2a4abd596ec9f640
Merged-In: Icc9bc5a9ef86cf7ba0f15c2b2a4abd596ec9f640
(cherry picked from a17cf677b5)
2020-06-02 11:41:07 +01:00
Paul Duffin
6812c1b1ee Switch to standard naming scheme
Removes use of the special framework-modules naming scheme.

Bug: 155164730
Test: m java
Exempt-From-Owner-Approval: Build cleanup.
Change-Id: I3b78fcbcacc3df787e171d6eedeef1e51b087615
Merged-In: I0c31e2183353dfb5bd49f04f3455cb7b10be6866
(cherry picked from 8b864fb45ce79051437f13c2a19510718ea3b7aa)
2020-06-02 06:53:53 +00:00
markchien
03b52fcfd5 Gate exemptFromEentitlementCheck by Network_STACK permission
Shell has TETHER_PRIVILEGED permission. To avoid any service to adopt
shell identity by lunching service with Shell process, gate
exemptFromEentitlementCheck by NETWORK_STACK.

Bug: 157702014
Test: atest TetheringCoverageTests
Change-Id: I6ddfda23d36ea9981e3e1eb5a87767f452a65852
Merged-In: I6ddfda23d36ea9981e3e1eb5a87767f452a65852
2020-06-02 14:46:06 +08:00
Treehugger Robot
507e5320f1 Merge "Gate exemptFromEentitlementCheck by Network_STACK permission" am: 650c23fdc2 am: dc1e33c9b3
Original change: undetermined

Change-Id: Ic64b4551e70338bb1b81f9d9471f85cfa1c30bf3
2020-06-02 04:01:09 +00:00
Treehugger Robot
dc1e33c9b3 Merge "Gate exemptFromEentitlementCheck by Network_STACK permission" am: 650c23fdc2
Original change: undetermined

Change-Id: I7dc479b54bbcb511b68a59d6f70f880e32c309bc
2020-06-02 03:48:14 +00:00
Treehugger Robot
650c23fdc2 Merge "Gate exemptFromEentitlementCheck by Network_STACK permission" 2020-06-02 03:31:24 +00:00
Nucca Chen
4f0ab53a43 Merge changes from topic "tether_offload_data_limit" am: 4155d2a6ad am: ff06ea7122
Original change: undetermined

Change-Id: Id9ba87f230591ad969d9de4661e180ac1184f5e3
2020-06-02 00:13:51 +00:00
Hungming Chen
0a7c8f1ec0 [BOT.5] Move class Ipv6ForwardingRule from IpServer to the coordinator am: b150b87fa9 am: b0f59dbbdf
Original change: undetermined

Change-Id: I3b54b2e2c0f9353367c6a096ccfebf17a47f5bc6
2020-06-02 00:13:45 +00:00