Commit Graph

934 Commits

Author SHA1 Message Date
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
Hungming Chen
a3c8a7503c [BOT.3] Add unit test for polling network stats in the coordinator am: 7997d691fe am: 5fd9fcce13
Original change: undetermined

Change-Id: Ib9ad6e1ab139295ef603e7c8ec86d689ea9801af
2020-06-02 00:13:40 +00:00
Hungming Chen
8bebb8eaa5 [BOT.2] Create a coordinator and stats provider to provide tether stats am: 68f1c2a63f am: eba638f4a9
Original change: undetermined

Change-Id: Ic7fe1a8c0d16c8b435269a1973687655a9c7412b
2020-06-02 00:13:26 +00:00
Hungming Chen
e5682257be [BOT.1] Add a class ForwardedStats in TetheringUtils am: d0216998a4 am: e624037dd3
Original change: undetermined

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

Change-Id: I0cfdf1e9f68057a4066b09be47d56e7537b2aa3d
2020-06-01 23:53:04 +00:00
Hungming Chen
5fd9fcce13 [BOT.3] Add unit test for polling network stats in the coordinator am: 7997d691fe
Original change: undetermined

Change-Id: Ic3b56365d7f1dbde23e0d1b902a21a3de3ad7327
2020-06-01 23:52:56 +00:00
Hungming Chen
eba638f4a9 [BOT.2] Create a coordinator and stats provider to provide tether stats am: 68f1c2a63f
Original change: undetermined

Change-Id: I21fe5385b8cdfe2ce2ff982884d72a398183bde3
2020-06-01 23:52:53 +00:00
Hungming Chen
e624037dd3 [BOT.1] Add a class ForwardedStats in TetheringUtils am: d0216998a4
Original change: undetermined

Change-Id: Iaba770ec498db0732246549bb276dfcd8f3bc90a
2020-06-01 23:52:45 +00:00
Paul Hu
5bc72a4816 [automerger skipped] Merge "Use Class#getSimpleName instead of KClass#getSimpleName" am: aac3b2ead0 am: ae18ba8e91 -s ours
am skip reason: Change-Id I49bc336a276d30152402eba926cc583bc81e8e5c with SHA-1 6c633de59e is in history

Change-Id: I3daa7e0ca0e035c83d1e2f2ac839cebfae33d2fe
2020-06-01 07:16:32 +00:00
Paul Hu
ae18ba8e91 Merge "Use Class#getSimpleName instead of KClass#getSimpleName" am: aac3b2ead0
Change-Id: Ica9acc5b0df4a781a05ae49122978b8ce85b85d3
2020-06-01 06:59:48 +00:00
Paul Hu
aac3b2ead0 Merge "Use Class#getSimpleName instead of KClass#getSimpleName" 2020-06-01 06:43:13 +00:00
Paul Duffin
4a93d5ea3a Merge "Clean up the visibility rules for framework modules" into rvc-dev am: 07555b53a5
Change-Id: I385b2d13d96fd34c8fe031994d56de3763fe3917
2020-05-31 14:25:37 +00:00
Paul Duffin
a17cf677b5 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
2020-05-31 13:45:51 +01:00
Mark Chien
a6d948cf73 [automerger skipped] Merge "Tethering: ensure downstream prefix do not conflict with upstream" into rvc-dev am: 495145fa63 -s ours
am skip reason: Change-Id Ib45b87bcd9eeb5da03fb7ec90b1af9ca53998cf5 with SHA-1 c9daba32f7 is in history

Change-Id: I99ca97c91bf2f3705b7295d14f5ddb84d29c84c0
2020-05-30 14:46:40 +00:00
Mark Chien
2ecd333f59 Tethering: ensure downstream prefix do not conflict with upstream
- Add New class PrivateAddressCoordinator to coordinate the private
  address conflict problem.
- Downstream prefix would be random in 192.168.0.0/24 ~
  192.168.255.0/24.
- If new upstream prefix is conflict with existing downstream prefix,
  downstream would be kicked out and it would request a new one.
- The last conflict upstream prefixes would be blacklist. Avoid to
select downstream prefix which is conflict with prefixes in blacklist.

Bug: 130879722
Test: -build, flash, boot
      -atest TetheringTests

Merged-In: Ib45b87bcd9eeb5da03fb7ec90b1af9ca53998cf5
Change-Id: Ib45b87bcd9eeb5da03fb7ec90b1af9ca53998cf5
2020-05-30 03:42:57 +00:00
Mark Chien
0e1a1f4c68 Merge "Tethering: ensure downstream prefix do not conflict with upstream" am: 7bf51619d8 am: 3cefc6e048
Change-Id: Ib70a471603d850069aae029dea7fc09a9b28f4bc
2020-05-29 22:07:37 +00:00
Mark Chien
3cefc6e048 Merge "Tethering: ensure downstream prefix do not conflict with upstream" am: 7bf51619d8
Change-Id: I55ff57be344e17d3ce16cda7291f7f29f26191b1
2020-05-29 21:42:11 +00:00
Hungming Chen
b150b87fa9 [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
Change-Id: I85316ef09ff3c9389ded11dcc384493d699da48e
2020-05-29 20:23:40 +08:00
Hungming Chen
7997d691fe [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
Change-Id: Ib1756159a2047c5db7d31359b0f288f840bd1bb1
2020-05-29 20:23:31 +08:00
Hungming Chen
68f1c2a63f [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

Change-Id: I22e71f87b67668f7e733e4f215d93bf5b2c9380d
2020-05-29 20:23:22 +08:00
Hungming Chen
d0216998a4 [BOT.1] Add a class ForwardedStats in TetheringUtils
Used to record offload transmitted/received forwarded bytes/packets.

Bug: 150736748
Test: new test BpfTetheringCoordinatorTest
Change-Id: Ie8725f95c3ddd5fb3811d479de32d2c1f7dcb493
2020-05-29 20:23:14 +08:00
Chalard Jean
601193a68e Merge "Use Class#getSimpleName instead of KClass#getSimpleName" into rvc-dev am: 88c69840cd
Change-Id: Ice90dba6408eca9c031592fd4933a107fdbbec2f
2020-05-29 09:24:53 +00:00
Chalard Jean
88c69840cd Merge "Use Class#getSimpleName instead of KClass#getSimpleName" into rvc-dev 2020-05-29 09:16:28 +00:00
Mark Chien
f1d99b078a [automerger skipped] Merge "Extend timeout for requesting tethered interface" into rvc-dev am: 40a9eb779b -s ours
am skip reason: Change-Id I45e8e8d737486def9d0de8943ec7f09ca0942a0b with SHA-1 908518d8e2 is in history

Change-Id: If8c7dd5b84efc54b5ba4fcbcbed18c1f18009613
2020-05-29 06:25:12 +00:00
Mark Chien
40a9eb779b Merge "Extend timeout for requesting tethered interface" into rvc-dev 2020-05-29 06:11:12 +00:00
Mark Chien
7bf51619d8 Merge "Tethering: ensure downstream prefix do not conflict with upstream" 2020-05-29 03:34:45 +00:00
paulhu
086f24626c Use Class#getSimpleName instead of KClass#getSimpleName
KClass#getSimpleName need refer to kotlin-reflect.jar which need
include it in Andorid.bp. However, it's not necessary to use
KClass#getSimpleName but use Class#getSimpleName instead.

Test: atest TetheringTests
Bug: 157527499
Change-Id: I49bc336a276d30152402eba926cc583bc81e8e5c
Merged-In: I49bc336a276d30152402eba926cc583bc81e8e5c
2020-05-29 00:29:22 +08:00
Paul Duffin
027e07d72d [automerger skipped] Merge "Switch framework-tethering to use java_sdk_library" am: b5bf211753 am: d65294b376 -s ours
am skip reason: Change-Id Id1c2e848430c49a2da7402244814cd084f5da77c with SHA-1 cbac8e0b63 is in history

Change-Id: I1f0759e84c6f7e17427165fc6db9dd7531284e8a
2020-05-28 15:29:34 +00:00
Paul Duffin
d65294b376 Merge "Switch framework-tethering to use java_sdk_library" am: b5bf211753
Change-Id: I9e5526a23087dd9d9610b4ce5e29e28a7dfdda4f
2020-05-28 15:18:36 +00:00
Paul Duffin
b5bf211753 Merge "Switch framework-tethering to use java_sdk_library" 2020-05-28 15:01:46 +00:00
Paul Duffin
2dae272903 Switch framework-tethering to use java_sdk_library
The names of the individual modules do not quite follow the pattern
that java_sdk_library uses so this temporarily sets the following:
    naming_scheme: "frameworks-modules"

That causes java_sdk_library to use a naming scheme that matches the
one used by the individual modules of this. It will be cleaned up
later.

Part of the purpose of the java_sdk_library is to hide the
implementation code and force users of the library to depend on stubs
for a well defined API. Ideally, it would allow access to the
implementation in those cases where it is safe, e.g. from within the
same APEX, or from tests for the implementation. Unfortunately, due to
limitations in the build it does not yet have enough information to
make that decision correctly which means that any code that needs to
compile against the implementation is broken which would prevent us
from converting the module to java_sdk_library.

However, the only way to provide the additional information to allow
the implementation to be correctly exposed is to convert the modules
to java_sdk_library; a cycle.

In order to break that cycle the java_sdk_library creates a special
<module>.impl target which is used directly by tests and any other code
that needs it. Once all the modules have been converted to a
java_sdk_library then we can resolve the limitations in the build and
remove the direct references to <module>.impl.

Test: m update-api
Bug: 155164730
Merged-In: If5c115f482751f9f4b5f047e9e401a18e36799ef
Merged-In: Id1c2e848430c49a2da7402244814cd084f5da77c
Change-Id: Id1c2e848430c49a2da7402244814cd084f5da77c
2020-05-28 13:14:52 +00:00
Paul Duffin
6216a6904e Merge "Switch framework-tethering to use java_sdk_library" into rvc-dev am: 5e988a656f
Change-Id: Icf8a3b8eed7e85065d54f2f48d8cb6f05974de00
2020-05-28 13:09:48 +00:00
Paul Duffin
cbac8e0b63 Switch framework-tethering to use java_sdk_library
The names of the individual modules do not quite follow the pattern
that java_sdk_library uses so this temporarily sets the following:
    naming_scheme: "frameworks-modules"

That causes java_sdk_library to use a naming scheme that matches the
one used by the individual modules of this. It will be cleaned up
later.

Part of the purpose of the java_sdk_library is to hide the
implementation code and force users of the library to depend on stubs
for a well defined API. Ideally, it would allow access to the
implementation in those cases where it is safe, e.g. from within the
same APEX, or from tests for the implementation. Unfortunately, due to
limitations in the build it does not yet have enough information to
make that decision correctly which means that any code that needs to
compile against the implementation is broken which would prevent us
from converting the module to java_sdk_library.

However, the only way to provide the additional information to allow
the implementation to be correctly exposed is to convert the modules
to java_sdk_library; a cycle.

In order to break that cycle the java_sdk_library creates a special
<module>.impl target which is used directly by tests and any other code
that needs it. Once all the modules have been converted to a
java_sdk_library then we can resolve the limitations in the build and
remove the direct references to <module>.impl.

Test: m Tethering InProcessTethering checkapi
Bug: 155164730
Merged-In: If5c115f482751f9f4b5f047e9e401a18e36799ef
Change-Id: Id1c2e848430c49a2da7402244814cd084f5da77c
2020-05-28 12:50:04 +01:00
paulhu
6c633de59e Use Class#getSimpleName instead of KClass#getSimpleName
KClass#getSimpleName need refer to kotlin-reflect.jar which need
include it in Andorid.bp. However, it's not necessary to use
KClass#getSimpleName but use Class#getSimpleName instead.

Test: atest TetheringTests
Bug: 157527499
Change-Id: I49bc336a276d30152402eba926cc583bc81e8e5c
2020-05-28 19:17:45 +08:00
Treehugger Robot
9c9c600c16 Extend timeout for requesting tethered interface
Extend the timeout to lower the EthernetTetheringTest flaky.

Besides, also explicitly exempt entitlement check in
EtetherntTetheringTest because it do not test tethering upstream
currently. Thus, the tests would not be interrupted by entitlement
check if test SIM is entitlement required.

Bug: 156713866
Test: TetheringCoverageTests, CtsTehteringTest

Merged-In: I45e8e8d737486def9d0de8943ec7f09ca0942a0b
Change-Id: I45e8e8d737486def9d0de8943ec7f09ca0942a0b
2020-05-28 09:17:28 +00:00
Treehugger Robot
99466515f8 Merge "Extend timeout for requesting tethered interface" am: 95386f9ebd am: 0c71ef1a6f
Change-Id: I577127f79391a4859dc7324b8cc47729a807a165
2020-05-28 08:50:08 +00:00
Treehugger Robot
0c71ef1a6f Merge "Extend timeout for requesting tethered interface" am: 95386f9ebd
Change-Id: I2336a5aeeda958048d6e8b24ff0015ab45a66397
2020-05-28 08:34:24 +00:00
Treehugger Robot
95386f9ebd Merge "Extend timeout for requesting tethered interface" 2020-05-28 08:19:10 +00:00
markchien
908518d8e2 Extend timeout for requesting tethered interface
Extend the timeout to lower the EthernetTetheringTest flaky.

Besides, also explicitly exempt entitlement check in
EtetherntTetheringTest because it do not test tethering upstream
currently. Thus, the tests would not be interrupted by entitlement
check if test SIM is entitlement required.

Bug: 156713866
Test: TetheringCoverageTests, CtsTehteringTest

Change-Id: I45e8e8d737486def9d0de8943ec7f09ca0942a0b
2020-05-28 12:13:14 +08:00
markchien
c9daba32f7 Tethering: ensure downstream prefix do not conflict with upstream
- Add New class PrivateAddressCoordinator to coordinate the private
  address conflict problem.
- Downstream prefix would be random in 192.168.0.0/24 ~
  192.168.255.0/24.
- If new upstream prefix is conflict with existing downstream prefix,
  downstream would be kicked out and it would request a new one.
- The last conflict upstream prefixes would be blacklist. Avoid to
select downstream prefix which is conflict with prefixes in blacklist.

Bug: 130879722
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: Ib45b87bcd9eeb5da03fb7ec90b1af9ca53998cf5
2020-05-27 21:36:01 +08:00
Mark Chien
967f044f83 [automerger skipped] Merge "Remove platform cert from Tethering tests" into rvc-dev am: 041f00f991 -s ours
am skip reason: Change-Id I7c539f1f4a447b5913164b222601c6113c6fe645 with SHA-1 e79e02e5c4 is in history

Change-Id: Ib11ad54c4a32b96ca60530c0ea0806fe2f24b67b
2020-05-27 12:16:59 +00:00
Treehugger Robot
369fd25f79 Remove platform cert from Tethering tests
Bug: 156866746
Test: atest TetheringTests, TetheringCoverageTests
Merged-In: I7c539f1f4a447b5913164b222601c6113c6fe645
Change-Id: I7c539f1f4a447b5913164b222601c6113c6fe645
2020-05-27 09:27:27 +00:00
Treehugger Robot
b4d272b13e Merge "Remove platform cert from Tethering tests" am: a5e8d3f73d am: e88c5146da
Change-Id: I51317f3769d60393a21ced8a194f253f97ef9ffd
2020-05-27 04:17:44 +00:00
Treehugger Robot
e88c5146da Merge "Remove platform cert from Tethering tests" am: a5e8d3f73d
Change-Id: If2177a9f24a9074ede3b90e083dbf6f3c88c1775
2020-05-27 04:07:39 +00:00
Mark Chien
ec52d43f0b [automerger skipped] Merge "Adjust TTL for ipv6 tethering" into rvc-dev am: d0355d7d40 -s ours
am skip reason: Change-Id I7f2696a642f96c6aafb5613b980bf5bcdd08bbda with SHA-1 d63c4f35de is in history

Change-Id: I76feb39b69ebb2d45873807a878e4d6c364b0a9b
2020-05-26 01:38:10 +00:00
markchien
e79e02e5c4 Remove platform cert from Tethering tests
Bug: 156866746
Test: atest TetheringTests, TetheringCoverageTests
Change-Id: I7c539f1f4a447b5913164b222601c6113c6fe645
2020-05-26 09:31:16 +08:00
Mark Chien
cd309138ce Adjust TTL for ipv6 tethering
If upstream is cellular, set the TTL in Router Advertisements to
"network-set TTL - 1" for carrier requirement. For other non-cellular
upstream, set TTL as "network-set TTL + 1" to preventing arbitrary
distinction between tethered and untethered traffic.

Bug: 154776299
Test: atest TetheringTests

Merged-In: I7f2696a642f96c6aafb5613b980bf5bcdd08bbda
Change-Id: I7f2696a642f96c6aafb5613b980bf5bcdd08bbda
2020-05-25 13:27:35 +00:00
Mark Chien
6cd572faa2 [automerger skipped] Merge "TetheringServiceTest: test caller permission" into rvc-dev am: 5026370372 -s ours
am skip reason: Change-Id I7beea3f011d930e433443ed62d772a3f8cce5d78 with SHA-1 2a1656d3f8 is in history

Change-Id: I5a2a86de03bc825057445d8caa26b4ba30e91f48
2020-05-25 10:51:48 +00:00
Mark Chien
5026370372 Merge "TetheringServiceTest: test caller permission" into rvc-dev 2020-05-25 10:40:03 +00:00
Xiao Ma
0071dfee6e [automerger skipped] Merge "Support MirrorLink DHCPDECLINE." into rvc-dev am: 3ab17953c6 -s ours
am skip reason: Change-Id If2871bf899cb5890bbfee18063a194c92b6f474e with SHA-1 4455d6b1bd is in history

Change-Id: I69ac4260782960199c08369c6fb99f62251e7222
2020-05-25 09:15:37 +00:00