Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b60bfa1 authored by Xiao Ma's avatar Xiao Ma
Browse files

Add more integration test cases (timeout/abort/success) for DHCP FILS.

- receiving CMD_TIMEOUT before aborting FILS process.
- receiving CMD_TIMEOUT after aborting FILS process.
- receiving CMD_TIMEOUT before success FILS process.
- receiving CMD_TIMEOUT after success FILS process.

Bug: 140223017
Test: atest NetworkStackTests NetworkStackIntegrationTests

Change-Id: I519bf2fdda38cb9666f769868379a0c044356db0
parent 3651e21c
Loading
Loading
Loading
Loading
+3 −14
Original line number Original line Diff line number Diff line
@@ -231,7 +231,8 @@ public class DhcpClient extends StateMachine {
    private static final int PRIVATE_BASE         = IpClient.DHCPCLIENT_CMD_BASE + 100;
    private static final int PRIVATE_BASE         = IpClient.DHCPCLIENT_CMD_BASE + 100;
    private static final int CMD_KICK             = PRIVATE_BASE + 1;
    private static final int CMD_KICK             = PRIVATE_BASE + 1;
    private static final int CMD_RECEIVED_PACKET  = PRIVATE_BASE + 2;
    private static final int CMD_RECEIVED_PACKET  = PRIVATE_BASE + 2;
    private static final int CMD_TIMEOUT          = PRIVATE_BASE + 3;
    @VisibleForTesting
    public static final int CMD_TIMEOUT           = PRIVATE_BASE + 3;
    private static final int CMD_RENEW_DHCP       = PRIVATE_BASE + 4;
    private static final int CMD_RENEW_DHCP       = PRIVATE_BASE + 4;
    private static final int CMD_REBIND_DHCP      = PRIVATE_BASE + 5;
    private static final int CMD_REBIND_DHCP      = PRIVATE_BASE + 5;
    private static final int CMD_EXPIRE_DHCP      = PRIVATE_BASE + 6;
    private static final int CMD_EXPIRE_DHCP      = PRIVATE_BASE + 6;
@@ -888,11 +889,8 @@ public class DhcpClient extends StateMachine {
                    mConfiguration = (Configuration) message.obj;
                    mConfiguration = (Configuration) message.obj;
                    if (mConfiguration.isPreconnectionEnabled) {
                    if (mConfiguration.isPreconnectionEnabled) {
                        transitionTo(mDhcpPreconnectingState);
                        transitionTo(mDhcpPreconnectingState);
                    } else if (isDhcpLeaseCacheEnabled()) {
                        preDhcpTransitionTo(mWaitBeforeObtainingConfigurationState,
                                mObtainingConfigurationState);
                    } else {
                    } else {
                        preDhcpTransitionTo(mWaitBeforeStartState, mDhcpInitState);
                        startInitRebootOrInit();
                    }
                    }
                    return HANDLED;
                    return HANDLED;
                default:
                default:
@@ -1267,15 +1265,6 @@ public class DhcpClient extends StateMachine {
            l2Packet.payload = packet.array();
            l2Packet.payload = packet.array();
            mController.sendMessage(CMD_START_PRECONNECTION, l2Packet);
            mController.sendMessage(CMD_START_PRECONNECTION, l2Packet);
        }
        }

        private void startInitRebootOrInit() {
            if (isDhcpLeaseCacheEnabled()) {
                preDhcpTransitionTo(mWaitBeforeObtainingConfigurationState,
                        mObtainingConfigurationState);
            } else {
                preDhcpTransitionTo(mWaitBeforeStartState, mDhcpInitState);
            }
        }
    }
    }


    // Not implemented. We request the first offer we receive.
    // Not implemented. We request the first offer we receive.
+10 −3
Original line number Original line Diff line number Diff line
@@ -39,7 +39,6 @@ import android.net.TcpKeepalivePacketDataParcelable;
import android.net.apf.ApfCapabilities;
import android.net.apf.ApfCapabilities;
import android.net.apf.ApfFilter;
import android.net.apf.ApfFilter;
import android.net.dhcp.DhcpClient;
import android.net.dhcp.DhcpClient;
import android.net.dhcp.DhcpClient.Configuration;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.IpManagerEvent;
import android.net.metrics.IpManagerEvent;
import android.net.shared.InitialConfiguration;
import android.net.shared.InitialConfiguration;
@@ -477,6 +476,14 @@ public class IpClient extends StateMachine {
            return new NetworkStackIpMemoryStore(context, nssManager.getIpMemoryStoreService());
            return new NetworkStackIpMemoryStore(context, nssManager.getIpMemoryStoreService());
        }
        }


        /**
         * Get a DhcpClient instance.
         */
        public DhcpClient makeDhcpClient(Context context, StateMachine controller,
                InterfaceParams ifParams, DhcpClient.Dependencies deps) {
            return DhcpClient.makeDhcpClient(context, controller, ifParams, deps);
        }

        /**
        /**
         * Get a DhcpClient Dependencies instance.
         * Get a DhcpClient Dependencies instance.
         */
         */
@@ -1518,7 +1525,7 @@ public class IpClient extends StateMachine {


    private void startDhcpClient() {
    private void startDhcpClient() {
        // Start DHCPv4.
        // Start DHCPv4.
        mDhcpClient = DhcpClient.makeDhcpClient(mContext, IpClient.this, mInterfaceParams,
        mDhcpClient = mDependencies.makeDhcpClient(mContext, IpClient.this, mInterfaceParams,
                mDependencies.getDhcpClientDependencies(mIpMemoryStore));
                mDependencies.getDhcpClientDependencies(mIpMemoryStore));


        // If preconnection is enabled, there is no need to ask Wi-Fi to disable powersaving
        // If preconnection is enabled, there is no need to ask Wi-Fi to disable powersaving
@@ -1527,7 +1534,7 @@ public class IpClient extends StateMachine {
        // registerForPreDhcpNotification is called later when processing the CMD_*_PRECONNECTION
        // registerForPreDhcpNotification is called later when processing the CMD_*_PRECONNECTION
        // messages.
        // messages.
        if (!isUsingPreconnection()) mDhcpClient.registerForPreDhcpNotification();
        if (!isUsingPreconnection()) mDhcpClient.registerForPreDhcpNotification();
        mDhcpClient.sendMessage(DhcpClient.CMD_START_DHCP, new Configuration(mL2Key,
        mDhcpClient.sendMessage(DhcpClient.CMD_START_DHCP, new DhcpClient.Configuration(mL2Key,
                isUsingPreconnection()));
                isUsingPreconnection()));
    }
    }


+159 −48

File changed.

Preview size limit exceeded, changes collapsed.