diff options
author | EdenSu <edensu@google.com> | 2023-05-25 17:06:41 +0000 |
---|---|---|
committer | EdenSu <edensu@google.com> | 2023-07-10 07:53:20 +0000 |
commit | 22e14b73f74af7bfa002ec84346e00ac132eea34 (patch) | |
tree | 0f73b6b248633cfb0a122b8f5473135fc5a068b3 | |
parent | 85cc7c00864fc6df2044506e40b00bb1b67ff32b (diff) | |
download | Iwlan-22e14b73f74af7bfa002ec84346e00ac132eea34.tar.gz |
Update Network to EpdgTunnelManager when SetupDataCall
Issue: After Iwlan crached/restarted, the default network updated before
DP created. The EpdgTunnelManager isn't updated the default network so
it blocked the IWLAN PDN setup.
Solution: Udpate the network to EpdgTunnelmanager when processing SETUP_DATA_CALL request.
Bug: 285069037
Test: Iwlan PDN can be restored after kill Iwlan process
PtsRadioIwlanTest#IwlanRestartTest passed
(cherry picked from https://android-review.googlesource.com/q/commit:8a58b44149ec5e4d761a92ca74382dde5c83a023)
Merged-In: I34aeae147ccad1934d697c34da4bb35bfb96de68
Change-Id: I34aeae147ccad1934d697c34da4bb35bfb96de68
Change-Id: Ib8d6cc2d02deab1356f67277a12783e41ac67b7d
-rw-r--r-- | src/com/google/android/iwlan/IwlanDataService.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/com/google/android/iwlan/IwlanDataService.java b/src/com/google/android/iwlan/IwlanDataService.java index 04b6789..9c1b549 100644 --- a/src/com/google/android/iwlan/IwlanDataService.java +++ b/src/com/google/android/iwlan/IwlanDataService.java @@ -975,12 +975,12 @@ public class IwlanDataService extends DataService { // This may not result in actual closing of Ike Session since // epdg selection may not be complete yet. tunnelState.setState(TunnelState.TUNNEL_IN_FORCE_CLEAN_WAS_IN_BRINGUP); - getTunnelManager() - .closeTunnel( - entry.getKey(), - true /* forceClose */, - getIwlanTunnelCallback(), - getIwlanTunnelMetrics()); + getTunnelManager() + .closeTunnel( + entry.getKey(), + true /* forceClose */, + getIwlanTunnelCallback(), + getIwlanTunnelMetrics()); } } } @@ -1444,6 +1444,12 @@ public class IwlanDataService extends DataService { return; } + // Update Network & LinkProperties to EpdgTunnelManager + iwlanDataServiceProvider + .getTunnelManager() + .updateNetwork(sNetwork, sLinkProperties); + Log.d(TAG, "Update Network for SetupDataCall request"); + tunnelState = iwlanDataServiceProvider.mTunnelStateForApn.get( dataProfile.getApnSetting().getApnName()); @@ -1884,9 +1890,9 @@ public class IwlanDataService extends DataService { hasNetworkConnectedChanged = true; } - sNetworkConnected = networkConnected; sDefaultDataTransport = transport; sNetwork = network; + sNetworkConnected = networkConnected; if (networkConnected) { if (hasTransportChanged) { |