arc: net: get Service properties for all network updates
This patch ensures ensures that ARC++ gets updated with the layer 3 IP configurations of all active networks, including host VPN networks. To do so this patch changes two parts in ArcNetHostImpl: 1) First, shill properties are now always asynchronously retrieved and cached for active networks. Asynchronous network properties requests are now sent to shill when chromeos::NetworkStateHandlerObserver's NetworkPropertiesUpdated() or NetworkListChanged() callbacks are triggered, only for currently active networks. When the properties are received, a call to net.mojom ActiveNetworkChanged is triggered. This replaces the previous net.mojom ActiveNetworksChanged triggers on every callback invocation of chromeos::NetworkStateHandlerObserver's ActiveNetworksChanged and DefaultNetworkChanged. 2) When net.mojom NetworkConfiguration objects are created, on top of device properties (not available for VPNs) and ONC properties obtained from the cached chromeos::NetworkState, cached shill properties are also used for populating the IP configuration. This allows to obtain the layer 3 IP configuration for VPNs, which have neither an associated Device nor any cached layer 3 information in chromeos::NetworkState. This change makes the retrieval of IP configurations from ONC properties mostly obsolete. A follow-up patch will remove that code. BUG=b:145960788 BUG=b:143258259 BUG=b:155129178 BUG=crbug:991189 TEST=Flashed chrome, tested various connectivity setup with multiple networks, including L2TP connections and Chrome 3p VPN connections. Change-Id: If3e511212f491a5ec6533c8fb259c49eab29295b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2210335 Commit-Queue: Hugo Benichi <hugobenichi@google.com> Auto-Submit: Hugo Benichi <hugobenichi@google.com> Reviewed-by:Yusuke Sato <yusukes@chromium.org> Cr-Commit-Position: refs/heads/master@{#772084}
Showing
This diff is collapsed.
Please register or sign in to comment