Commit Graph

546 Commits

Author SHA1 Message Date
James Mattis
a5f724dfdd Changes to make eth service methods more testable
Updates to make methods in EthernetServiceImpl that rely on
EthernetTracker unit testable. This CL also includes added tests for
such methods in EthernetServiceImplTest.

Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I63969b60cc4cf9d391e2cd21d02e1bdc8988aba8
2022-01-05 14:59:56 -08:00
James Mattis
cc1dac61b3 Eth Service updates to validate net mgmt calls
Updates to ethernet service code to validate calls to ethernet network
management APIs.

Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: I66b91c6d12e6859de33760ab21bb00f1477720e8
2022-01-05 13:50:42 -08:00
Xiao Ma
39e7a77991 Remove INetworkManagementService usage from EthernetTracker.
Ethernet service related files are going to be moved into Connectivity
module. INetworkManagementService won't be visible to EthernetTracker
since it's a hidden class. Alternatively, use INetd APIs to replace
INetworkManagementService usages, including below API changes:

- mNMService.listInterfaces -> mNetd.interfaceGetList

- mNMService.getInterfaceConfig -> NetdUtils.getInterfaceConfigParcel
  - remove InterfaceConfiguration usage, use NetdUtils APIs instead.

- mNMService.registerObserver -> mNetd.registerUnsolicitedEventListener
  - for this API change, also replace the parameter BaseNetworkObserver
    class with BaseNetdUnsolicitedEventListener class.

Bug: 210586283
Test: atest FrameworksNetTests
Test: atest EthernetServiceTests
Change-Id: Ic14c55a6a36b774006931a6fbcbfdec0c51a16e9
2021-12-24 08:58:47 +00:00
James Mattis
5fac76d3a2 Stubbed net mgmt API methods in eth service
Stubbed API methods in EthernetServiceImpl to be used for network
management.

Bug: 210487086
Bug: 210485380
Test: make, flash and boot and atest EthernetServiceTests
Change-Id: I8bd5a6eca07d00e0f155b71e2960371989a13013
2021-12-22 09:57:44 -08:00
Xiao Ma
7ab9fb8f1a Merge "Replace Preconditions.checkNotNull with Objects.requireNonNull." 2021-12-22 01:42:21 +00:00
Xiao Ma
3a26d1b8ed Import InterfaceParams class from f/libs/net/common.
Ethernet service related files are going to be moved into Connectivity
mainline module. Import InterfaceParams class in EthernetNetworkFactory
from f/libs/net/common, which is visible to Connectivity module.

Bug: 210586283
Test: atest EthernetServiceTests
Change-Id: I98ebb04cc3c2b685464e7f2689424794957088b3
2021-12-21 08:06:07 +00:00
Xiao Ma
31ce0a1dc7 Replace Preconditions.checkNotNull with Objects.requireNonNull.
Ethernet service related files are going to be moved into Connectivity
mainline module. Replace the Preconditions.checkNotNull usage in
EthernetNetworkFactory with Objects.requireNonNull.

Bug: 210586283
Test: atest EthernetServiceTests
Change-Id: Ibeaf687f706e8400f825cb2ca97bb1341774a97d
2021-12-21 08:01:04 +00:00
Xiao Ma
479ee83516 Merge "Remove NetdService usage from EthernetTracker." 2021-12-16 08:22:01 +00:00
Xiao Ma
300abdb2a8 Remove NetdService usage from EthernetTracker.
Ethernet service related files are going to be moved into Connectivity
module. So, NetdService won't be visible to EthernetTracker since it's
a hidden class. Alternatively, get the INetd instance from system
service instead.

Bug: 210586283
Test: atest FrameworksNetTests
Test: atest EthernetServiceTests
Change-Id: Iea021ac25cbe4b8836fdab2cd6b4bd3ead5bf725
2021-12-16 04:31:27 +00:00
Pavan Kumar M
e600bef8f9 Handle neighbor lost event
Neighbor lost event is received when gateway is not reachable.
Ethernet Factory currently doesn't handle the neighbor lost event and
network will not be brought down. This results in loss of
connectivity even if there are other networks like WiFi.

Restart NetworkInterfaceState when neighbor lost event is
received. If there is a better network like WiFi, it will become
default and apps will be able to use internet. If ethernet gets
connected again, and has backhaul connectivity, it will become
default.

Bug: 180077540
Tests: Builds, Boots, EthernetServiceTests
Change-Id: I26d720994ecb35f6529358a53e115091e7817c2f
2021-12-15 22:56:06 +05:30
James Mattis
ed18ef9f85 Adding test coverage for eth transport overrides am: 2fc1c08cb5
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1913619

Change-Id: Ic922281e080e56fe3fcd635709bd2adfc6e625c8
2021-12-10 18:48:47 +00:00
James Mattis
21bbe6f4a5 Removing unused int network score from eth factory am: 68c4a5108b
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1891859

Change-Id: Ia38e4bb42fb73830e6c235bec3d42aad8546a689
2021-12-08 17:27:44 +00:00
James Mattis
2fc1c08cb5 Adding test coverage for eth transport overrides
Added test coverage regarding how EthernetTracker consumes the xml
config as set in config_ethernet_interfaces. Additionally, adding
test coverage for transport override functionality in
EthernetNetworkFactory.

Bug: 206170402
Test: atest com.android.server.ethernet.EthernetTrackerTest
&& atest com.android.server.ethernet.EthernetNetworkFactoryTest

Change-Id: I3d55a230d3f28154ed6fdac6d63ed57bf589d3bd
2021-12-07 16:43:33 -08:00
James Mattis
68c4a5108b Removing unused int network score from eth factory
Hard coded network scores are no longer used however they still exist
in EthernetNetworkFactory. This change removes this unused code in
favor of the NetworkScore object.

Bug: 209679953
Test: m && atest com.android.server.ethernet.EthernetNetworkFactoryTest

Change-Id: Ic9035964fc0e0bdf1dbd1ee845ba3293c753dd8d
2021-12-07 16:38:05 -08:00
Xin Li
ea24c36c91 [automerger skipped] Merge Android 12 am: 7278efa321 -s ours am: 7aae12e960 -s ours am: 0b42dfc1cb -s ours
am skip reason: Merged-In I304701a1ad5be47bec534d679eca259b06cb084d with SHA-1 1932a7e7ec is already in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1847600

Change-Id: I25675580b938ad5a3bd6792e05df0dbe253dda18
2021-10-08 07:56:40 +00:00
Xin Li
0b42dfc1cb [automerger skipped] Merge Android 12 am: 7278efa321 -s ours am: 7aae12e960 -s ours
am skip reason: Merged-In I304701a1ad5be47bec534d679eca259b06cb084d with SHA-1 1932a7e7ec is already in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1847600

Change-Id: I4f00fcb0545243a24c34a063af1238ebda4ef3e0
2021-10-08 01:39:24 +00:00
Xin Li
7aae12e960 [automerger skipped] Merge Android 12 am: 7278efa321 -s ours
am skip reason: Merged-In I304701a1ad5be47bec534d679eca259b06cb084d with SHA-1 1932a7e7ec is already in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1847600

Change-Id: I173b718a156ec9c8a4255aba9bdc13726be074eb
2021-10-08 01:19:59 +00:00
Xin Li
7278efa321 Merge Android 12
Bug: 202323961
Merged-In: I304701a1ad5be47bec534d679eca259b06cb084d
Change-Id: I4b42e56dec2126cdc74b15ebbf28d15b2b814c29
2021-10-06 22:53:37 +00:00
paulhu
d744b0e554 Stop using NetworkStack#checkNetworkStackPermission* am: d6789606d5 am: 1932a7e7ec am: 4f201939ec
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1827093

Change-Id: I1236e6172eea0597b2fb4a97be84b53063665129
2021-09-16 02:30:40 +00:00
paulhu
4f201939ec Stop using NetworkStack#checkNetworkStackPermission* am: d6789606d5 am: 1932a7e7ec
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1827093

Change-Id: Iadd2fe1489e989b67110deaa60408dc6217c25bb
2021-09-16 02:18:54 +00:00
paulhu
1932a7e7ec Stop using NetworkStack#checkNetworkStackPermission* am: d6789606d5
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1827093

Change-Id: I304701a1ad5be47bec534d679eca259b06cb084d
2021-09-16 02:03:58 +00:00
paulhu
d6789606d5 Stop using NetworkStack#checkNetworkStackPermission*
Replace them with PermissionUtils.enforceNetworkStackPermission*
since those methods are deprecated.

Bug: 177187957
Test: atest EthernetServiceTests
Change-Id: Ifde4a8898439b86e6cc49b7469787bc5e4a91835
2021-09-15 16:53:45 +08:00
Treehugger Robot
aa073db020 Merge "prevent nullptr dereference when calling unwanted" am: 03f03d7acf am: 07060e39fd am: cc1a711197
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802269

Change-Id: I7d54b1e0f6e092a15364c9e7ad0e94f31682acfe
2021-08-20 09:39:19 +00:00
Treehugger Robot
cc1a711197 Merge "prevent nullptr dereference when calling unwanted" am: 03f03d7acf am: 07060e39fd
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802269

Change-Id: Ica7a0ee1ae2d2c977fcc6caac3b53e157ff61281
2021-08-20 09:25:55 +00:00
Treehugger Robot
07060e39fd Merge "prevent nullptr dereference when calling unwanted" am: 03f03d7acf
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802269

Change-Id: I703f0c9fb9748cc2a211acd667f7d27a265025a7
2021-08-20 09:11:10 +00:00
Treehugger Robot
03f03d7acf Merge "prevent nullptr dereference when calling unwanted" 2021-08-20 08:57:35 +00:00
Patrick Rohr
4cf6809d75 prevent nullptr dereference when calling unwanted
When the EthernetNetworkAgent has already been stopped, a call to
unwanted will cause a crash due to a nullptr derefernce.

Bug: 197279734
Test: atest EthernetNetworkFactoryTest
Change-Id: Ice39c603bdd3e3139aa8ece7fb897bf7b567e74b
2021-08-20 09:36:00 +02:00
Chiachang Wang
040b9927d7 Add null check for the taken callback am: c57eb8c6ad am: a03cf172bb am: 6ef870281f
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802597

Change-Id: I92e2288d1e35a848ada4a47d40024745c8f50dae
2021-08-20 05:37:29 +00:00
Chiachang Wang
6ef870281f Add null check for the taken callback am: c57eb8c6ad am: a03cf172bb
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802597

Change-Id: If9fcfd0b634838342e81f9fcfa62d53fa4f66f2c
2021-08-20 05:28:31 +00:00
Chiachang Wang
a03cf172bb Add null check for the taken callback am: c57eb8c6ad
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802597

Change-Id: I8fe9b5918e2af72d6edd7ae334f6062e32bbfdad
2021-08-20 05:13:41 +00:00
Chiachang Wang
c57eb8c6ad Add null check for the taken callback
The requestTetheredInterface() and releaseTetheredInterface() in
EthernetManager is annotated as @NonNull. Basically, the taken
callback parameter to the service implementation should also be
@NonNull. However, it still possible to use native commands to
call the method in the aidl. If a null callback is taken, it may
cause unexpected results and cause crashes. Add a null check and
throw NPE as a warning.

Bug: 190058445
Test: adb commands
Change-Id: I18fd63aba3f7326597fc3a8c93ba8c9097bf7348
2021-08-20 03:40:29 +00:00
Xin Li
b5e7b30867 [automerger skipped] Merge "Merge sc-dev-plus-aosp-without-vendor@7634622" into stage-aosp-master am: d4afc0d708 -s ours am: 7ff8d101ef -s ours
am skip reason: Merged-In I2a4f5caa041f6b0e6f950e536ab74be71a5a2a53 with SHA-1 3ed5c3997b is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/15571823

Change-Id: I591145e19a0dd5ffc59a58fed5e9dbb1b5156b43
2021-08-17 19:46:24 +00:00
Xin Li
7ff8d101ef [automerger skipped] Merge "Merge sc-dev-plus-aosp-without-vendor@7634622" into stage-aosp-master am: d4afc0d708 -s ours
am skip reason: Merged-In I2a4f5caa041f6b0e6f950e536ab74be71a5a2a53 with SHA-1 3ed5c3997b is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/15571823

Change-Id: Ie22864e375511188d33632ee66c241422e38af62
2021-08-17 18:35:54 +00:00
Xin Li
945edff9b3 Merge sc-dev-plus-aosp-without-vendor@7634622
Merged-In: I2a4f5caa041f6b0e6f950e536ab74be71a5a2a53
Change-Id: I34ac5913bff3b6a14b373a9596065bc953626567
2021-08-14 06:31:21 +00:00
Ady Abraham
54c496dd18 Merge "Revert "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet"" am: 089b5546c3 am: 416a820c9c am: fcd079ca06
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1792673

Change-Id: Ica317a4a6b89c16b7807672bcd8efedb8ce251a9
2021-08-12 18:58:36 +00:00
Ady Abraham
fcd079ca06 Merge "Revert "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet"" am: 089b5546c3 am: 416a820c9c
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1792673

Change-Id: Ib13a70578ab3e98caa8538600078190ac3814a2a
2021-08-12 18:46:46 +00:00
Ady Abraham
416a820c9c Merge "Revert "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet"" am: 089b5546c3
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1792673

Change-Id: Id3a13f23c228bf69562e7212c165ca32ead03d36
2021-08-12 18:31:21 +00:00
Ady Abraham
089b5546c3 Merge "Revert "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet"" 2021-08-12 18:16:07 +00:00
Ady Abraham
7a4fecc3de Revert "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet"
This reverts commit b94c4e7453.

Reason for revert: b/196387077

Change-Id: I8e27ce915b6069b642c614a018aa5e1788ae07af
2021-08-12 17:16:51 +00:00
Treehugger Robot
9ac3947a68 Merge "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet" am: f7059e69ba am: dfca8a970d am: efec1eac58
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1688326

Change-Id: Ieee33c624b7d59b4adf6488c1fa3a93766afcb5b
2021-08-12 04:08:29 +00:00
Treehugger Robot
efec1eac58 Merge "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet" am: f7059e69ba am: dfca8a970d
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1688326

Change-Id: I193c1862b8fa7db9f6db97d813c00dd22f3e80cf
2021-08-12 03:45:35 +00:00
Treehugger Robot
dfca8a970d Merge "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet" am: f7059e69ba
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1688326

Change-Id: I0ddd67a41594986fd9029ed61c67d7bd58a40851
2021-08-12 03:26:11 +00:00
Treehugger Robot
f7059e69ba Merge "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet" 2021-08-12 03:13:50 +00:00
Patrick Rohr
3ed5c3997b Remove Unused Code From EthernetNetworkFactory am: 698b59510f am: e7048826ba
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1722876

Change-Id: I2a4f5caa041f6b0e6f950e536ab74be71a5a2a53
2021-07-29 09:27:55 +00:00
Patrick Rohr
e7048826ba Remove Unused Code From EthernetNetworkFactory am: 698b59510f
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1722876

Change-Id: I45330b6646697a7b7655f764bcb8c87b2a1635e7
2021-07-29 09:16:49 +00:00
Milim Lee
b94c4e7453 Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet
Bug: 175199512
Test: Build and test multi-ethernet
Change-Id: I6ec50b42bee89520f6f27d40e0d2b0d774b8e2e5
2021-07-29 13:41:18 +09:00
Patrick Rohr
98958bbabf Add Tests for EthernetNetworkFactory am: e78e8828d6 am: f5e25fcc5d
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1486182

Change-Id: Id09046b501b7b280830e51d5b82f2d5e8f7fa6d7
2021-07-28 14:18:22 +00:00
Patrick Rohr
f5e25fcc5d Add Tests for EthernetNetworkFactory am: e78e8828d6
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1486182

Change-Id: If2049d3b4484d68232a9ce1b405aa438c9c673fa
2021-07-28 14:06:11 +00:00
Patrick Rohr
698b59510f Remove Unused Code From EthernetNetworkFactory
Test: atest EthernetNetworkFactoryTest
Change-Id: Ibe0190b3108dca644da2d67bd107954cb26f41ce
2021-07-28 14:22:41 +02:00
Patrick Rohr
e78e8828d6 Add Tests for EthernetNetworkFactory
Test: atest EthernetNetworkFactoryTest
Bug: 191635995
Change-Id: I1c07bb6d30706c4e13002eb402fadfecb97b36d1
2021-07-28 14:22:41 +02:00