summaryrefslogtreecommitdiff
path: root/java
AgeCommit message (Collapse)Author
2022-03-31Move f/o/n/ethernet to p/m/ConnectivityPatrick Rohr
Test: TH Bug: 222234190 Merged-In: I2a9b6d3141a6ff197093a607d9eeb0e7831f20ba Change-Id: Iea43a76d84002a5a587fa735b692d8b6ce6fd12e
2022-03-24Merge "Fixing multithreading issues in Ethernet Factory" am: 67407ec685 am: ↵Patrick Rohr
ae6719e32b am: bad3d2ddae Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/2027706 Change-Id: I4dd5a6ccd3294af838abcfc5ca08b76f1c002155
2022-03-24Merge "Fixing multithreading issues in Ethernet Factory"Patrick Rohr
2022-03-23Add getInterfaceList API implementation in Ethernet service.Xiao Ma
Bug: 171872016 Test: m Merged-In: I8eeb2cd211c6a2ec6bc997c5e18995b585c6118a Change-Id: Ic36d26be7dae5fd3f72abce3cea1ee845813a6e5
2022-03-23Add global change ethernet state APImarkchien
Provide a new API to enable or disable ethernet. Also have a listener for call to check whether enable state is sucessful. Bug: 171872016 Test: atest EthernetServiceTests Change-Id: Iee4b48511ff668a2a7df90fd9bfe563d7ff23940 Merged-In: Iee4b48511ff668a2a7df90fd9bfe563d7ff23940
2022-03-22Fixing multithreading issues in Ethernet FactoryJames Mattis
IP client callbacks could be executed updating the state of an ethernet interface even if they were no longer the callbacks for the currently active interface. This can happen as IP client callbacks were being called from a thread separate from ethernet. Bug: 224890356 Test: atest EthernetServiceTests atest CtsNetTestCasesLatestSdk :android.net.cts.EthernetManagerTest --iterations 30 Change-Id: I238cb75caa01472bccc79db5bafa82bccdaeba52
2022-03-18Add getInterfaceList API implementation in Ethernet service.Xiao Ma
Bug: 171872016 Test: m Change-Id: I8eeb2cd211c6a2ec6bc997c5e18995b585c6118a
2022-03-18Add global change ethernet state APImarkchien
Provide a new API to enable or disable ethernet. Also have a listener for call to check whether enable state is sucessful. Bug: 171872016 Test: atest EthernetServiceTests Change-Id: Iee4b48511ff668a2a7df90fd9bfe563d7ff23940
2022-03-18Change network management listener to outcome receiverPatrick Rohr
Adopts new API according to API review feedback. The outcome receiver can later be removed from most of the ethernet code; in a perfect world, a result can be generated and an exception captured directly from EthernetServiceImpl. This will greatly simplify the current implementation. Bug: 220017952 Test: atest EthernetServiceTests Ignore-AOSP-First: CP to make automerger happy. Change-Id: Id8fadfed9fcfd22f04f6d7c3460b5956e571e01f
2022-03-18Revert "Revert "Change network management listener to outcome re..."Patrick Rohr
Revert submission 2030087-revert-2028203-ethernet-outcomereceiver-WFKWDORBPY Reason for revert: Reinstate changes Reverted Changes: Ibd1d70ac3:Revert "Change Ethernet API to use OutcomeReceiver... I45af594f7:Revert "Change Ethernet API to use OutcomeReceiver... I45ba68452:Revert "Change network management listener to outc... Merged-In: Id8fadfed9fcfd22f04f6d7c3460b5956e571e01f Change-Id: If3854c1c3a39aa6de84807c6bde267cf88f3d277
2022-03-17Revert "Change network management listener to outcome receiver"Quentin Perret
Revert submission 2028203-ethernet-outcomereceiver Reason for revert: BuildMonitor investigating b/225169800 Reverted Changes: I4c204a848:Change Ethernet API to use OutcomeReceiver I7c46545a4:Change Ethernet API to use OutcomeReceiver Id8fadfed9:Change network management listener to outcome rece... Change-Id: I45ba68452b9dccedf72b68fdea6e31c07b86546d
2022-03-17Change network management listener to outcome receiverPatrick Rohr
Adopts new API according to API review feedback. The outcome receiver can later be removed from most of the ethernet code; in a perfect world, a result can be generated and an exception captured directly from EthernetServiceImpl. This will greatly simplify the current implementation. Bug: 220017952 Test: atest EthernetServiceTests Change-Id: Id8fadfed9fcfd22f04f6d7c3460b5956e571e01f
2022-03-16Add support for Nullable IpConfigurationPatrick Rohr
Test: atest EthernetServiceTests Change-Id: I6b415ffb2f5825a9dffda1366b60c1e0d26f4e64
2022-03-14Build ethernet service into service-connectivity-tiramisu-pre-jarjar.Xiao Ma
Along with ethernet service is going to be moved into Connectivity module, this CL contains the corresponding changes as below: 1. deprecate the etherent-service lib and create a new filegroup: When the ethernet mainline code migration completes, ethernet-service lib won't be kept any more, instead the ethernet service should be started from ConnectivityServiceInitializer. So deprecate the current ethernet-service lib and cleanup the usages on other places later. Create a new filegroup which includes all ethernet service code, that will be built into service-connectivity-tiramisu-pre-jarjar. 2. Move the implementation of starting ethernet service: ConnectivityServiceInitializer should take responsibility to start ethernet service and EthernetTracker on boot phase. Move this code to ConnectivityServiceInitializer and remove the current onStart and onBootPhase implemenation. 3. Move below ethernet service related config resources: - config_ethernet_tcp_buffers - config_ethernet_interfaces - config_ethernet_iface_regex Move the definition of these resource from frameworks/base/core to p/m/Connectivity/service/ServiceConnectivityResources, and import the ServiceConnectivityResources lib to adapt the ethernet update. 4. Update the EthernetServiceTests dependencies and refactor the code which uses ConnectivityResources instead of internal Resource to make the tests pass. Bug: 210586283 Test: m Test: atest FrameworksNetTests atest EthernetServiceTests Change-Id: I0bbecfb64f720213ee2b02417bc8357ccf4725b6 Merged-In: I0bbecfb64f720213ee2b02417bc8357ccf4725b6
2022-03-10Clean up permission validation in EthernetServiceImplPatrick Rohr
Test: atest EthernetServiceImplTest Change-Id: I0ca54e09dd98cab348fc855e8a0bf70a703fffed
2022-03-09Rename logIfEthernetNotStarted to throwIfEthernetNotStartedPatrick Rohr
The functions does not log but throws an exception instead. Changing the name to reflect that. Test: TH Change-Id: I6207aababaccc9bc553f7f731e3b8a1d26eb16a1
2022-03-09Allow all device types to call updateConfigurationPatrick Rohr
Usage of this API should not be limited to Automotive devices as TvSettings also needs to update the IpConfiguration. Test: TH Change-Id: I838a0a8684e9f944801718a4d688666de45f42fb
2022-03-07Allowing for null net caps in updateConfigurationJames Mattis
Marking NetworkCapabilities as nullable in updateConfiguration and updating where needed to support this. This will allow callers of the ethernet network management updateConfiguration API to use it primarily for setting an ethernet network's IP configuration. Bug: 222565654 Bug: 220017952 Bug: 210485380 Test: atest EthernetServiceTests Change-Id: Ifd908639a00470e599fe1a15487cc6383a56b2f5
2022-03-07Eth Management APIs to Support TEST InterfacesJames Mattis
Updating Ethernet Network Management APIs to allow support for test interfaces when the caller has the MANAGE_TEST_NETWORKS permission, test interfaces are being tracked in ethernet and if updating a network's capabilities, they include the TEST transport. Bug: 210487893 Test: atest EthernetServiceTests atest CtsNetTestCasesLatestSdk :android.net.cts.EthernetManagerTest Change-Id: I0e0bc9632d9b3d5d61f23e74150586f42c0b5bd2
2022-03-02Ethernet validate if iface is tracked on handlerJames Mattis
Removing synchronous validation of whether a particular interface is tracked or not and instead relying on asynchronous validation and callbacks. An interface can be in the midst of being provisioned and checking if it is tracked sychronously before provisioning is complete will erroneously throw an error for a call that would have been successful when executed on the ethernet handler thread. Bug: 210487893 Bug: 210485380 Test: atest EthernetServiceTests Change-Id: Ib70312a240cab412a54ca7f598893aa9b1e108fd
2022-02-24Using a builder for eth requestsJames Mattis
Updating ethernet classes to use a builder when creating an EthernetNetworkUpdateRequest and also changing to use IpConfiguration instead of StaticIpConfiguration for the UpdateConfiguration API. Bug: 220017952 Bug: 210487893 Bug: 210485380 Test: atest EthernetServiceTests Change-Id: I2647115bf867dfaa3f3dadf00e3c875aa7e8d88f
2022-02-14Merge "Set EthernetNetworkSpecifier on ethernet networks"Remi NGUYEN VAN
2022-02-11Implement the new added EthernetManager APIs.Xiao Ma
EthernetManager is moving to the connectivity mainline module and some of its hidden methods are being exposed as module-lib APIs. This CL updates the implementation. 1. Rename onAvailabilityChanged to onInterfaceStateChanged in IEthernetServiceListener.aidl, to match the name of the public callback method. 2. Add the interface state, role and IpConfiguration to the callback, so that clients can use this information without having to call synchronous methods. 3. Call the new callback whenever any of the above parameters changes, or when a callback is registered. Also make some package-private methods in EthernetNetworkFactory protected @VisibleForTesting because otherwise mockito can't mock them. Bug: 210586283 Test: m Test: atest EthernetServiceTests EthernetTetheringTest Change-Id: Ib27bf119b0d61b78f19b6447a38b4468d8035c78 Merged-In: Ib27bf119b0d61b78f19b6447a38b4468d8035c78
2022-02-08Set EthernetNetworkSpecifier on ethernet networksMilim Lee
Bug: 175199512 Test: atest EthernetServiceTests Change-Id: I4a4762a6509099a5c0954296cbf1b42e3a6cfc25
2022-02-02Updating Eth Service to use Eth Network PermissionJames Mattis
Updating Ethernet Service network management APIs to require the manage ethernet networks permission. Bug: 210485380 Test: atest EthernetServiceTests Change-Id: Ibc9b2930fc0069efd7c6f4b833aba7d6c8e93311
2022-02-01Renaming Ethernet Network Management ClassesJames Mattis
Renaming InternalNetwork* files and classes related to ethernet network management to EthernetNetwork* as ethernet is the only trasnport these particular files are used with. Bug: 210485380 Test: atest EthernetServiceTests Change-Id: I5be8543afd70f2edca76a9366cee4ccf61f0d0e7
2022-02-01Implementation of Eth Connect & Disconnect NetworkJames Mattis
Implementation of EthernetService APIs for ConnectNetwork() and DisconnectNetwork(). Bug: 210485380 Test: atest EthernetServiceTests Change-Id: I4c3e361d052206cb28b97fc439bfeac8e7e0fec0
2022-01-27Updates so Network Mgmt Callbacks Are SentJames Mattis
Updates so that network management API updates in the ethernet stack can handle concurrent requests correctly in regards to notifying caller supplied callbacks. Bug: 210485380 Test: atest EthernetServiceTests Change-Id: I8073251b2c63309da031c2b1c98d61614deadfe8
2022-01-24Replace the NetdService usage in the EthernetService.Xiao Ma
Ethernet service related files are going to be moved into Connectivity module. NetdService won't be visible to EthernetService. Use asInterface to get the Netd service instead. Bug: 210586283 Test: m Change-Id: I3bf504cd947f74bf5830659915483fe5331ac9eb
2022-01-20Replace runWithScissors with a custom implementation.Chalard Jean
This is not any better than the previous code though... But it should behave the same. Test: FrameworksNetTests Change-Id: Ia3d379681cb0f17dd5f86062b7cfe84f1547fadb
2022-01-13Synchronize the IpClient eventsPavan Kumar M
If the ipClient is stopped before handling the events in Handler thread, ethernet network factory might end up creating a network agent for a network which is already cleared. This change fixes the issue by handling the events only if ipClient is initialized. Tests: Builds, Boots, EthernetNetworkFactoryTest. Ethernet related test scenarios Bug: 207057937 Change-Id: If7ff7abf5f0dcdb0e94de0502bfdf981f9f20298
2022-01-11Implementation of Eth Service updateConfigurationJames Mattis
EthernetServiceImpl#updateConfiguration API implementation to allow for dynamically updating the network capability or ip configuration of an ethernet based interface. Bug: 210485380 Test: atest EthernetServiceTests Change-Id: Idd3b7875a24643d245d0f4bb6f2f4c459898116e
2022-01-05Replacing IIpClient with Manager in ethNetFactoryJames Mattis
Replacing IIpClient with IpClientManager to reduce code duplication, increase readability and maintainability as well as making EthernetNetworkFactory easier to unit test. Bug: 210485380 Test: atest EthernetServiceTests Change-Id: I283653171c0cc47ad94a67d6dbd65b924cdf1ada
2022-01-05Using PermissionUtils for common net permissionsJames Mattis
Code clean-up to use PermissionUtils for common networking permissions. Should be a no-op. Bug: 210485380 Test: make, flash and boot Change-Id: I4be08243156e9d04f4b3b44ab7328d0f6f7fdda1
2022-01-05Changes to make eth service methods more testableJames Mattis
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-05Eth Service updates to validate net mgmt callsJames Mattis
Updates to ethernet service code to validate calls to ethernet network management APIs. Bug: 210485380 Test: atest EthernetServiceTests Change-Id: I66b91c6d12e6859de33760ab21bb00f1477720e8
2021-12-24Remove INetworkManagementService usage from EthernetTracker.Xiao Ma
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-22Stubbed net mgmt API methods in eth serviceJames Mattis
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-22Merge "Replace Preconditions.checkNotNull with Objects.requireNonNull."Xiao Ma
2021-12-21Import InterfaceParams class from f/libs/net/common.Xiao Ma
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-21Replace Preconditions.checkNotNull with Objects.requireNonNull.Xiao Ma
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-16Merge "Remove NetdService usage from EthernetTracker."Xiao Ma
2021-12-16Remove NetdService usage from EthernetTracker.Xiao Ma
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-15Handle neighbor lost eventPavan Kumar M
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-07Adding test coverage for eth transport overridesJames Mattis
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-07Removing unused int network score from eth factoryJames Mattis
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-09-16Stop using NetworkStack#checkNetworkStackPermission* am: 2a8258b339temp_sam_202323961paulhu
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1827093 Change-Id: I304701a1ad5be47bec534d679eca259b06cb084d
2021-09-15Stop using NetworkStack#checkNetworkStackPermission*paulhu
Replace them with PermissionUtils.enforceNetworkStackPermission* since those methods are deprecated. Bug: 177187957 Test: atest EthernetServiceTests Change-Id: Ifde4a8898439b86e6cc49b7469787bc5e4a91835
2021-08-20Merge "prevent nullptr dereference when calling unwanted" am: afd21f5a7fTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802269 Change-Id: I703f0c9fb9748cc2a211acd667f7d27a265025a7
2021-08-20Merge "prevent nullptr dereference when calling unwanted"android-s-beta-5android-s-beta-5Treehugger Robot