Commit Graph

171 Commits

Author SHA1 Message Date
Chalard Jean
0e73340084 Merge "[TNU06] Add roaming notification" am: 565160c302 am: cb8aaf7123
Change-Id: Ia02ca67be0a103e980be6a4c7a0ed66836716d51
2020-04-17 16:28:53 +00:00
paulhu
f98918fc2c [TNU06] Add roaming notification
Warn user of potential data charges if the backhaul is
cellular and user is roaming.

Bug: 145629001
Test: atest TetheringTests
Change-Id: I74b4f87c2f6aad09e05d3f2a779f880396885953
2020-04-17 21:25:54 +08:00
Paul Hu
fc5e8196c9 Merge "[TNU05.1] Address aosp/1237036 leftover comments" am: 0ca532a78c am: 130ce39732
Change-Id: I56a0ce98beed6797486e26a5148ee3685a3ae0ef
2020-04-16 09:04:57 +00:00
Paul Hu
0ca532a78c Merge "[TNU05.1] Address aosp/1237036 leftover comments" 2020-04-16 08:25:24 +00:00
paulhu
dc5c86ddd9 [TNU05.1] Address aosp/1237036 leftover comments
Bug: 147818698
Test: atest TetheringTests
Change-Id: Ife738339aeae00d2063fea6918b50204daef24fc
2020-04-16 14:39:12 +08:00
Paul Hu
8e8224c97b Merge "Add TetheringCoverageTests" 2020-04-16 06:00:07 +00:00
Paul Hu
ae92667709 Merge "[TNU05] Add no upstream notification" am: cef08983cf am: eabd2c388f
Change-Id: Ib65eeed784189e669cc5c22537671deb8d35a9e5
2020-04-16 01:59:03 +00:00
Amit Mahajan
07a1871e8c DO NOT MERGE Remove references of telephony-stubs.
Since it's not used for now.

Test: TH
Bug: 153304048
Change-Id: I1812818c3d49463c3840a98212bbab58a110359a
2020-04-15 14:38:58 -07:00
paulhu
1b404e56ae Add TetheringCoverageTests
Bug: 148636687
Test: atest TetheringCoverageTests
      atest TetheringTests
      atest TetheringIntegrationTests
      atest NetworkStackTests
      atest CtsTetheringTest
Change-Id: I1f2a50f16894b05e988476520ba25baba0b60d88
Merged-In: I1f2a50f16894b05e988476520ba25baba0b60d88
2020-04-15 00:50:01 +00:00
paulhu
481512a6b0 [TNU05] Add no upstream notification
Reminder user of unavailable tethering status if there is no
internet access.

Bug: 147818698
Test: atest TetheringTests
Change-Id: Ic6557f9f7703337596100cd6a477fd7239217166
2020-04-15 01:25:37 +08:00
paulhu
4357b93dc0 Add TetheringCoverageTests
Bug: 148636687
Test: atest TetheringCoverageTests
      atest TetheringTests
      atest TetheringIntegrationTests
      atest NetworkStackTests
      atest CtsTetheringTest
Change-Id: I1f2a50f16894b05e988476520ba25baba0b60d88
2020-04-14 14:14:33 +00:00
Lorenzo Colitti
8bc1e54d48 Don't crash when receiving an RTM_DELNEIGH or NUD_FAILED.
These events don't have MAC addresses, so the code attempts to
create an Ipv6ForwardingRule with a null MAC address. This
crashes when attempting to get the raw MAC address bytes to send
to netd in the TetherOffloadRuleParcel.

This was not caught by unit tests because the test exercise this
code path in a way that is not correct (by sending RTM_DELNEIGH
and NUD_FAILED events with MAC addresses). Fix the unit tests to
properly pass in null MAC addresses for these events.

Bug: 153697068
Test: fixed existing tests to be more realistic
Merged-In: I26d89a81f1c448d9b4809652b079a5f5eace3924
Change-Id: I26d89a81f1c448d9b4809652b079a5f5eace3924
2020-04-14 09:55:17 +00:00
Lorenzo Colitti
17917f7bb0 Merge "Don't crash when receiving an RTM_DELNEIGH or NUD_FAILED." 2020-04-14 08:22:30 +00:00
markchien
503be61a6e Change tethering file structure to respect its package name
Bug: 145099347
Test: atest TetheringTests
      atest CtsTetheringTest
Change-Id: I7401c550fbafd17a5ed2d925b5d0e17e358af467
Merged-In: I7401c550fbafd17a5ed2d925b5d0e17e358af467
2020-04-14 14:33:45 +08:00
Lorenzo Colitti
210ac1e145 Don't crash when receiving an RTM_DELNEIGH or NUD_FAILED.
These events don't have MAC addresses, so the code attempts to
create an Ipv6ForwardingRule with a null MAC address. This
crashes when attempting to get the raw MAC address bytes to send
to netd in the TetherOffloadRuleParcel.

This was not caught by unit tests because the test exercise this
code path in a way that is not correct (by sending RTM_DELNEIGH
and NUD_FAILED events with MAC addresses). Fix the unit tests to
properly pass in null MAC addresses for these events.

Bug: 153697068
Test: fixed existing tests to be more realistic
Change-Id: I26d89a81f1c448d9b4809652b079a5f5eace3924
2020-04-14 15:02:17 +09:00
markchien
711d8b4e4a Change tethering file structure to respect its package name
Bug: 145099347
Test: atest TetheringTests
      atest CtsTetheringTest
Change-Id: I7401c550fbafd17a5ed2d925b5d0e17e358af467
2020-04-14 02:09:51 +00:00
Treehugger Robot
86d212b4c8 Assign specific client address to dhcp server
Bug: 141256482
Test: manual
      atest TetheringTests

Merged-In: Ief76c98c843ba5420224cbf0f34464f366c891b7
Change-Id: Ief76c98c843ba5420224cbf0f34464f366c891b7
2020-04-10 10:03:20 +00:00
Paul Hu
bade48b1b7 Address aosp/1274403 leftover comment
Bug: 152828142
Test: atest EntitlementManagerTest

Change-Id: I81f2d268c9f26bc4488b06032477a73d071f73f8
Merged-In: I81f2d268c9f26bc4488b06032477a73d071f73f8
(cherry picked from commit 9fe0a868e9)
2020-04-09 02:13:32 +00:00
Automerger Merge Worker
5444ade84e Fix TetheringIntegrationTests failure
Bug: 150644681
Test: atest TetheringIntegrationTests
Change-Id: I5a537eca9b1aab3694a11a2dab147a31f289314c
Merged-In: I5a537eca9b1aab3694a11a2dab147a31f289314c
(cherry picked from commit f626b8a538)
2020-04-08 08:17:20 +00:00
Paul Hu
033bccd37d Merge "Address aosp/1274403 leftover comment" 2020-04-08 07:36:35 +00:00
Paul Hu
43a219ee83 Merge "Fix TetheringIntegrationTests failure" 2020-04-08 06:12:29 +00:00
paulhu
e03ec757ee Address aosp/1274403 leftover comment
Bug: 152828142
Test: atest EntitlementManagerTest

Change-Id: I81f2d268c9f26bc4488b06032477a73d071f73f8
2020-04-08 11:45:08 +08:00
paulhu
114dab3670 Fix TetheringIntegrationTests failure
Bug: 150644681
Test: atest TetheringIntegrationTests
Change-Id: I5a537eca9b1aab3694a11a2dab147a31f289314c
2020-04-08 09:57:57 +08:00
Mark Chien
09ad80f93f Add TetheringServiceTest unitest
Bug: 145490751
Test: atest TetheringTests

Change-Id: Ia9e3232467c7db0e566cced84f3c72bbcd6512d6
Merged-In: I68cd403302848c041444e6d47652435d67f59273
(cherry picked from commit 790a4dd7d3)
2020-04-08 01:02:39 +00:00
Mark Chien
507e5f0959 Merge "Add TetheringServiceTest unitest" 2020-04-07 15:39:38 +00:00
Mark Chien
1d26c937fd Merge "Add IPv6TetheringCoordinator unit test" into rvc-dev 2020-04-07 07:50:40 +00:00
Paul Hu
bc60cca4dd Merge "Fix EntitlementManager issues" into rvc-dev 2020-04-07 04:37:30 +00:00
Mark Chien
744593b28e Add IPv6TetheringCoordinator unit test
Bug: 148636687
Test: atest IPv6TetheringCoordinatorTest

Change-Id: I1ba30bb524cbc0cc2782ce1702f9889c0d8a7576
Merged-In: I939323ce09adb9c66b1e2b83d58b0f892aa8f011
(cherry picked from commit 368c56dd71)
2020-04-07 04:33:24 +00:00
Lorenzo Colitti
7ec6f17b2b Add a test for static IPv4 address tethering configuration.
Bug: 150644681
Test: test-only change
Merged-In: I8f4a99da2351fdb5467f561a9732b14a8ebf674b
Change-Id: I8f4a99da2351fdb5467f561a9732b14a8ebf674b
2020-04-07 02:21:00 +00:00
Lorenzo Colitti
76602035b9 Use CompletableFuture instead of a latch.
Addresses review comments on aosp/1260100.

Bug: 150644681
Test: test-only change
Merged-In: Ia73ba8a121a3744a5e36795d2d2bff2f099c1394
Change-Id: Ia73ba8a121a3744a5e36795d2d2bff2f099c1394
2020-04-07 02:20:35 +00:00
Paul Hu
0409ac518c Fix EntitlementManager issues
1. Add TETHERING_ETHERNET to vaild downstream type. So starting
   ethernet tethering will do entitlement check as well.
2. Ignore request with invalid downstream type on
   handleRequestLatestTetheringEntitlementValue()

Bug: 152828758
Bug: 152828142
Test: atests TetheringTests CtsTetheringTest

Change-Id: Id0cb59cc4681f5ffbde7be54de05a05e46f0ffb8
Merged-In: Id0cb59cc4681f5ffbde7be54de05a05e46f0ffb8
(cherry picked from commit c502e050fd)
2020-04-07 01:23:49 +00:00
Lorenzo Colitti
0fb584ba6f Migrate to TetherOffloadRuleParcel in IpServer
The netd tethering offload IPCs are changing from taking a list
of primitives to taking a TetherOffloadRuleParcel. Modify their
only caller.

Bug: 140541991
Test: atest IpServerTest
Merged-In: I83718c80ef9d31199c87021b4dd5821717fd5ba5
Change-Id: I83718c80ef9d31199c87021b4dd5821717fd5ba5
2020-04-06 15:45:58 +00:00
Mark Chien
c8b4f60e85 Merge "Add IPv6TetheringCoordinator unit test" 2020-04-06 15:25:37 +00:00
markchien
b2d27d39ed Add IPv6TetheringCoordinator unit test
Bug: 148636687
Test: atest IPv6TetheringCoordinatorTest
Change-Id: I939323ce09adb9c66b1e2b83d58b0f892aa8f011
2020-04-06 18:25:41 +08:00
Lorenzo Colitti
74107e4dd1 Merge "Migrate to TetherOffloadRuleParcel in IpServer" 2020-04-06 08:40:51 +00:00
Paul Hu
14a8cf0f5e Merge "Fix EntitlementManager issues" 2020-04-06 07:33:26 +00:00
markchien
b174e14fa0 Add TetheringServiceTest unitest
Bug: 145490751
Test: atest TetheringTests
Change-Id: I68cd403302848c041444e6d47652435d67f59273
2020-04-06 12:02:17 +08:00
Lorenzo Colitti
dbd215ede1 Migrate to TetherOffloadRuleParcel in IpServer
The netd tethering offload IPCs are changing from taking a list
of primitives to taking a TetherOffloadRuleParcel. Modify their
only caller.

Bug: 140541991
Test: atest IpServerTest
Change-Id: I83718c80ef9d31199c87021b4dd5821717fd5ba5
2020-04-04 16:24:58 +09:00
Lorenzo Colitti
0e127d1f66 Add a test for static IPv4 address tethering configuration.
Bug: 150644681
Test: test-only change
Change-Id: I8f4a99da2351fdb5467f561a9732b14a8ebf674b
2020-04-03 10:47:47 +09:00
Lorenzo Colitti
c9bdb4aa29 Merge "Add an Ethernet tethering test." into rvc-dev 2020-04-01 03:56:28 +00:00
paulhu
0ab66f6cd0 Fix EntitlementManager issues
1. Add TETHERING_ETHERNET to vaild downstream type. So starting
   ethernet tethering will do entitlement check as well.
2. Ignore request with invalid downstream type on
   handleRequestLatestTetheringEntitlementValue()

Bug: 152828758
Bug: 152828142
Test: atests TetheringTests CtsTetheringTest

Change-Id: Id0cb59cc4681f5ffbde7be54de05a05e46f0ffb8
2020-03-31 18:01:54 +08:00
Treehugger Robot
390f5b3bec Merge "Assign specific client address to dhcp server" 2020-03-30 03:38:46 +00:00
Lorenzo Colitti
a0a5b5bd23 Use CompletableFuture instead of a latch.
Addresses review comments on aosp/1260100.

Bug: 150644681
Test: test-only change
Change-Id: Ia73ba8a121a3744a5e36795d2d2bff2f099c1394
2020-03-27 23:51:48 +09:00
Mark Chien
674a012c96 Register callback and receiver after tethering is created
Tethering service is created after boot complete which means most of
the services are ready before tethering. Once tethering register the
callback, callback event may come-in immediately. Make sure all of
tethering related object is created, then register the callback,
receiver, or listener.

Bug: 149965121
Test: atest TetheringTests
      manual on/off tethering

Change-Id: Ifdc427341db7d1313ad4b61207a96ab379d100aa
Merged-In: I3941a186770679e7b476073d774e2310e25e44c6
(cherry picked from commit 285be1ee93)
2020-03-27 14:01:49 +00:00
Lorenzo Colitti
51db04530a Add an Ethernet tethering test.
This test uses EthernetManager's ability to use test network
interfaces to test tethering. This provides a fairly realistic
integration test for Tethering and its callbacks, IpServer and
DhcpServer, and so on.

It is in a new integration/ directory under Tethering because I
didn't really know where to put it. It's fast enough to run in
presubmit, but it didn't seem to be appropriate to call it a
unit test, and in the future we could also use this test to do
some limited testing of real Ethernet tethering as well.

Bug: 150644681
Test: atest TetheringIntegrationTests:EthernetTetheringTest --rerun-until-failure 100
Merged-In: Ifcda70b73848b1fd4c26b031e53f0a6500cc93d4
Change-Id: Ifcda70b73848b1fd4c26b031e53f0a6500cc93d4
2020-03-27 11:39:50 +00:00
Lorenzo Colitti
897ebfbc82 Merge "Add an Ethernet tethering test." 2020-03-27 10:37:18 +00:00
Mark Chien
8211dbba72 Merge "Register callback and receiver after tethering is created" 2020-03-27 08:31:11 +00:00
Lorenzo Colitti
a9f7e18546 Add an Ethernet tethering test.
This test uses EthernetManager's ability to use test network
interfaces to test tethering. This provides a fairly realistic
integration test for Tethering and its callbacks, IpServer and
DhcpServer, and so on.

It is in a new integration/ directory under Tethering because I
didn't really know where to put it. It's fast enough to run in
presubmit, but it didn't seem to be appropriate to call it a
unit test, and in the future we could also use this test to do
some limited testing of real Ethernet tethering as well.

Bug: 150644681
Test: atest TetheringIntegrationTests:EthernetTetheringTest --rerun-until-failure 100
Change-Id: Ifcda70b73848b1fd4c26b031e53f0a6500cc93d4
2020-03-27 17:16:30 +09:00
markchien
031d34c1f6 Register callback and receiver after tethering is created
Tethering service is created after boot complete which means most of
the services are ready before tethering. Once tethering register the
callback, callback event may come-in immediately. Make sure all of
tethering related object is created, then register the callback,
receiver, or listener.

Bug: 149965121
Test: atest TetheringTests
      manual on/off tethering

Change-Id: I3941a186770679e7b476073d774e2310e25e44c6
2020-03-27 08:13:28 +00:00
Paul Hu
f950dc9f24 [TNU04] Add tethering restricted notification
If tethering is restricted to the user, show restricted
notification to notify the user.

Bug: 122085773
Test: atest TetheringTests
Change-Id: Ic5baca2d6102886f4c3530ce1e321b5dab6ea9d7
Merged-In: Ic5baca2d6102886f4c3530ce1e321b5dab6ea9d7
(cherry picked from aosp/1188867)
2020-03-26 02:01:37 +00:00