Snap for 6001391 from eb4c77d7228f956f928c7d3500a220339ee78388 to qt-aml-networking-release

Change-Id: Ifede049eeae909912e9792f87a89bf4ede7e34d9
diff --git a/src/java/com/android/ike/eap/EapSessionConfig.java b/src/java/android/net/eap/EapSessionConfig.java
similarity index 94%
rename from src/java/com/android/ike/eap/EapSessionConfig.java
rename to src/java/android/net/eap/EapSessionConfig.java
index 285dc79..a31a0fd 100644
--- a/src/java/com/android/ike/eap/EapSessionConfig.java
+++ b/src/java/android/net/eap/EapSessionConfig.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package android.net.eap;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
 
 import android.telephony.TelephonyManager.UiccAppType;
 
-import com.android.ike.eap.message.EapData.EapMethod;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.message.EapData.EapMethod;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -46,7 +46,7 @@
     public final byte[] eapIdentity;
 
     @VisibleForTesting
-    EapSessionConfig(Map<Integer, EapMethodConfig> eapConfigs, byte[] eapIdentity) {
+    public EapSessionConfig(Map<Integer, EapMethodConfig> eapConfigs, byte[] eapIdentity) {
         this.eapConfigs = Collections.unmodifiableMap(eapConfigs);
         this.eapIdentity = eapIdentity;
     }
diff --git a/src/java/com/android/ike/ikev2/ChildSaProposal.java b/src/java/android/net/ipsec/ike/ChildSaProposal.java
similarity index 89%
rename from src/java/com/android/ike/ikev2/ChildSaProposal.java
rename to src/java/android/net/ipsec/ike/ChildSaProposal.java
index 92c717e..c8851a7 100644
--- a/src/java/com/android/ike/ikev2/ChildSaProposal.java
+++ b/src/java/android/net/ipsec/ike/ChildSaProposal.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EsnTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.Transform;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EsnTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Transform;
 
 import java.util.Arrays;
 import java.util.List;
@@ -59,17 +59,17 @@
         mEsns = esns;
     }
 
-    /** Package private method to get ESN policies. */
-    EsnTransform[] getEsnTransforms() {
+    /** Gets all ESN policies. */
+    public EsnTransform[] getEsnTransforms() {
         return mEsns;
     }
 
     /**
-     * Package private method to get a copy of proposal without all proposed DH groups.
+     * Gets a copy of proposal without all proposed DH groups.
      *
      * <p>This is used to avoid negotiating DH Group for negotiating first Child SA.
      */
-    ChildSaProposal getCopyWithoutDhTransform() {
+    public ChildSaProposal getCopyWithoutDhTransform() {
         return new ChildSaProposal(
                 getEncryptionTransforms(),
                 getIntegrityTransforms(),
diff --git a/src/java/com/android/ike/ikev2/ChildSessionCallback.java b/src/java/android/net/ipsec/ike/ChildSessionCallback.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/ChildSessionCallback.java
rename to src/java/android/net/ipsec/ike/ChildSessionCallback.java
index 071ad43..ec8722e 100644
--- a/src/java/com/android/ike/ikev2/ChildSessionCallback.java
+++ b/src/java/android/net/ipsec/ike/ChildSessionCallback.java
@@ -14,12 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.net.IpSecManager.PolicyDirection;
 import android.net.IpSecTransform;
-
-import com.android.ike.ikev2.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeException;
 
 /** Callback interface for receiving state changes of a Child Session. */
 public interface ChildSessionCallback {
diff --git a/src/java/com/android/ike/ikev2/ChildSessionConfiguration.java b/src/java/android/net/ipsec/ike/ChildSessionConfiguration.java
similarity index 77%
rename from src/java/com/android/ike/ikev2/ChildSessionConfiguration.java
rename to src/java/android/net/ipsec/ike/ChildSessionConfiguration.java
index 555feb0..2ed9de2 100644
--- a/src/java/com/android/ike/ikev2/ChildSessionConfiguration.java
+++ b/src/java/android/net/ipsec/ike/ChildSessionConfiguration.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
 
 import android.net.LinkAddress;
 
-import com.android.ike.ikev2.message.IkeConfigPayload;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Address;
 
 import java.util.Collections;
 import java.util.LinkedList;
@@ -41,11 +41,12 @@
     private final List<LinkAddress> mInternalAddressList;
 
     /**
-     * Package private constructor for building an ChildSessionConfiguration
+     * Construct an instance of {@link ChildSessionConfiguration}.
      *
-     * <p>It is only supported to build a ChildSessionConfiguration with a Configure(Reply) Payload.
+     * <p>It is only supported to build a {@link ChildSessionConfiguration} with a Configure(Reply)
+     * Payload.
      */
-    ChildSessionConfiguration(
+    public ChildSessionConfiguration(
             List<IkeTrafficSelector> inTs,
             List<IkeTrafficSelector> outTs,
             IkeConfigPayload configPayload) {
@@ -91,8 +92,9 @@
         }
     }
 
-    /** Package private constructor for building an ChildSessionConfiguration */
-    ChildSessionConfiguration(List<IkeTrafficSelector> inTs, List<IkeTrafficSelector> outTs) {
+    /** Construct an instance of {@link ChildSessionConfiguration}. */
+    public ChildSessionConfiguration(
+            List<IkeTrafficSelector> inTs, List<IkeTrafficSelector> outTs) {
         mInboundTs = Collections.unmodifiableList(inTs);
         mOutboundTs = Collections.unmodifiableList(outTs);
         mInternalAddressList = new LinkedList<>();
diff --git a/src/java/com/android/ike/ikev2/ChildSessionOptions.java b/src/java/android/net/ipsec/ike/ChildSessionOptions.java
similarity index 92%
rename from src/java/com/android/ike/ikev2/ChildSessionOptions.java
rename to src/java/android/net/ipsec/ike/ChildSessionOptions.java
index 0519416..90a3005 100644
--- a/src/java/com/android/ike/ikev2/ChildSessionOptions.java
+++ b/src/java/android/net/ipsec/ike/ChildSessionOptions.java
@@ -14,8 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
-
+package android.net.ipsec.ike;
 
 import libcore.net.InetAddressUtils;
 
@@ -53,23 +52,19 @@
         mIsTransport = isTransport;
     }
 
-    /** Package private */
-    IkeTrafficSelector[] getLocalTrafficSelectors() {
+    public IkeTrafficSelector[] getLocalTrafficSelectors() {
         return mLocalTrafficSelectors;
     }
 
-    /** Package private */
-    IkeTrafficSelector[] getRemoteTrafficSelectors() {
+    public IkeTrafficSelector[] getRemoteTrafficSelectors() {
         return mRemoteTrafficSelectors;
     }
 
-    /** Package private */
-    ChildSaProposal[] getSaProposals() {
+    public ChildSaProposal[] getSaProposals() {
         return mSaProposals;
     }
 
-    /** Package private */
-    boolean isTransportMode() {
+    public boolean isTransportMode() {
         return mIsTransport;
     }
 
diff --git a/src/java/com/android/ike/ikev2/IkeFqdnIdentification.java b/src/java/android/net/ipsec/ike/IkeFqdnIdentification.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/IkeFqdnIdentification.java
rename to src/java/android/net/ipsec/ike/IkeFqdnIdentification.java
index 4a17bb7..393a072 100644
--- a/src/java/com/android/ike/ikev2/IkeFqdnIdentification.java
+++ b/src/java/android/net/ipsec/ike/IkeFqdnIdentification.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
 
diff --git a/src/java/com/android/ike/ikev2/IkeIdentification.java b/src/java/android/net/ipsec/ike/IkeIdentification.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/IkeIdentification.java
rename to src/java/android/net/ipsec/ike/IkeIdentification.java
index b281b5c..737df82 100644
--- a/src/java/com/android/ike/ikev2/IkeIdentification.java
+++ b/src/java/android/net/ipsec/ike/IkeIdentification.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.IntDef;
 import android.util.ArraySet;
diff --git a/src/java/com/android/ike/ikev2/IkeIpv4AddrIdentification.java b/src/java/android/net/ipsec/ike/IkeIpv4AddrIdentification.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/IkeIpv4AddrIdentification.java
rename to src/java/android/net/ipsec/ike/IkeIpv4AddrIdentification.java
index 87b5f00..350187e 100644
--- a/src/java/com/android/ike/ikev2/IkeIpv4AddrIdentification.java
+++ b/src/java/android/net/ipsec/ike/IkeIpv4AddrIdentification.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
 
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import java.net.Inet4Address;
 import java.net.UnknownHostException;
diff --git a/src/java/com/android/ike/ikev2/IkeIpv6AddrIdentification.java b/src/java/android/net/ipsec/ike/IkeIpv6AddrIdentification.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/IkeIpv6AddrIdentification.java
rename to src/java/android/net/ipsec/ike/IkeIpv6AddrIdentification.java
index e73ad82..dfc7d5e 100644
--- a/src/java/com/android/ike/ikev2/IkeIpv6AddrIdentification.java
+++ b/src/java/android/net/ipsec/ike/IkeIpv6AddrIdentification.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
 
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import java.net.Inet6Address;
 import java.net.UnknownHostException;
diff --git a/src/java/com/android/ike/ikev2/IkeKeyIdIdentification.java b/src/java/android/net/ipsec/ike/IkeKeyIdIdentification.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/IkeKeyIdIdentification.java
rename to src/java/android/net/ipsec/ike/IkeKeyIdIdentification.java
index cba519c..c229b9d 100644
--- a/src/java/com/android/ike/ikev2/IkeKeyIdIdentification.java
+++ b/src/java/android/net/ipsec/ike/IkeKeyIdIdentification.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
 
diff --git a/src/java/com/android/ike/ikev2/IkeManager.java b/src/java/android/net/ipsec/ike/IkeManager.java
similarity index 93%
rename from src/java/com/android/ike/ikev2/IkeManager.java
rename to src/java/android/net/ipsec/ike/IkeManager.java
index 38ab15b..ef8b893 100644
--- a/src/java/com/android/ike/ikev2/IkeManager.java
+++ b/src/java/android/net/ipsec/ike/IkeManager.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.content.Context;
 
-import com.android.ike.utils.Log;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.utils.Log;
 
 import java.util.concurrent.Executor;
 
@@ -80,13 +80,15 @@
         return sIkeLog;
     }
 
+    /** Injects IKE logger for testing. */
     @VisibleForTesting
-    static void setIkeLog(Log log) {
+    public static void setIkeLog(Log log) {
         sIkeLog = log;
     }
 
+    /** Resets IKE logger. */
     @VisibleForTesting
-    static void resetIkeLog() {
+    public static void resetIkeLog() {
         sIkeLog = new Log(IKE_TAG, LOG_SENSITIVE);
     }
 }
diff --git a/src/java/com/android/ike/ikev2/IkeRfc822AddrIdentification.java b/src/java/android/net/ipsec/ike/IkeRfc822AddrIdentification.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/IkeRfc822AddrIdentification.java
rename to src/java/android/net/ipsec/ike/IkeRfc822AddrIdentification.java
index 2060867..2a93bea 100644
--- a/src/java/com/android/ike/ikev2/IkeRfc822AddrIdentification.java
+++ b/src/java/android/net/ipsec/ike/IkeRfc822AddrIdentification.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
 
diff --git a/src/java/com/android/ike/ikev2/IkeSaProposal.java b/src/java/android/net/ipsec/ike/IkeSaProposal.java
similarity index 93%
rename from src/java/com/android/ike/ikev2/IkeSaProposal.java
rename to src/java/android/net/ipsec/ike/IkeSaProposal.java
index 788c7f9..1494f9d 100644
--- a/src/java/com/android/ike/ikev2/IkeSaProposal.java
+++ b/src/java/android/net/ipsec/ike/IkeSaProposal.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.util.ArraySet;
 
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.Transform;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Transform;
 
 import java.util.Arrays;
 import java.util.List;
@@ -62,8 +62,8 @@
         mPseudorandomFunctions = prfs;
     }
 
-    /** Package private method to get all PRFs. */
-    PrfTransform[] getPrfTransforms() {
+    /** Gets all PRFs. */
+    public PrfTransform[] getPrfTransforms() {
         return mPseudorandomFunctions;
     }
 
diff --git a/src/java/com/android/ike/ikev2/IkeSession.java b/src/java/android/net/ipsec/ike/IkeSession.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/IkeSession.java
rename to src/java/android/net/ipsec/ike/IkeSession.java
index fbfe640..97fe061 100644
--- a/src/java/com/android/ike/ikev2/IkeSession.java
+++ b/src/java/android/net/ipsec/ike/IkeSession.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.content.Context;
 import android.net.IpSecManager;
@@ -21,6 +21,7 @@
 import android.os.Looper;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine;
 
 import dalvik.system.CloseGuard;
 
diff --git a/src/java/com/android/ike/ikev2/IkeSessionCallback.java b/src/java/android/net/ipsec/ike/IkeSessionCallback.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/IkeSessionCallback.java
rename to src/java/android/net/ipsec/ike/IkeSessionCallback.java
index 6608120..c2121e2 100644
--- a/src/java/com/android/ike/ikev2/IkeSessionCallback.java
+++ b/src/java/android/net/ipsec/ike/IkeSessionCallback.java
@@ -14,11 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
-
-import com.android.ike.ikev2.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeException;
 
 /** Callback interface for receiving state changes of an IKE Session. */
 public interface IkeSessionCallback {
diff --git a/src/java/com/android/ike/ikev2/IkeSessionConfiguration.java b/src/java/android/net/ipsec/ike/IkeSessionConfiguration.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/IkeSessionConfiguration.java
rename to src/java/android/net/ipsec/ike/IkeSessionConfiguration.java
index 4252446..6bbef7d 100644
--- a/src/java/com/android/ike/ikev2/IkeSessionConfiguration.java
+++ b/src/java/android/net/ipsec/ike/IkeSessionConfiguration.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
diff --git a/src/java/com/android/ike/ikev2/IkeSessionOptions.java b/src/java/android/net/ipsec/ike/IkeSessionOptions.java
similarity index 87%
rename from src/java/com/android/ike/ikev2/IkeSessionOptions.java
rename to src/java/android/net/ipsec/ike/IkeSessionOptions.java
index d722225..020a888 100644
--- a/src/java/com/android/ike/ikev2/IkeSessionOptions.java
+++ b/src/java/android/net/ipsec/ike/IkeSessionOptions.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.net.IpSecManager.UdpEncapsulationSocket;
+import android.net.eap.EapSessionConfig;
 
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.ikev2.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -43,10 +43,10 @@
     @IntDef({IKE_AUTH_METHOD_PSK, IKE_AUTH_METHOD_PUB_KEY_SIGNATURE, IKE_AUTH_METHOD_EAP})
     public @interface IkeAuthMethod {}
 
-    // Package private constants to describe user configured authentication methods.
-    static final int IKE_AUTH_METHOD_PSK = 1;
-    static final int IKE_AUTH_METHOD_PUB_KEY_SIGNATURE = 2;
-    static final int IKE_AUTH_METHOD_EAP = 3;
+    // Constants to describe user configured authentication methods.
+    public static final int IKE_AUTH_METHOD_PSK = 1;
+    public static final int IKE_AUTH_METHOD_PUB_KEY_SIGNATURE = 2;
+    public static final int IKE_AUTH_METHOD_EAP = 3;
 
     private final InetAddress mServerAddress;
     private final UdpEncapsulationSocket mUdpEncapSocket;
@@ -82,44 +82,40 @@
         mIsIkeFragmentationSupported = isIkeFragmentationSupported;
     }
 
-    /** Package private */
-    InetAddress getServerAddress() {
+    public InetAddress getServerAddress() {
         return mServerAddress;
     }
-    /** Package private */
-    UdpEncapsulationSocket getUdpEncapsulationSocket() {
+
+    public UdpEncapsulationSocket getUdpEncapsulationSocket() {
         return mUdpEncapSocket;
     }
-    /** Package private */
-    IkeSaProposal[] getSaProposals() {
+
+    public IkeSaProposal[] getSaProposals() {
         return mSaProposals;
     }
-    /** Package private */
-    IkeIdentification getLocalIdentification() {
+
+    public IkeIdentification getLocalIdentification() {
         return mLocalIdentification;
     }
-    /** Package private */
-    IkeIdentification getRemoteIdentification() {
+
+    public IkeIdentification getRemoteIdentification() {
         return mRemoteIdentification;
     }
-    /** Package private */
-    IkeAuthConfig getLocalAuthConfig() {
+
+    public IkeAuthConfig getLocalAuthConfig() {
         return mLocalAuthConfig;
     }
-    /** Package private */
-    IkeAuthConfig getRemoteAuthConfig() {
+
+    public IkeAuthConfig getRemoteAuthConfig() {
         return mRemoteAuthConfig;
     }
-    /** Package private */
-    boolean isIkeFragmentationSupported() {
+
+    public boolean isIkeFragmentationSupported() {
         return mIsIkeFragmentationSupported;
     }
-    /**
-     * Package private class that contains common information of an IKEv2 authentication
-     * configuration.
-     */
-    abstract static class IkeAuthConfig {
-        @IkeAuthMethod final int mAuthMethod;
+    /** This class contains common information of an IKEv2 authentication configuration. */
+    public abstract static class IkeAuthConfig {
+        @IkeAuthMethod public final int mAuthMethod;
 
         protected IkeAuthConfig(@IkeAuthMethod int authMethod) {
             mAuthMethod = authMethod;
@@ -127,11 +123,11 @@
     }
 
     /**
-     * Package private class that contains configuration for IKEv2 pre-shared-key-based
-     * authentication of local or remote side.
+     * This class represents the configuration to support IKEv2 pre-shared-key-based authentication
+     * of local or remote side.
      */
-    static class IkeAuthPskConfig extends IkeAuthConfig {
-        final byte[] mPsk;
+    public static class IkeAuthPskConfig extends IkeAuthConfig {
+        public final byte[] mPsk;
 
         private IkeAuthPskConfig(byte[] psk) {
             super(IKE_AUTH_METHOD_PSK);
@@ -140,11 +136,11 @@
     }
 
     /**
-     * Package private class that contains configuration for IKEv2 public-key-signature-based
+     * This class represents the configuration to support IKEv2 public-key-signature-based
      * authentication of the remote side.
      */
-    static class IkeAuthDigitalSignRemoteConfig extends IkeAuthConfig {
-        final TrustAnchor mTrustAnchor;
+    public static class IkeAuthDigitalSignRemoteConfig extends IkeAuthConfig {
+        public final TrustAnchor mTrustAnchor;
 
         private IkeAuthDigitalSignRemoteConfig(TrustAnchor trustAnchor) {
             super(IKE_AUTH_METHOD_PUB_KEY_SIGNATURE);
@@ -153,13 +149,13 @@
     }
 
     /**
-     * Package private class that contains configuration to do IKEv2 public-key-signature-based
+     * This class represents the configuration to support IKEv2 public-key-signature-based
      * authentication of the local side.
      */
-    static class IkeAuthDigitalSignLocalConfig extends IkeAuthConfig {
-        final X509Certificate mEndCert;
-        final List<X509Certificate> mIntermediateCerts;
-        final PrivateKey mPrivateKey;
+    public static class IkeAuthDigitalSignLocalConfig extends IkeAuthConfig {
+        public final X509Certificate mEndCert;
+        public final List<X509Certificate> mIntermediateCerts;
+        public final PrivateKey mPrivateKey;
 
         private IkeAuthDigitalSignLocalConfig(
                 X509Certificate clientEndCert,
@@ -173,7 +169,7 @@
     }
 
     /**
-     * Package private class that contains configuration to do EAP authentication of the local side.
+     * This class represents the configuration to support EAP authentication of the local side.
      *
      * <p>EAP MUST be used with IKEv2 public-key-based authentication of the responder to the
      * initiator. Currently IKE library does not support the IKEv2 protocol extension(RFC 5998)
@@ -184,8 +180,8 @@
      * @see <a href="https://tools.ietf.org/html/rfc5998">RFC 5998, An Extension for EAP-Only
      *     Authentication in IKEv2</a>
      */
-    static class IkeAuthEapConfig extends IkeAuthConfig {
-        final EapSessionConfig mEapConfig;
+    public static class IkeAuthEapConfig extends IkeAuthConfig {
+        public final EapSessionConfig mEapConfig;
 
         private IkeAuthEapConfig(EapSessionConfig eapConfig) {
             super(IKE_AUTH_METHOD_EAP);
diff --git a/src/java/com/android/ike/ikev2/IkeTrafficSelector.java b/src/java/android/net/ipsec/ike/IkeTrafficSelector.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/IkeTrafficSelector.java
rename to src/java/android/net/ipsec/ike/IkeTrafficSelector.java
index 1263dc1..65154b9 100644
--- a/src/java/com/android/ike/ikev2/IkeTrafficSelector.java
+++ b/src/java/android/net/ipsec/ike/IkeTrafficSelector.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.IntDef;
 import android.util.ArraySet;
 
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/ikev2/SaProposal.java b/src/java/android/net/ipsec/ike/SaProposal.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/SaProposal.java
rename to src/java/android/net/ipsec/ike/SaProposal.java
index b012ea0..1e0b032 100644
--- a/src/java/com/android/ike/ikev2/SaProposal.java
+++ b/src/java/android/net/ipsec/ike/SaProposal.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.util.ArraySet;
 import android.util.SparseArray;
 
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.Transform;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Transform;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -192,18 +192,15 @@
         return mProtocolId;
     }
 
-    /*Package private*/
-    EncryptionTransform[] getEncryptionTransforms() {
+    public EncryptionTransform[] getEncryptionTransforms() {
         return mEncryptionAlgorithms;
     }
 
-    /*Package private*/
-    IntegrityTransform[] getIntegrityTransforms() {
+    public IntegrityTransform[] getIntegrityTransforms() {
         return mIntegrityAlgorithms;
     }
 
-    /*Package private*/
-    DhGroupTransform[] getDhGroupTransforms() {
+    public DhGroupTransform[] getDhGroupTransforms() {
         return mDhGroups;
     }
 
diff --git a/src/java/com/android/ike/ikev2/TransportModeChildSessionOptions.java b/src/java/android/net/ipsec/ike/TransportModeChildSessionOptions.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/TransportModeChildSessionOptions.java
rename to src/java/android/net/ipsec/ike/TransportModeChildSessionOptions.java
index 8fb4c01..12e0601 100644
--- a/src/java/com/android/ike/ikev2/TransportModeChildSessionOptions.java
+++ b/src/java/android/net/ipsec/ike/TransportModeChildSessionOptions.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import android.annotation.NonNull;
 
diff --git a/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptions.java b/src/java/android/net/ipsec/ike/TunnelModeChildSessionOptions.java
similarity index 91%
rename from src/java/com/android/ike/ikev2/TunnelModeChildSessionOptions.java
rename to src/java/android/net/ipsec/ike/TunnelModeChildSessionOptions.java
index 541930e..cb8268c 100644
--- a/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptions.java
+++ b/src/java/android/net/ipsec/ike/TunnelModeChildSessionOptions.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.AF_INET6;
@@ -22,15 +22,15 @@
 import android.annotation.NonNull;
 import android.net.LinkAddress;
 
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Dhcp;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Dns;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Subnet;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Dns;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Subnet;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Dhcp;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Dns;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Subnet;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Dns;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Subnet;
 
 import java.net.Inet4Address;
 import java.net.Inet6Address;
@@ -54,8 +54,7 @@
         mConfigRequests = configRequests;
     }
 
-    /** Package private */
-    ConfigAttribute[] getConfigurationRequests() {
+    public ConfigAttribute[] getConfigurationRequests() {
         return mConfigRequests;
     }
 
diff --git a/src/java/com/android/ike/ikev2/exceptions/IkeException.java b/src/java/android/net/ipsec/ike/exceptions/IkeException.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/exceptions/IkeException.java
rename to src/java/android/net/ipsec/ike/exceptions/IkeException.java
index 112c5b5..867dcf5 100644
--- a/src/java/com/android/ike/ikev2/exceptions/IkeException.java
+++ b/src/java/android/net/ipsec/ike/exceptions/IkeException.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package android.net.ipsec.ike.exceptions;
 
 /**
  * IkeException is a generic IKE library exception class that provides type safety for all the
diff --git a/src/java/com/android/ike/ikev2/exceptions/IkeInternalException.java b/src/java/android/net/ipsec/ike/exceptions/IkeInternalException.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/exceptions/IkeInternalException.java
rename to src/java/android/net/ipsec/ike/exceptions/IkeInternalException.java
index d5a91e7..29a5af9 100644
--- a/src/java/com/android/ike/ikev2/exceptions/IkeInternalException.java
+++ b/src/java/android/net/ipsec/ike/exceptions/IkeInternalException.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package android.net.ipsec.ike.exceptions;
 
 /**
  * IkeInternalException represents all IKE-library-related exceptions that are not IKE protocol
diff --git a/src/java/com/android/ike/ikev2/exceptions/IkeProtocolException.java b/src/java/android/net/ipsec/ike/exceptions/IkeProtocolException.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/exceptions/IkeProtocolException.java
rename to src/java/android/net/ipsec/ike/exceptions/IkeProtocolException.java
index 0ff47d6..f589a26 100644
--- a/src/java/com/android/ike/ikev2/exceptions/IkeProtocolException.java
+++ b/src/java/android/net/ipsec/ike/exceptions/IkeProtocolException.java
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package android.net.ipsec.ike.exceptions;
 
 import android.annotation.IntDef;
 
-import com.android.ike.ikev2.message.IkeNotifyPayload;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/crypto/KeyGenerationUtils.java b/src/java/com/android/internal/net/crypto/KeyGenerationUtils.java
similarity index 98%
rename from src/java/com/android/ike/crypto/KeyGenerationUtils.java
rename to src/java/com/android/internal/net/crypto/KeyGenerationUtils.java
index 5ac8c57..c9ade7d 100644
--- a/src/java/com/android/ike/crypto/KeyGenerationUtils.java
+++ b/src/java/com/android/internal/net/crypto/KeyGenerationUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.crypto;
+package com.android.internal.net.crypto;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/eap/EapAuthenticator.java b/src/java/com/android/internal/net/eap/EapAuthenticator.java
similarity index 94%
rename from src/java/com/android/ike/eap/EapAuthenticator.java
rename to src/java/com/android/internal/net/eap/EapAuthenticator.java
index 463096c..a6869d7 100644
--- a/src/java/com/android/ike/eap/EapAuthenticator.java
+++ b/src/java/com/android/internal/net/eap/EapAuthenticator.java
@@ -14,19 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.statemachine.EapStateMachine;
-import com.android.ike.utils.Log;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.statemachine.EapStateMachine;
+import com.android.internal.net.utils.Log;
 
 import java.security.SecureRandom;
 import java.util.concurrent.Executor;
diff --git a/src/java/com/android/ike/eap/EapResult.java b/src/java/com/android/internal/net/eap/EapResult.java
similarity index 95%
rename from src/java/com/android/ike/eap/EapResult.java
rename to src/java/com/android/internal/net/eap/EapResult.java
index 0f97581..894dd47 100644
--- a/src/java/com/android/ike/eap/EapResult.java
+++ b/src/java/com/android/internal/net/eap/EapResult.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import android.annotation.NonNull;
 
-import com.android.ike.eap.exceptions.InvalidEapResponseException;
-import com.android.ike.eap.message.EapMessage;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.exceptions.InvalidEapResponseException;
+import com.android.internal.net.eap.message.EapMessage;
 
 /**
  * EapResult represents the return type R for a process operation within the EapStateMachine.
diff --git a/src/java/com/android/ike/eap/IEapCallback.java b/src/java/com/android/internal/net/eap/IEapCallback.java
similarity index 97%
rename from src/java/com/android/ike/eap/IEapCallback.java
rename to src/java/com/android/internal/net/eap/IEapCallback.java
index 7bd8201..fae3edf 100644
--- a/src/java/com/android/ike/eap/IEapCallback.java
+++ b/src/java/com/android/internal/net/eap/IEapCallback.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 /**
  * IEapCallback represents a Callback interface to be implemented by clients of the
diff --git a/src/java/com/android/ike/eap/crypto/Fips186_2Prf.java b/src/java/com/android/internal/net/eap/crypto/Fips186_2Prf.java
similarity index 94%
rename from src/java/com/android/ike/eap/crypto/Fips186_2Prf.java
rename to src/java/com/android/internal/net/eap/crypto/Fips186_2Prf.java
index c98a406..fb1268c 100644
--- a/src/java/com/android/ike/eap/crypto/Fips186_2Prf.java
+++ b/src/java/com/android/internal/net/eap/crypto/Fips186_2Prf.java
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.eap.crypto;
+package com.android.internal.net.eap.crypto;
 
-import static com.android.ike.utils.BigIntegerUtils.bigIntegerToUnsignedByteArray;
-import static com.android.ike.utils.BigIntegerUtils.unsignedByteArrayToBigInteger;
+import static com.android.internal.net.utils.BigIntegerUtils.bigIntegerToUnsignedByteArray;
+import static com.android.internal.net.utils.BigIntegerUtils.unsignedByteArrayToBigInteger;
 
 import com.android.org.bouncycastle.crypto.digests.SHA1Digest;
 
diff --git a/src/java/com/android/ike/eap/crypto/HmacSha256ByteSigner.java b/src/java/com/android/internal/net/eap/crypto/HmacSha256ByteSigner.java
similarity index 87%
rename from src/java/com/android/ike/eap/crypto/HmacSha256ByteSigner.java
rename to src/java/com/android/internal/net/eap/crypto/HmacSha256ByteSigner.java
index db511eb..db6e4b3 100644
--- a/src/java/com/android/ike/eap/crypto/HmacSha256ByteSigner.java
+++ b/src/java/com/android/internal/net/eap/crypto/HmacSha256ByteSigner.java
@@ -14,12 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.crypto;
+package com.android.internal.net.eap.crypto;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-
-import com.android.ike.crypto.KeyGenerationUtils;
-import com.android.ike.crypto.KeyGenerationUtils.ByteSigner;
+import com.android.internal.net.crypto.KeyGenerationUtils;
+import com.android.internal.net.crypto.KeyGenerationUtils.ByteSigner;
 
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
@@ -52,7 +50,6 @@
             mac.init(new SecretKeySpec(keyBytes, MAC_ALGORITHM_STRING));
             return mac.doFinal(dataToSign);
         } catch (NoSuchAlgorithmException | InvalidKeyException ex) {
-            LOG.wtf(TAG, "Error computing HMAC-SHA-256", ex);
             throw new IllegalArgumentException(ex);
         }
     }
diff --git a/src/java/com/android/ike/eap/crypto/ParityBitUtil.java b/src/java/com/android/internal/net/eap/crypto/ParityBitUtil.java
similarity index 98%
rename from src/java/com/android/ike/eap/crypto/ParityBitUtil.java
rename to src/java/com/android/internal/net/eap/crypto/ParityBitUtil.java
index cf821e7..6413ade 100644
--- a/src/java/com/android/ike/eap/crypto/ParityBitUtil.java
+++ b/src/java/com/android/internal/net/eap/crypto/ParityBitUtil.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.crypto;
+package com.android.internal.net.eap.crypto;
 
 import com.android.internal.annotations.VisibleForTesting;
 
diff --git a/src/java/com/android/ike/eap/exceptions/EapInvalidPacketLengthException.java b/src/java/com/android/internal/net/eap/exceptions/EapInvalidPacketLengthException.java
similarity index 93%
rename from src/java/com/android/ike/eap/exceptions/EapInvalidPacketLengthException.java
rename to src/java/com/android/internal/net/eap/exceptions/EapInvalidPacketLengthException.java
index 4f8dff5..ca6d4da 100644
--- a/src/java/com/android/ike/eap/exceptions/EapInvalidPacketLengthException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/EapInvalidPacketLengthException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions;
+package com.android.internal.net.eap.exceptions;
 
-import com.android.ike.eap.message.EapMessage;
+import com.android.internal.net.eap.message.EapMessage;
 
 /**
  * This exception is thrown when the Packet Length for an {@link EapMessage} is invalid.
diff --git a/src/java/com/android/ike/eap/exceptions/EapInvalidRequestException.java b/src/java/com/android/internal/net/eap/exceptions/EapInvalidRequestException.java
similarity index 92%
rename from src/java/com/android/ike/eap/exceptions/EapInvalidRequestException.java
rename to src/java/com/android/internal/net/eap/exceptions/EapInvalidRequestException.java
index 0e92587..8dee31a 100644
--- a/src/java/com/android/ike/eap/exceptions/EapInvalidRequestException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/EapInvalidRequestException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions;
+package com.android.internal.net.eap.exceptions;
 
-import com.android.ike.eap.statemachine.EapStateMachine;
+import com.android.internal.net.eap.statemachine.EapStateMachine;
 
 /**
  * EapInvalidRequestException is thrown when invalid EapMessages are attempted to be processed by
diff --git a/src/java/com/android/ike/eap/exceptions/EapSilentException.java b/src/java/com/android/internal/net/eap/exceptions/EapSilentException.java
similarity index 97%
rename from src/java/com/android/ike/eap/exceptions/EapSilentException.java
rename to src/java/com/android/internal/net/eap/exceptions/EapSilentException.java
index 08abfd2..3cb9211 100644
--- a/src/java/com/android/ike/eap/exceptions/EapSilentException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/EapSilentException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions;
+package com.android.internal.net.eap.exceptions;
 
 /**
  * EapSilentException represents a category of EAP errors that should be silently discarded by
diff --git a/src/java/com/android/ike/eap/exceptions/InvalidEapCodeException.java b/src/java/com/android/internal/net/eap/exceptions/InvalidEapCodeException.java
similarity index 91%
rename from src/java/com/android/ike/eap/exceptions/InvalidEapCodeException.java
rename to src/java/com/android/internal/net/eap/exceptions/InvalidEapCodeException.java
index ee7c528..17a0c4d 100644
--- a/src/java/com/android/ike/eap/exceptions/InvalidEapCodeException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/InvalidEapCodeException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions;
+package com.android.internal.net.eap.exceptions;
 
-import com.android.ike.eap.message.EapMessage;
+import com.android.internal.net.eap.message.EapMessage;
 
 /**
  * This exception is thrown when the EAP Code for an {@link EapMessage} is invalid.
diff --git a/src/java/com/android/ike/eap/exceptions/InvalidEapResponseException.java b/src/java/com/android/internal/net/eap/exceptions/InvalidEapResponseException.java
similarity index 95%
rename from src/java/com/android/ike/eap/exceptions/InvalidEapResponseException.java
rename to src/java/com/android/internal/net/eap/exceptions/InvalidEapResponseException.java
index 68b5e57..c0a12e2 100644
--- a/src/java/com/android/ike/eap/exceptions/InvalidEapResponseException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/InvalidEapResponseException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions;
+package com.android.internal.net.eap.exceptions;
 
 /**
  * InvalidEapResponseException is thrown when an invalid EapResponse is attempted to be constructed.
diff --git a/src/java/com/android/ike/eap/exceptions/UnsupportedEapTypeException.java b/src/java/com/android/internal/net/eap/exceptions/UnsupportedEapTypeException.java
similarity index 91%
rename from src/java/com/android/ike/eap/exceptions/UnsupportedEapTypeException.java
rename to src/java/com/android/internal/net/eap/exceptions/UnsupportedEapTypeException.java
index 1f36d44..f128385 100644
--- a/src/java/com/android/ike/eap/exceptions/UnsupportedEapTypeException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/UnsupportedEapTypeException.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions;
+package com.android.internal.net.eap.exceptions;
 
-import com.android.ike.eap.message.EapData.EapType;
-import com.android.ike.eap.message.EapMessage;
+import com.android.internal.net.eap.message.EapData.EapType;
+import com.android.internal.net.eap.message.EapMessage;
 
 /**
  * UnsupportedEapTypeException is thrown when an {@link EapMessage} is constructed with an
diff --git a/src/java/com/android/ike/eap/exceptions/mschapv2/EapMsChapV2ParsingException.java b/src/java/com/android/internal/net/eap/exceptions/mschapv2/EapMsChapV2ParsingException.java
similarity index 95%
rename from src/java/com/android/ike/eap/exceptions/mschapv2/EapMsChapV2ParsingException.java
rename to src/java/com/android/internal/net/eap/exceptions/mschapv2/EapMsChapV2ParsingException.java
index 0da0075..09f1fae 100644
--- a/src/java/com/android/ike/eap/exceptions/mschapv2/EapMsChapV2ParsingException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/mschapv2/EapMsChapV2ParsingException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.mschapv2;
+package com.android.internal.net.eap.exceptions.mschapv2;
 
 /**
  * EapMsChapV2ParsingException is thrown when an invalid MS-CHAPv2 Type Data is attempted to be
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.java
similarity index 96%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.java
index 8f81ed4..7310d78 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
 /**
  * EapAkaInvalidAuthenticationResponse is thrown when a UICC Challenge is processed during an
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaAuthenticationFailureException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaAuthenticationFailureException.java
similarity index 96%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaAuthenticationFailureException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaAuthenticationFailureException.java
index 4195046..699f22e 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaAuthenticationFailureException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaAuthenticationFailureException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
 /**
  * EapSimAkaAuthenticationFailureException is thrown when an invalid Uicc Challenge is processed
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaIdentityUnavailableException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaIdentityUnavailableException.java
similarity index 96%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaIdentityUnavailableException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaIdentityUnavailableException.java
index c6e4a01..6a42171 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaIdentityUnavailableException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaIdentityUnavailableException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
 import android.telephony.TelephonyManager;
 
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.java
similarity index 92%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.java
index e584444..34a8f04 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPadding;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPadding;
 
 /**
  * EapSimAkaInvalidAtPaddingException is thrown when an {@link AtPadding} with invalid padding is
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidAttributeException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAttributeException.java
similarity index 91%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidAttributeException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAttributeException.java
index 106dfb8..eff0c0c 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidAttributeException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAttributeException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
 
 /**
  * EapSimAkaInvalidAttributeException is thrown when an invalid {@link EapSimAkaAttribute} is
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidLengthException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidLengthException.java
similarity index 96%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidLengthException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidLengthException.java
index d400788..c484b11 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaInvalidLengthException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidLengthException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
 import android.telephony.TelephonyManager;
 
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaUnsupportedAttributeException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaUnsupportedAttributeException.java
similarity index 88%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaUnsupportedAttributeException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaUnsupportedAttributeException.java
index 0731cff..1128917 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimAkaUnsupportedAttributeException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimAkaUnsupportedAttributeException.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
 
 /**
  * EapSimAkaUnsupportedAttributeException is thrown when an unsupported {@link EapSimAkaAttribute}
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimInvalidAtRandException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimInvalidAtRandException.java
similarity index 92%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimInvalidAtRandException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimInvalidAtRandException.java
index b01865a..c1b9200 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimInvalidAtRandException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimInvalidAtRandException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
 
 /**
  * EapSimInvalidAtRandException is thrown when an {@link AtRandSim} with an invalid number of RAND
diff --git a/src/java/com/android/ike/eap/exceptions/simaka/EapSimInvalidTypeDataException.java b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimInvalidTypeDataException.java
similarity index 91%
rename from src/java/com/android/ike/eap/exceptions/simaka/EapSimInvalidTypeDataException.java
rename to src/java/com/android/internal/net/eap/exceptions/simaka/EapSimInvalidTypeDataException.java
index 0015294..a6a2d45 100644
--- a/src/java/com/android/ike/eap/exceptions/simaka/EapSimInvalidTypeDataException.java
+++ b/src/java/com/android/internal/net/eap/exceptions/simaka/EapSimInvalidTypeDataException.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.exceptions.simaka;
+package com.android.internal.net.eap.exceptions.simaka;
 
-import com.android.ike.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
 
 /**
  * EapSimInvalidTypeDataException is thrown when invalid {@link EapSimTypeData} are attempted to be
diff --git a/src/java/com/android/ike/eap/message/EapData.java b/src/java/com/android/internal/net/eap/message/EapData.java
similarity index 98%
rename from src/java/com/android/ike/eap/message/EapData.java
rename to src/java/com/android/internal/net/eap/message/EapData.java
index 5e31716..86dc43b 100644
--- a/src/java/com/android/ike/eap/message/EapData.java
+++ b/src/java/com/android/internal/net/eap/message/EapData.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message;
+package com.android.internal.net.eap.message;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
diff --git a/src/java/com/android/ike/eap/message/EapMessage.java b/src/java/com/android/internal/net/eap/message/EapMessage.java
similarity index 92%
rename from src/java/com/android/ike/eap/message/EapMessage.java
rename to src/java/com/android/internal/net/eap/message/EapMessage.java
index 1f6cdfc..bb1c632 100644
--- a/src/java/com/android/ike/eap/message/EapMessage.java
+++ b/src/java/com/android/internal/net/eap/message/EapMessage.java
@@ -14,23 +14,23 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message;
+package com.android.internal.net.eap.message;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_NAK;
-import static com.android.ike.eap.message.EapData.NOTIFICATION_DATA;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_NAK;
+import static com.android.internal.net.eap.message.EapData.NOTIFICATION_DATA;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.EapInvalidPacketLengthException;
-import com.android.ike.eap.exceptions.EapSilentException;
-import com.android.ike.eap.exceptions.InvalidEapCodeException;
-import com.android.ike.eap.exceptions.UnsupportedEapTypeException;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidPacketLengthException;
+import com.android.internal.net.eap.exceptions.EapSilentException;
+import com.android.internal.net.eap.exceptions.InvalidEapCodeException;
+import com.android.internal.net.eap.exceptions.UnsupportedEapTypeException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2TypeData.java b/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2TypeData.java
similarity index 98%
rename from src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2TypeData.java
rename to src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2TypeData.java
index a31f4a0..985e0da 100644
--- a/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2TypeData.java
+++ b/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2TypeData.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.EapMessage;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.EapMessage;
 
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
diff --git a/src/java/com/android/ike/eap/message/simaka/EapAkaAttributeFactory.java b/src/java/com/android/internal/net/eap/message/simaka/EapAkaAttributeFactory.java
similarity index 73%
rename from src/java/com/android/ike/eap/message/simaka/EapAkaAttributeFactory.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapAkaAttributeFactory.java
index 2a0c738..5b68781 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapAkaAttributeFactory.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapAkaAttributeFactory.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTS;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_BIDDING;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTS;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_BIDDING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAuts;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtBidding;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRes;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAuts;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtBidding;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRes;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeAttributeFactory.java b/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeAttributeFactory.java
similarity index 80%
rename from src/java/com/android/ike/eap/message/simaka/EapAkaPrimeAttributeFactory.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeAttributeFactory.java
index ed7ddc5..46f97e5 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeAttributeFactory.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeAttributeFactory.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdf;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdf;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeTypeData.java b/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeTypeData.java
similarity index 94%
rename from src/java/com/android/ike/eap/message/simaka/EapAkaPrimeTypeData.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeTypeData.java
index 7f06d68..23dcd02 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeTypeData.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeTypeData.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
 import android.annotation.NonNull;
 
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
 
 import java.util.LinkedHashMap;
 import java.util.List;
diff --git a/src/java/com/android/ike/eap/message/simaka/EapAkaTypeData.java b/src/java/com/android/internal/net/eap/message/simaka/EapAkaTypeData.java
similarity index 97%
rename from src/java/com/android/ike/eap/message/simaka/EapAkaTypeData.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapAkaTypeData.java
index ceee3e7..e3ce817 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapAkaTypeData.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapAkaTypeData.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
 import android.annotation.NonNull;
 
-import com.android.ike.eap.message.EapMessage;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.message.EapMessage;
 
 import java.util.HashMap;
 import java.util.HashSet;
diff --git a/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttribute.java b/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttribute.java
similarity index 98%
rename from src/java/com/android/ike/eap/message/simaka/EapSimAkaAttribute.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttribute.java
index dec511c..73d6752 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttribute.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttribute.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAtPaddingException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimInvalidAtRandException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAtPaddingException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimInvalidAtRandException;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
diff --git a/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttributeFactory.java b/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttributeFactory.java
similarity index 65%
rename from src/java/com/android/ike/eap/message/simaka/EapSimAkaAttributeFactory.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttributeFactory.java
index 9a1ae7a..df79a25 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttributeFactory.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttributeFactory.java
@@ -14,37 +14,37 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_CLIENT_ERROR_CODE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER_TOO_SMALL;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IDENTITY;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_S;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PADDING;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.SKIPPABLE_ATTRIBUTE_RANGE_START;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_CLIENT_ERROR_CODE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER_TOO_SMALL;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_S;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PADDING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.SKIPPABLE_ATTRIBUTE_RANGE_START;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtCounter;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtCounterTooSmall;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtFullauthIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceS;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPadding;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtCounter;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtCounterTooSmall;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtFullauthIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceS;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPadding;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/eap/message/simaka/EapSimAkaTypeData.java b/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaTypeData.java
similarity index 91%
rename from src/java/com/android/ike/eap/message/simaka/EapSimAkaTypeData.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapSimAkaTypeData.java
index 78aede5..c84fdf4 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapSimAkaTypeData.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaTypeData.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_ATTRIBUTE_STRING;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_ATTRIBUTE_STRING;
 
 import android.annotation.NonNull;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimInvalidAtRandException;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimInvalidAtRandException;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
 
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
diff --git a/src/java/com/android/ike/eap/message/simaka/EapSimAttributeFactory.java b/src/java/com/android/internal/net/eap/message/simaka/EapSimAttributeFactory.java
similarity index 74%
rename from src/java/com/android/ike/eap/message/simaka/EapSimAttributeFactory.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapSimAttributeFactory.java
index 1e03f35..8be348e 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapSimAttributeFactory.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapSimAttributeFactory.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_MT;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_SELECTED_VERSION;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_MT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_SELECTED_VERSION;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.LENGTH_SCALING;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/eap/message/simaka/EapSimTypeData.java b/src/java/com/android/internal/net/eap/message/simaka/EapSimTypeData.java
similarity index 97%
rename from src/java/com/android/ike/eap/message/simaka/EapSimTypeData.java
rename to src/java/com/android/internal/net/eap/message/simaka/EapSimTypeData.java
index df69932..ff1be60 100644
--- a/src/java/com/android/ike/eap/message/simaka/EapSimTypeData.java
+++ b/src/java/com/android/internal/net/eap/message/simaka/EapSimTypeData.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
 import android.annotation.NonNull;
 
-import com.android.ike.eap.message.EapMessage;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.message.EapMessage;
 
 import java.util.HashMap;
 import java.util.HashSet;
diff --git a/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapAkaMethodStateMachine.java
similarity index 85%
rename from src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapAkaMethodStateMachine.java
index 8940c33..b26c8e9 100644
--- a/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapAkaMethodStateMachine.java
@@ -14,60 +14,60 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_AUTHENTICATION_REJECT;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CLIENT_ERROR;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_SYNCHRONIZATION_FAILURE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_BIDDING;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ENCR_DATA;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IV;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_AUTHENTICATION_REJECT;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CLIENT_ERROR;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_SYNCHRONIZATION_FAILURE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_BIDDING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ENCR_DATA;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IV;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
 
 import android.annotation.Nullable;
 import android.content.Context;
+import android.net.eap.EapSessionConfig.EapAkaConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.EapSessionConfig.EapAkaConfig;
-import com.android.ike.eap.crypto.Fips186_2Prf;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.EapSilentException;
-import com.android.ike.eap.exceptions.simaka.EapAkaInvalidAuthenticationResponse;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
-import com.android.ike.eap.message.EapData.EapMethod;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAuts;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtBidding;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRes;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.crypto.Fips186_2Prf;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.EapSilentException;
+import com.android.internal.net.eap.exceptions.simaka.EapAkaInvalidAuthenticationResponse;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
+import com.android.internal.net.eap.message.EapData.EapMethod;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAuts;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtBidding;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRes;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
 
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
diff --git a/src/java/com/android/ike/eap/statemachine/EapAkaPrimeMethodStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachine.java
similarity index 88%
rename from src/java/com/android/ike/eap/statemachine/EapAkaPrimeMethodStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachine.java
index 9ba7dc2..d2e8ba2 100644
--- a/src/java/com/android/ike/eap/statemachine/EapAkaPrimeMethodStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachine.java
@@ -14,34 +14,34 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CLIENT_ERROR;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CLIENT_ERROR;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
 
 import android.annotation.Nullable;
 import android.content.Context;
+import android.net.eap.EapSessionConfig.EapAkaPrimeConfig;
 
-import com.android.ike.crypto.KeyGenerationUtils;
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapSessionConfig.EapAkaPrimeConfig;
-import com.android.ike.eap.crypto.HmacSha256ByteSigner;
-import com.android.ike.eap.message.EapData.EapMethod;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData.EapAkaPrimeTypeDataDecoder;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdf;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.crypto.KeyGenerationUtils;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.crypto.HmacSha256ByteSigner;
+import com.android.internal.net.eap.message.EapData.EapMethod;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData.EapAkaPrimeTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdf;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
 
 import java.nio.BufferOverflowException;
 import java.nio.BufferUnderflowException;
diff --git a/src/java/com/android/ike/eap/statemachine/EapMethodStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapMethodStateMachine.java
similarity index 82%
rename from src/java/com/android/ike/eap/statemachine/EapMethodStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapMethodStateMachine.java
index 31a5f2f..bab182b 100644
--- a/src/java/com/android/ike/eap/statemachine/EapMethodStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapMethodStateMachine.java
@@ -14,23 +14,23 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
 
 import android.annotation.Nullable;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData.EapMethod;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.utils.SimpleStateMachine;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData.EapMethod;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.utils.SimpleStateMachine;
 
 /**
  * EapMethodStateMachine is an abstract class representing a state machine for EAP Method
diff --git a/src/java/com/android/ike/eap/statemachine/EapMsChapV2MethodStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2MethodStateMachine.java
similarity index 90%
rename from src/java/com/android/ike/eap/statemachine/EapMsChapV2MethodStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapMsChapV2MethodStateMachine.java
index 96e6b95..490b8ba 100644
--- a/src/java/com/android/ike/eap/statemachine/EapMsChapV2MethodStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2MethodStateMachine.java
@@ -14,44 +14,45 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_STRING;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_RESPONSE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_OP_CODE_STRING;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest.EAP_ERROR_CODE_STRING;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureResponse.getEapMsChapV2FailureResponse;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessResponse.getEapMsChapV2SuccessResponse;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_STRING;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_RESPONSE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_OP_CODE_STRING;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest.EAP_ERROR_CODE_STRING;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureResponse.getEapMsChapV2FailureResponse;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessResponse.getEapMsChapV2SuccessResponse;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.EapSessionConfig.EapMsChapV2Config;
-import com.android.ike.eap.crypto.ParityBitUtil;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.EapSilentException;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapData.EapMethod;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeResponse;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
-import com.android.ike.utils.Log;
+import android.net.eap.EapSessionConfig.EapMsChapV2Config;
+
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.crypto.ParityBitUtil;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.EapSilentException;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapData.EapMethod;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeResponse;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.utils.Log;
 import com.android.org.bouncycastle.crypto.digests.MD4Digest;
 
 import java.io.UnsupportedEncodingException;
diff --git a/src/java/com/android/ike/eap/statemachine/EapSimAkaMethodStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapSimAkaMethodStateMachine.java
similarity index 89%
rename from src/java/com/android/ike/eap/statemachine/EapSimAkaMethodStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapSimAkaMethodStateMachine.java
index 7f1933a..dfd1627 100644
--- a/src/java/com/android/ike/eap/statemachine/EapSimAkaMethodStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapSimAkaMethodStateMachine.java
@@ -14,35 +14,35 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_RESPONSE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NOTIFICATION;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_RESPONSE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NOTIFICATION;
 
+import android.net.eap.EapSessionConfig.EapUiccConfig;
 import android.telephony.TelephonyManager;
 import android.util.Base64;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapUiccConfig;
-import com.android.ike.eap.crypto.Fips186_2Prf;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.EapSilentException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData;
-import com.android.ike.utils.Log;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.crypto.Fips186_2Prf;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.EapSilentException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData;
+import com.android.internal.net.utils.Log;
 
 import java.nio.ByteBuffer;
 import java.security.GeneralSecurityException;
diff --git a/src/java/com/android/ike/eap/statemachine/EapSimMethodStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapSimMethodStateMachine.java
similarity index 87%
rename from src/java/com/android/ike/eap/statemachine/EapSimMethodStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapSimMethodStateMachine.java
index 854d05b..005cfb9 100644
--- a/src/java/com/android/ike/eap/statemachine/EapSimMethodStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapSimMethodStateMachine.java
@@ -14,55 +14,55 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ENCR_DATA;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IV;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_CLIENT_ERROR;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ENCR_DATA;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IV;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_CLIENT_ERROR;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
 
 import android.annotation.Nullable;
 import android.content.Context;
+import android.net.eap.EapSessionConfig.EapSimConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.EapSessionConfig.EapSimConfig;
-import com.android.ike.eap.crypto.Fips186_2Prf;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.EapSilentException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
-import com.android.ike.eap.message.EapData.EapMethod;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.crypto.Fips186_2Prf;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.EapSilentException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
+import com.android.internal.net.eap.message.EapData.EapMethod;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
 
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
diff --git a/src/java/com/android/ike/eap/statemachine/EapStateMachine.java b/src/java/com/android/internal/net/eap/statemachine/EapStateMachine.java
similarity index 86%
rename from src/java/com/android/ike/eap/statemachine/EapStateMachine.java
rename to src/java/com/android/internal/net/eap/statemachine/EapStateMachine.java
index f2030a1..f3e933e 100644
--- a/src/java/com/android/ike/eap/statemachine/EapStateMachine.java
+++ b/src/java/com/android/internal/net/eap/statemachine/EapStateMachine.java
@@ -14,46 +14,46 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapAuthenticator.LOG;
-import static com.android.ike.eap.message.EapData.EAP_IDENTITY;
-import static com.android.ike.eap.message.EapData.EAP_NAK;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_STRING;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_RESPONSE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_STRING;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.EapAuthenticator.LOG;
+import static com.android.internal.net.eap.message.EapData.EAP_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_NAK;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_STRING;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_RESPONSE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_STRING;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
+import android.net.eap.EapSessionConfig.EapAkaConfig;
+import android.net.eap.EapSessionConfig.EapAkaPrimeConfig;
+import android.net.eap.EapSessionConfig.EapMethodConfig;
+import android.net.eap.EapSessionConfig.EapMsChapV2Config;
+import android.net.eap.EapSessionConfig.EapSimConfig;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.EapSessionConfig.EapAkaConfig;
-import com.android.ike.eap.EapSessionConfig.EapAkaPrimeConfig;
-import com.android.ike.eap.EapSessionConfig.EapMethodConfig;
-import com.android.ike.eap.EapSessionConfig.EapMsChapV2Config;
-import com.android.ike.eap.EapSessionConfig.EapSimConfig;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.EapSilentException;
-import com.android.ike.eap.exceptions.UnsupportedEapTypeException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapData.EapMethod;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.utils.SimpleStateMachine;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.EapSilentException;
+import com.android.internal.net.eap.exceptions.UnsupportedEapTypeException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapData.EapMethod;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.utils.SimpleStateMachine;
 
 import java.nio.charset.StandardCharsets;
 import java.security.SecureRandom;
diff --git a/src/java/com/android/ike/ikev2/AbstractSessionStateMachine.java b/src/java/com/android/internal/net/ipsec/ike/AbstractSessionStateMachine.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/AbstractSessionStateMachine.java
rename to src/java/com/android/internal/net/ipsec/ike/AbstractSessionStateMachine.java
index aaeb4f4..8212284 100644
--- a/src/java/com/android/ike/ikev2/AbstractSessionStateMachine.java
+++ b/src/java/com/android/internal/net/ipsec/ike/AbstractSessionStateMachine.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
-import static com.android.ike.ikev2.IkeManager.getIkeLog;
+import static android.net.ipsec.ike.IkeManager.getIkeLog;
 
 import android.os.Looper;
 import android.os.Message;
diff --git a/src/java/com/android/ike/ikev2/ChildSessionStateMachine.java b/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachine.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/ChildSessionStateMachine.java
rename to src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachine.java
index 0d591fe..889d8c1 100644
--- a/src/java/com/android/ike/ikev2/ChildSessionStateMachine.java
+++ b/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachine.java
@@ -13,28 +13,29 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
-import static com.android.ike.ikev2.IkeManager.getIkeLog;
-import static com.android.ike.ikev2.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_DELETE_CHILD;
-import static com.android.ike.ikev2.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_REKEY_CHILD;
-import static com.android.ike.ikev2.SaProposal.DH_GROUP_NONE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_CREATE_CHILD_SA;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_IKE_AUTH;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
-import static com.android.ike.ikev2.message.IkeHeader.ExchangeType;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_REKEY_SA;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_USE_TRANSPORT_MODE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_CP;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_DELETE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_KE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NONCE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_SA;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_TS_INITIATOR;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_TS_RESPONDER;
-import static com.android.ike.ikev2.message.IkePayload.PROTOCOL_ID_ESP;
+import static android.net.ipsec.ike.IkeManager.getIkeLog;
+import static android.net.ipsec.ike.SaProposal.DH_GROUP_NONE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
+
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_DELETE_CHILD;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_REKEY_CHILD;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_CREATE_CHILD_SA;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_IKE_AUTH;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.ExchangeType;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_REKEY_SA;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_USE_TRANSPORT_MODE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_CP;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_DELETE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_KE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NONCE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_SA;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_TS_INITIATOR;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_TS_RESPONDER;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PROTOCOL_ID_ESP;
 
 import android.annotation.IntDef;
 import android.annotation.Nullable;
@@ -44,39 +45,46 @@
 import android.net.IpSecManager.SecurityParameterIndex;
 import android.net.IpSecManager.SpiUnavailableException;
 import android.net.IpSecManager.UdpEncapsulationSocket;
+import android.net.ipsec.ike.ChildSaProposal;
+import android.net.ipsec.ike.ChildSessionCallback;
+import android.net.ipsec.ike.ChildSessionConfiguration;
+import android.net.ipsec.ike.ChildSessionOptions;
+import android.net.ipsec.ike.IkeTrafficSelector;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.TunnelModeChildSessionOptions;
+import android.net.ipsec.ike.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeInternalException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.os.Looper;
 import android.os.Message;
 import android.util.Pair;
 import android.util.SparseArray;
 
-import com.android.ike.ikev2.IkeLocalRequestScheduler.ChildLocalRequest;
-import com.android.ike.ikev2.IkeSessionStateMachine.IkeExchangeSubType;
-import com.android.ike.ikev2.SaRecord.ChildSaRecord;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.IkeException;
-import com.android.ike.ikev2.exceptions.IkeInternalException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidKeException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
-import com.android.ike.ikev2.exceptions.TemporaryFailureException;
-import com.android.ike.ikev2.exceptions.TsUnacceptableException;
-import com.android.ike.ikev2.message.IkeConfigPayload;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
-import com.android.ike.ikev2.message.IkeDeletePayload;
-import com.android.ike.ikev2.message.IkeKePayload;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeNoncePayload;
-import com.android.ike.ikev2.message.IkeNotifyPayload;
-import com.android.ike.ikev2.message.IkeNotifyPayload.NotifyType;
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload;
-import com.android.ike.ikev2.message.IkeSaPayload.ChildProposal;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeTsPayload;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.ChildLocalRequest;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IkeExchangeSubType;
+import com.android.internal.net.ipsec.ike.SaRecord.ChildSaRecord;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidKeException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.exceptions.TemporaryFailureException;
+import com.android.internal.net.ipsec.ike.exceptions.TsUnacceptableException;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeDeletePayload;
+import com.android.internal.net.ipsec.ike.message.IkeKePayload;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeNoncePayload;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NotifyType;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.ChildProposal;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeTsPayload;
 import com.android.internal.util.State;
 
 import java.io.IOException;
diff --git a/src/java/com/android/ike/ikev2/ChildSessionStateMachineFactory.java b/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory.java
similarity index 93%
rename from src/java/com/android/ike/ikev2/ChildSessionStateMachineFactory.java
rename to src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory.java
index dc68e9f..5282d02 100644
--- a/src/java/com/android/ike/ikev2/ChildSessionStateMachineFactory.java
+++ b/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory.java
@@ -14,14 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
 import android.content.Context;
 import android.net.IpSecManager;
+import android.net.ipsec.ike.ChildSessionCallback;
+import android.net.ipsec.ike.ChildSessionOptions;
 import android.os.Looper;
 
-import com.android.ike.ikev2.ChildSessionStateMachine.IChildSessionSmCallback;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachine.IChildSessionSmCallback;
 
 import java.util.concurrent.Executor;
 
diff --git a/src/java/com/android/ike/ikev2/IkeDhParams.java b/src/java/com/android/internal/net/ipsec/ike/IkeDhParams.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/IkeDhParams.java
rename to src/java/com/android/internal/net/ipsec/ike/IkeDhParams.java
index 604353a..44373fc 100644
--- a/src/java/com/android/ike/ikev2/IkeDhParams.java
+++ b/src/java/com/android/internal/net/ipsec/ike/IkeDhParams.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
 /** IkeDhParams contains Diffie-Hellman constants for IKEv2 supported DH Groups */
 public class IkeDhParams {
diff --git a/src/java/com/android/ike/ikev2/IkeEapAuthenticatorFactory.java b/src/java/com/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory.java
similarity index 87%
rename from src/java/com/android/ike/ikev2/IkeEapAuthenticatorFactory.java
rename to src/java/com/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory.java
index 75ddc16..b0d6f12 100644
--- a/src/java/com/android/ike/ikev2/IkeEapAuthenticatorFactory.java
+++ b/src/java/com/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 import android.os.Looper;
 
-import com.android.ike.eap.EapAuthenticator;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.IEapCallback;
+import com.android.internal.net.eap.EapAuthenticator;
+import com.android.internal.net.eap.IEapCallback;
 
 /** Package private factory for building EapAuthenticator instances. */
 final class IkeEapAuthenticatorFactory {
diff --git a/src/java/com/android/ike/ikev2/IkeLocalRequestScheduler.java b/src/java/com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/IkeLocalRequestScheduler.java
rename to src/java/com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler.java
index 5039f2a..b7bf870 100644
--- a/src/java/com/android/ike/ikev2/IkeLocalRequestScheduler.java
+++ b/src/java/com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler.java
@@ -13,7 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
+
+import android.net.ipsec.ike.ChildSessionCallback;
+import android.net.ipsec.ike.ChildSessionOptions;
 
 import java.util.LinkedList;
 
diff --git a/src/java/com/android/ike/ikev2/IkeSessionStateMachine.java b/src/java/com/android/internal/net/ipsec/ike/IkeSessionStateMachine.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/IkeSessionStateMachine.java
rename to src/java/com/android/internal/net/ipsec/ike/IkeSessionStateMachine.java
index 3e5d979..03c419d 100644
--- a/src/java/com/android/ike/ikev2/IkeSessionStateMachine.java
+++ b/src/java/com/android/internal/net/ipsec/ike/IkeSessionStateMachine.java
@@ -13,32 +13,44 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_CHILD_SA_NOT_FOUND;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SYNTAX;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_ADDITIONAL_SAS;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ErrorType;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_OK;
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_PARTIAL;
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_PROTECTED_ERROR;
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_UNPROTECTED_ERROR;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_IKEV2_FRAGMENTATION_SUPPORTED;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_DESTINATION_IP;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_SOURCE_IP;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_REKEY_SA;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_CP;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_DELETE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_VENDOR;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_CHILD_SA_NOT_FOUND;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SYNTAX;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_ADDITIONAL_SAS;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ErrorType;
+
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_OK;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_PARTIAL;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_PROTECTED_ERROR;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_UNPROTECTED_ERROR;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_IKEV2_FRAGMENTATION_SUPPORTED;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_DESTINATION_IP;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_SOURCE_IP;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_REKEY_SA;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_CP;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_DELETE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_VENDOR;
 
 import android.annotation.IntDef;
 import android.content.Context;
 import android.net.IpSecManager;
 import android.net.IpSecManager.ResourceUnavailableException;
 import android.net.IpSecManager.UdpEncapsulationSocket;
+import android.net.ipsec.ike.ChildSessionCallback;
+import android.net.ipsec.ike.ChildSessionOptions;
+import android.net.ipsec.ike.IkeSaProposal;
+import android.net.ipsec.ike.IkeSessionCallback;
+import android.net.ipsec.ike.IkeSessionOptions;
+import android.net.ipsec.ike.IkeSessionOptions.IkeAuthConfig;
+import android.net.ipsec.ike.IkeSessionOptions.IkeAuthDigitalSignRemoteConfig;
+import android.net.ipsec.ike.IkeSessionOptions.IkeAuthPskConfig;
+import android.net.ipsec.ike.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeInternalException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -49,52 +61,46 @@
 import android.util.Pair;
 import android.util.SparseArray;
 
-import com.android.ike.eap.EapAuthenticator;
-import com.android.ike.eap.IEapCallback;
-import com.android.ike.ikev2.ChildSessionStateMachine.CreateChildSaHelper;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.ChildLocalRequest;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.LocalRequest;
-import com.android.ike.ikev2.IkeSessionOptions.IkeAuthConfig;
-import com.android.ike.ikev2.IkeSessionOptions.IkeAuthDigitalSignRemoteConfig;
-import com.android.ike.ikev2.IkeSessionOptions.IkeAuthPskConfig;
-import com.android.ike.ikev2.SaRecord.IkeSaRecord;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeException;
-import com.android.ike.ikev2.exceptions.IkeInternalException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
-import com.android.ike.ikev2.message.IkeAuthDigitalSignPayload;
-import com.android.ike.ikev2.message.IkeAuthPayload;
-import com.android.ike.ikev2.message.IkeAuthPskPayload;
-import com.android.ike.ikev2.message.IkeCertPayload;
-import com.android.ike.ikev2.message.IkeCertX509CertPayload;
-import com.android.ike.ikev2.message.IkeDeletePayload;
-import com.android.ike.ikev2.message.IkeEapPayload;
-import com.android.ike.ikev2.message.IkeHeader;
-import com.android.ike.ikev2.message.IkeHeader.ExchangeType;
-import com.android.ike.ikev2.message.IkeIdPayload;
-import com.android.ike.ikev2.message.IkeInformationalPayload;
-import com.android.ike.ikev2.message.IkeKePayload;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResult;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultError;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultOk;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultPartial;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultProtectedError;
-import com.android.ike.ikev2.message.IkeNoncePayload;
-import com.android.ike.ikev2.message.IkeNotifyPayload;
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IkeProposal;
-import com.android.ike.ikev2.message.IkeTsPayload;
-import com.android.ike.ikev2.utils.Retransmitter;
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.eap.EapAuthenticator;
+import com.android.internal.net.eap.IEapCallback;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachine.CreateChildSaHelper;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.ChildLocalRequest;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.LocalRequest;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecord;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.message.IkeAuthDigitalSignPayload;
+import com.android.internal.net.ipsec.ike.message.IkeAuthPayload;
+import com.android.internal.net.ipsec.ike.message.IkeAuthPskPayload;
+import com.android.internal.net.ipsec.ike.message.IkeCertPayload;
+import com.android.internal.net.ipsec.ike.message.IkeCertX509CertPayload;
+import com.android.internal.net.ipsec.ike.message.IkeDeletePayload;
+import com.android.internal.net.ipsec.ike.message.IkeEapPayload;
+import com.android.internal.net.ipsec.ike.message.IkeHeader;
+import com.android.internal.net.ipsec.ike.message.IkeHeader.ExchangeType;
+import com.android.internal.net.ipsec.ike.message.IkeIdPayload;
+import com.android.internal.net.ipsec.ike.message.IkeInformationalPayload;
+import com.android.internal.net.ipsec.ike.message.IkeKePayload;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResult;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultError;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultOk;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultPartial;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultProtectedError;
+import com.android.internal.net.ipsec.ike.message.IkeNoncePayload;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IkeProposal;
+import com.android.internal.net.ipsec.ike.message.IkeTsPayload;
+import com.android.internal.net.ipsec.ike.utils.Retransmitter;
 import com.android.internal.util.State;
 
 import dalvik.system.CloseGuard;
@@ -375,9 +381,9 @@
     @VisibleForTesting final State mDeleteIkeLocalDelete = new DeleteIkeLocalDelete();
     // TODO: Add InfoLocal.
 
-    // Testing constructor
+    /** Constructor for testing. */
     @VisibleForTesting
-    IkeSessionStateMachine(
+    public IkeSessionStateMachine(
             Looper looper,
             Context context,
             IpSecManager ipSecManager,
@@ -435,8 +441,8 @@
         start();
     }
 
-    /** Package private constructor */
-    IkeSessionStateMachine(
+    /** Construct an instance of IkeSessionStateMachine. */
+    public IkeSessionStateMachine(
             Looper looper,
             Context context,
             IpSecManager ipSecManager,
@@ -498,11 +504,13 @@
         }
     }
 
-    void openSession() {
+    /** Initiates IKE setup procedure. */
+    public void openSession() {
         sendMessage(CMD_LOCAL_REQUEST_CREATE_IKE, new LocalRequest(CMD_LOCAL_REQUEST_CREATE_IKE));
     }
 
-    void openChildSession(
+    /** Schedules a Create Child procedure. */
+    public void openChildSession(
             ChildSessionOptions childSessionOptions, ChildSessionCallback childSessionCallback) {
         if (childSessionCallback == null) {
             throw new IllegalArgumentException("Child Session Callback must be provided");
@@ -520,7 +528,8 @@
                         CMD_LOCAL_REQUEST_CREATE_CHILD, childSessionCallback, childSessionOptions));
     }
 
-    void closeChildSession(ChildSessionCallback childSessionCallback) {
+    /** Schedules a Delete Child procedure. */
+    public void closeChildSession(ChildSessionCallback childSessionCallback) {
         if (childSessionCallback == null) {
             throw new IllegalArgumentException("Child Session Callback must be provided");
         }
@@ -534,11 +543,13 @@
                 new ChildLocalRequest(CMD_LOCAL_REQUEST_DELETE_CHILD, childSessionCallback, null));
     }
 
-    void closeSession() {
+    /** Initiates Delete IKE procedure. */
+    public void closeSession() {
         sendMessage(CMD_LOCAL_REQUEST_DELETE_IKE, new LocalRequest(CMD_LOCAL_REQUEST_DELETE_IKE));
     }
 
-    void killSession() {
+    /** Forcibly close IKE Session. */
+    public void killSession() {
         // TODO: b/142977160 Support closing IKE Sesison immediately.
     }
 
@@ -2308,7 +2319,8 @@
     }
 
     /** CreateIkeLocalIkeInit represents state when IKE library initiates IKE_INIT exchange. */
-    class CreateIkeLocalIkeInit extends BusyState {
+    @VisibleForTesting
+    public class CreateIkeLocalIkeInit extends BusyState {
         private IkeSecurityParameterIndex mLocalIkeSpiResource;
         private IkeSecurityParameterIndex mRemoteIkeSpiResource;
         private Retransmitter mRetransmitter;
@@ -2957,7 +2969,7 @@
                                             + " notify type: "
                                             + notifyPayload.notifyType);
                         }
-
+                        break;
                     default:
                         logw(
                                 "Received unexpected payload in IKE AUTH response. Payload"
diff --git a/src/java/com/android/ike/ikev2/IkeSocket.java b/src/java/com/android/internal/net/ipsec/ike/IkeSocket.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/IkeSocket.java
rename to src/java/com/android/internal/net/ipsec/ike/IkeSocket.java
index d973119..2f853c7 100644
--- a/src/java/com/android/ike/ikev2/IkeSocket.java
+++ b/src/java/com/android/internal/net/ipsec/ike/IkeSocket.java
@@ -14,24 +14,23 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
+import static android.net.ipsec.ike.IkeManager.getIkeLog;
 import static android.system.OsConstants.F_SETFL;
 import static android.system.OsConstants.SOCK_DGRAM;
 import static android.system.OsConstants.SOCK_NONBLOCK;
 
-import static com.android.ike.ikev2.IkeManager.getIkeLog;
-
 import android.net.IpSecManager.UdpEncapsulationSocket;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.os.Handler;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.util.LongSparseArray;
 
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.message.IkeHeader;
-import com.android.ike.ikev2.utils.PacketReader;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.message.IkeHeader;
+import com.android.internal.net.ipsec.ike.utils.PacketReader;
 
 import java.io.FileDescriptor;
 import java.io.IOException;
diff --git a/src/java/com/android/ike/ikev2/SaRecord.java b/src/java/com/android/internal/net/ipsec/ike/SaRecord.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/SaRecord.java
rename to src/java/com/android/internal/net/ipsec/ike/SaRecord.java
index e86b5c5..035af17 100644
--- a/src/java/com/android/ike/ikev2/SaRecord.java
+++ b/src/java/com/android/internal/net/ipsec/ike/SaRecord.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
-import static com.android.ike.ikev2.IkeManager.getIkeLog;
+import static android.net.ipsec.ike.IkeManager.getIkeLog;
 
 import android.annotation.Nullable;
 import android.content.Context;
@@ -26,18 +26,18 @@
 import android.net.IpSecManager.UdpEncapsulationSocket;
 import android.net.IpSecTransform;
 
-import com.android.ike.ikev2.IkeLocalRequestScheduler.ChildLocalRequest;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.LocalRequest;
-import com.android.ike.ikev2.IkeSessionStateMachine.IkeSecurityParameterIndex;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.message.IkeKePayload;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultPartial;
-import com.android.ike.ikev2.message.IkeNoncePayload;
-import com.android.ike.ikev2.message.IkePayload;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.ChildLocalRequest;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.LocalRequest;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IkeSecurityParameterIndex;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.message.IkeKePayload;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultPartial;
+import com.android.internal.net.ipsec.ike.message.IkeNoncePayload;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
 
 import dalvik.system.CloseGuard;
 
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeCipher.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCipher.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/crypto/IkeCipher.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeCipher.java
index 2543e01..33a8b37 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeCipher.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCipher.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import android.net.IpSecAlgorithm;
+import android.net.ipsec.ike.SaProposal;
 
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
 
 import java.security.NoSuchAlgorithmException;
 import java.security.Provider;
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeCombinedModeCipher.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCombinedModeCipher.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/crypto/IkeCombinedModeCipher.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeCombinedModeCipher.java
index ad3edea..4bb1d34 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeCombinedModeCipher.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCombinedModeCipher.java
@@ -14,11 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import android.net.IpSecAlgorithm;
-
-import com.android.ike.ikev2.SaProposal;
+import android.net.ipsec.ike.SaProposal;
 
 import java.nio.ByteBuffer;
 import java.security.InvalidAlgorithmParameterException;
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeCrypto.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCrypto.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/crypto/IkeCrypto.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeCrypto.java
index abc9d39..65a676b 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeCrypto.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCrypto.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 /**
  * IkeCrypto is an abstract class that represents common information for all negotiated
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeMac.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMac.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/crypto/IkeMac.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeMac.java
index 028f746..ee45cc9 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeMac.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMac.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
-import com.android.ike.crypto.KeyGenerationUtils.ByteSigner;
+import com.android.internal.net.crypto.KeyGenerationUtils.ByteSigner;
 
 import java.nio.ByteBuffer;
 import java.security.InvalidKeyException;
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeMacIntegrity.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/crypto/IkeMacIntegrity.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity.java
index 179b264..8f2173f 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeMacIntegrity.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import android.net.IpSecAlgorithm;
+import android.net.ipsec.ike.SaProposal;
 
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
 
 import java.security.Provider;
 import java.util.Arrays;
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeMacPrf.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacPrf.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/crypto/IkeMacPrf.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacPrf.java
index b25ba34..1d81aae 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeMacPrf.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacPrf.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
-import com.android.ike.crypto.KeyGenerationUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.crypto.KeyGenerationUtils;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
 
 import java.nio.ByteBuffer;
 import java.security.Provider;
diff --git a/src/java/com/android/ike/ikev2/crypto/IkeNormalModeCipher.java b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeNormalModeCipher.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/crypto/IkeNormalModeCipher.java
rename to src/java/com/android/internal/net/ipsec/ike/crypto/IkeNormalModeCipher.java
index 2e6ac51..e4904d4 100644
--- a/src/java/com/android/ike/ikev2/crypto/IkeNormalModeCipher.java
+++ b/src/java/com/android/internal/net/ipsec/ike/crypto/IkeNormalModeCipher.java
@@ -14,11 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import android.net.IpSecAlgorithm;
-
-import com.android.ike.ikev2.SaProposal;
+import android.net.ipsec.ike.SaProposal;
 
 import java.nio.ByteBuffer;
 import java.security.InvalidAlgorithmParameterException;
diff --git a/src/java/com/android/ike/ikev2/exceptions/AuthenticationFailedException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/AuthenticationFailedException.java
similarity index 89%
rename from src/java/com/android/ike/ikev2/exceptions/AuthenticationFailedException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/AuthenticationFailedException.java
index 1c63a61..e587364 100644
--- a/src/java/com/android/ike/ikev2/exceptions/AuthenticationFailedException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/AuthenticationFailedException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_AUTHENTICATION_FAILED;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown when IKE authentication fails.
diff --git a/src/java/com/android/ike/ikev2/exceptions/InvalidKeException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidKeException.java
similarity index 90%
rename from src/java/com/android/ike/ikev2/exceptions/InvalidKeException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidKeException.java
index 790400f..ae2330c 100644
--- a/src/java/com/android/ike/ikev2/exceptions/InvalidKeException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidKeException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_KE_PAYLOAD;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown when the received KE payload in the request is different from accepted
diff --git a/src/java/com/android/ike/ikev2/exceptions/InvalidMajorVersionException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidMajorVersionException.java
similarity index 89%
rename from src/java/com/android/ike/ikev2/exceptions/InvalidMajorVersionException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidMajorVersionException.java
index 5ee5960..dc0357e 100644
--- a/src/java/com/android/ike/ikev2/exceptions/InvalidMajorVersionException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidMajorVersionException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_MAJOR_VERSION;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown when major version is higher than 2.
diff --git a/src/java/com/android/ike/ikev2/exceptions/InvalidMessageIdException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidMessageIdException.java
similarity index 90%
rename from src/java/com/android/ike/ikev2/exceptions/InvalidMessageIdException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidMessageIdException.java
index d7aa530..9c5cffa 100644
--- a/src/java/com/android/ike/ikev2/exceptions/InvalidMessageIdException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidMessageIdException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_MESSAGE_ID;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown when the message ID is out of window size.
diff --git a/src/java/com/android/ike/ikev2/exceptions/InvalidSyntaxException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidSyntaxException.java
similarity index 94%
rename from src/java/com/android/ike/ikev2/exceptions/InvalidSyntaxException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidSyntaxException.java
index d392bc3..fd73f2f 100644
--- a/src/java/com/android/ike/ikev2/exceptions/InvalidSyntaxException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/InvalidSyntaxException.java
@@ -13,7 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown if any IKE message field is invalid.
diff --git a/src/java/com/android/ike/ikev2/exceptions/NoValidProposalChosenException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/NoValidProposalChosenException.java
similarity index 90%
rename from src/java/com/android/ike/ikev2/exceptions/NoValidProposalChosenException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/NoValidProposalChosenException.java
index 9f8e695..4514c65 100644
--- a/src/java/com/android/ike/ikev2/exceptions/NoValidProposalChosenException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/NoValidProposalChosenException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown if either none of SA proposals from SA initiator is acceptable or the
diff --git a/src/java/com/android/ike/ikev2/exceptions/TemporaryFailureException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/TemporaryFailureException.java
similarity index 88%
rename from src/java/com/android/ike/ikev2/exceptions/TemporaryFailureException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/TemporaryFailureException.java
index 2e8ad83..57ef8cd 100644
--- a/src/java/com/android/ike/ikev2/exceptions/TemporaryFailureException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/TemporaryFailureException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown when local node or remote peer receives a request that cannot be
diff --git a/src/java/com/android/ike/ikev2/exceptions/TsUnacceptableException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/TsUnacceptableException.java
similarity index 88%
rename from src/java/com/android/ike/ikev2/exceptions/TsUnacceptableException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/TsUnacceptableException.java
index b19c8ed..ef1152a 100644
--- a/src/java/com/android/ike/ikev2/exceptions/TsUnacceptableException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/TsUnacceptableException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TS_UNACCEPTABLE;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception is thrown if the remote sever proposed unacceptable TS.
diff --git a/src/java/com/android/ike/ikev2/exceptions/UnrecognizedIkeProtocolException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/UnrecognizedIkeProtocolException.java
similarity index 92%
rename from src/java/com/android/ike/ikev2/exceptions/UnrecognizedIkeProtocolException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/UnrecognizedIkeProtocolException.java
index 95bd00d..3d1d508 100644
--- a/src/java/com/android/ike/ikev2/exceptions/UnrecognizedIkeProtocolException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/UnrecognizedIkeProtocolException.java
@@ -13,7 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 /**
  * This exception represents an unrecognized error notification in a received response.
diff --git a/src/java/com/android/ike/ikev2/exceptions/UnsupportedCriticalPayloadException.java b/src/java/com/android/internal/net/ipsec/ike/exceptions/UnsupportedCriticalPayloadException.java
similarity index 91%
rename from src/java/com/android/ike/ikev2/exceptions/UnsupportedCriticalPayloadException.java
rename to src/java/com/android/internal/net/ipsec/ike/exceptions/UnsupportedCriticalPayloadException.java
index dab8c6d..ab1f75e 100644
--- a/src/java/com/android/ike/ikev2/exceptions/UnsupportedCriticalPayloadException.java
+++ b/src/java/com/android/internal/net/ipsec/ike/exceptions/UnsupportedCriticalPayloadException.java
@@ -13,7 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.exceptions;
+package com.android.internal.net.ipsec.ike.exceptions;
+
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
+
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/java/com/android/ike/ikev2/message/IkeAuthDigitalSignPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkeAuthDigitalSignPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload.java
index 0f648d9..a4803af 100644
--- a/src/java/com/android/ike/ikev2/message/IkeAuthDigitalSignPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.StringDef;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.message.IkeAuthPayload.AuthMethod;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.message.IkeAuthPayload.AuthMethod;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/ikev2/message/IkeAuthPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPayload.java
similarity index 94%
rename from src/java/com/android/ike/ikev2/message/IkeAuthPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPayload.java
index d6cc7a1..53a3f65 100644
--- a/src/java/com/android/ike/ikev2/message/IkeAuthPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPayload.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.IntDef;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/ikev2/message/IkeAuthPskPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPskPayload.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkeAuthPskPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPskPayload.java
index 0e36610..93bef17 100644
--- a/src/java/com/android/ike/ikev2/message/IkeAuthPskPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPskPayload.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
diff --git a/src/java/com/android/ike/ikev2/message/IkeCertPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeCertPayload.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/message/IkeCertPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeCertPayload.java
index cf14ad4..9227dda 100644
--- a/src/java/com/android/ike/ikev2/message/IkeCertPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeCertPayload.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.IntDef;
 import android.annotation.Nullable;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import java.io.IOException;
 import java.lang.annotation.Retention;
diff --git a/src/java/com/android/ike/ikev2/message/IkeCertX509CertPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeCertX509CertPayload.java
similarity index 94%
rename from src/java/com/android/ike/ikev2/message/IkeCertX509CertPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeCertX509CertPayload.java
index a40d486..1804b9b 100644
--- a/src/java/com/android/ike/ikev2/message/IkeCertX509CertPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeCertX509CertPayload.java
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import java.io.ByteArrayInputStream;
 import java.nio.ByteBuffer;
diff --git a/src/java/com/android/ike/ikev2/message/IkeConfigPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeConfigPayload.java
similarity index 99%
rename from src/java/com/android/ike/ikev2/message/IkeConfigPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeConfigPayload.java
index e8811ae..ddd1b3e 100644
--- a/src/java/com/android/ike/ikev2/message/IkeConfigPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeConfigPayload.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.IntDef;
 import android.net.LinkAddress;
+import android.net.ipsec.ike.IkeManager;
 
-import com.android.ike.ikev2.IkeManager;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/ikev2/message/IkeDeletePayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeDeletePayload.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkeDeletePayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeDeletePayload.java
index 59d32cc..f629f50 100644
--- a/src/java/com/android/ike/ikev2/message/IkeDeletePayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeDeletePayload.java
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/ikev2/message/IkeEapPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeEapPayload.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkeEapPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeEapPayload.java
index f79faa0..5dc1497 100644
--- a/src/java/com/android/ike/ikev2/message/IkeEapPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeEapPayload.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.eap.message.EapMessage;
+import com.android.internal.net.eap.message.EapMessage;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/ikev2/message/IkeEncryptedPayloadBody.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBody.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/message/IkeEncryptedPayloadBody.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBody.java
index 00460b0..77cc9f4 100644
--- a/src/java/com/android/ike/ikev2/message/IkeEncryptedPayloadBody.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBody.java
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeCombinedModeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeNormalModeCipher;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeCombinedModeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeNormalModeCipher;
 
 import java.nio.ByteBuffer;
 import java.security.GeneralSecurityException;
diff --git a/src/java/com/android/ike/ikev2/message/IkeHeader.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeHeader.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/message/IkeHeader.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeHeader.java
index 1fb7e3c..7aa4fbc 100644
--- a/src/java/com/android/ike/ikev2/message/IkeHeader.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeHeader.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.message.IkePayload.PayloadType;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PayloadType;
 
 import android.annotation.IntDef;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.SparseArray;
 
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidMajorVersionException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidMajorVersionException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/ikev2/message/IkeIdPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeIdPayload.java
similarity index 90%
rename from src/java/com/android/ike/ikev2/message/IkeIdPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeIdPayload.java
index adb39c2..12cc14a 100644
--- a/src/java/com/android/ike/ikev2/message/IkeIdPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeIdPayload.java
@@ -14,17 +14,18 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.IkeFqdnIdentification;
-import com.android.ike.ikev2.IkeIdentification;
-import com.android.ike.ikev2.IkeIpv4AddrIdentification;
-import com.android.ike.ikev2.IkeIpv6AddrIdentification;
-import com.android.ike.ikev2.IkeKeyIdIdentification;
-import com.android.ike.ikev2.IkeRfc822AddrIdentification;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import android.net.ipsec.ike.IkeFqdnIdentification;
+import android.net.ipsec.ike.IkeIdentification;
+import android.net.ipsec.ike.IkeIpv4AddrIdentification;
+import android.net.ipsec.ike.IkeIpv6AddrIdentification;
+import android.net.ipsec.ike.IkeKeyIdIdentification;
+import android.net.ipsec.ike.IkeRfc822AddrIdentification;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/ikev2/message/IkeInformationalPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeInformationalPayload.java
similarity index 94%
rename from src/java/com/android/ike/ikev2/message/IkeInformationalPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeInformationalPayload.java
index 5717471..606c38f 100644
--- a/src/java/com/android/ike/ikev2/message/IkeInformationalPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeInformationalPayload.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 /**
  * IkeInformationalPayload abstracts all Payloads sent in INFORMATIONAL exchanges.
diff --git a/src/java/com/android/ike/ikev2/message/IkeKePayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeKePayload.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkeKePayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeKePayload.java
index 35440a2..7389bf8 100644
--- a/src/java/com/android/ike/ikev2/message/IkeKePayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeKePayload.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.Nullable;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
-import com.android.ike.ikev2.IkeDhParams;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.utils.BigIntegerUtils;
+import com.android.internal.net.ipsec.ike.IkeDhParams;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.utils.BigIntegerUtils;
 
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
diff --git a/src/java/com/android/ike/ikev2/message/IkeMessage.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeMessage.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/message/IkeMessage.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeMessage.java
index b6a149e..27fb965 100644
--- a/src/java/com/android/ike/ikev2/message/IkeMessage.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeMessage.java
@@ -14,25 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.IkeManager.getIkeLog;
-import static com.android.ike.ikev2.message.IkePayload.PayloadType;
+import static android.net.ipsec.ike.IkeManager.getIkeLog;
+
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PayloadType;
 
 import android.annotation.IntDef;
 import android.annotation.Nullable;
+import android.net.ipsec.ike.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeInternalException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.Pair;
 
-import com.android.ike.ikev2.SaRecord.IkeSaRecord;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.exceptions.IkeException;
-import com.android.ike.ikev2.exceptions.IkeInternalException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidMessageIdException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.UnsupportedCriticalPayloadException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecord;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidMessageIdException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.UnsupportedCriticalPayloadException;
 import com.android.org.bouncycastle.jce.provider.BouncyCastleProvider;
 
 import java.lang.annotation.Retention;
diff --git a/src/java/com/android/ike/ikev2/message/IkeNoncePayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeNoncePayload.java
similarity index 94%
rename from src/java/com/android/ike/ikev2/message/IkeNoncePayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeNoncePayload.java
index 3c24770..70fc824 100644
--- a/src/java/com/android/ike/ikev2/message/IkeNoncePayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeNoncePayload.java
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.nio.ByteBuffer;
 import java.security.SecureRandom;
diff --git a/src/java/com/android/ike/ikev2/message/IkeNotifyPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeNotifyPayload.java
similarity index 90%
rename from src/java/com/android/ike/ikev2/message/IkeNotifyPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeNotifyPayload.java
index 830e862..ce9529e 100644
--- a/src/java/com/android/ike/ikev2/message/IkeNotifyPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeNotifyPayload.java
@@ -14,40 +14,40 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_AUTHENTICATION_FAILED;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_CHILD_SA_NOT_FOUND;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_FAILED_CP_REQUIRED;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INTERNAL_ADDRESS_FAILURE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_IKE_SPI;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_KE_PAYLOAD;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_MAJOR_VERSION;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_MESSAGE_ID;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SELECTORS;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SYNTAX;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_ADDITIONAL_SAS;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_SINGLE_PAIR_REQUIRED;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_TS_UNACCEPTABLE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_AUTHENTICATION_FAILED;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_CHILD_SA_NOT_FOUND;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_FAILED_CP_REQUIRED;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INTERNAL_ADDRESS_FAILURE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_IKE_SPI;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_KE_PAYLOAD;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_MAJOR_VERSION;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_MESSAGE_ID;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SELECTORS;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SYNTAX;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_ADDITIONAL_SAS;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_SINGLE_PAIR_REQUIRED;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TS_UNACCEPTABLE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
 
 import android.annotation.IntDef;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.ArraySet;
 import android.util.SparseArray;
 
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidKeException;
-import com.android.ike.ikev2.exceptions.InvalidMajorVersionException;
-import com.android.ike.ikev2.exceptions.InvalidMessageIdException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
-import com.android.ike.ikev2.exceptions.TemporaryFailureException;
-import com.android.ike.ikev2.exceptions.TsUnacceptableException;
-import com.android.ike.ikev2.exceptions.UnrecognizedIkeProtocolException;
-import com.android.ike.ikev2.exceptions.UnsupportedCriticalPayloadException;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidKeException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidMajorVersionException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidMessageIdException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.exceptions.TemporaryFailureException;
+import com.android.internal.net.ipsec.ike.exceptions.TsUnacceptableException;
+import com.android.internal.net.ipsec.ike.exceptions.UnrecognizedIkeProtocolException;
+import com.android.internal.net.ipsec.ike.exceptions.UnsupportedCriticalPayloadException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/java/com/android/ike/ikev2/message/IkePayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkePayload.java
similarity index 99%
rename from src/java/com/android/ike/ikev2/message/IkePayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkePayload.java
index 68aa31d..9ea54c1 100644
--- a/src/java/com/android/ike/ikev2/message/IkePayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkePayload.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.IntDef;
 import android.util.SparseArray;
diff --git a/src/java/com/android/ike/ikev2/message/IkePayloadFactory.java b/src/java/com/android/internal/net/ipsec/ike/message/IkePayloadFactory.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkePayloadFactory.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkePayloadFactory.java
index 94cf409..2f191d4 100644
--- a/src/java/com/android/ike/ikev2/message/IkePayloadFactory.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkePayloadFactory.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.Nullable;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.Pair;
 
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.nio.ByteBuffer;
 import java.security.GeneralSecurityException;
diff --git a/src/java/com/android/ike/ikev2/message/IkeSaPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeSaPayload.java
similarity index 98%
rename from src/java/com/android/ike/ikev2/message/IkeSaPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeSaPayload.java
index edbbd7d..3cce625 100644
--- a/src/java/com/android/ike/ikev2/message/IkeSaPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeSaPayload.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.IkeManager.getIkeLog;
-import static com.android.ike.ikev2.SaProposal.DhGroup;
-import static com.android.ike.ikev2.SaProposal.EncryptionAlgorithm;
-import static com.android.ike.ikev2.SaProposal.IntegrityAlgorithm;
-import static com.android.ike.ikev2.SaProposal.PseudorandomFunction;
+import static android.net.ipsec.ike.IkeManager.getIkeLog;
+import static android.net.ipsec.ike.SaProposal.DhGroup;
+import static android.net.ipsec.ike.SaProposal.EncryptionAlgorithm;
+import static android.net.ipsec.ike.SaProposal.IntegrityAlgorithm;
+import static android.net.ipsec.ike.SaProposal.PseudorandomFunction;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
@@ -28,17 +28,17 @@
 import android.net.IpSecManager.ResourceUnavailableException;
 import android.net.IpSecManager.SecurityParameterIndex;
 import android.net.IpSecManager.SpiUnavailableException;
+import android.net.ipsec.ike.ChildSaProposal;
+import android.net.ipsec.ike.IkeSaProposal;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.ArraySet;
 import android.util.Pair;
 
-import com.android.ike.ikev2.ChildSaProposal;
-import com.android.ike.ikev2.IkeSaProposal;
-import com.android.ike.ikev2.IkeSessionStateMachine.IkeSecurityParameterIndex;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IkeSecurityParameterIndex;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
 
 import java.io.IOException;
 import java.lang.annotation.Retention;
diff --git a/src/java/com/android/ike/ikev2/message/IkeSkPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeSkPayload.java
similarity index 96%
rename from src/java/com/android/ike/ikev2/message/IkeSkPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeSkPayload.java
index f918739..0c2d1ff 100644
--- a/src/java/com/android/ike/ikev2/message/IkeSkPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeSkPayload.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.Nullable;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
 
 import java.nio.ByteBuffer;
 import java.security.GeneralSecurityException;
diff --git a/src/java/com/android/ike/ikev2/message/IkeSkfPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeSkfPayload.java
similarity index 94%
rename from src/java/com/android/ike/ikev2/message/IkeSkfPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeSkfPayload.java
index c04dd1b..6faea12 100644
--- a/src/java/com/android/ike/ikev2/message/IkeSkfPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeSkfPayload.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import android.annotation.Nullable;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.nio.ByteBuffer;
 import java.security.GeneralSecurityException;
diff --git a/src/java/com/android/ike/ikev2/message/IkeTsPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeTsPayload.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/message/IkeTsPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeTsPayload.java
index af4c2ab..207bdc3 100644
--- a/src/java/com/android/ike/ikev2/message/IkeTsPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeTsPayload.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import com.android.ike.ikev2.IkeTrafficSelector;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import android.net.ipsec.ike.IkeTrafficSelector;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/ikev2/message/IkeUnsupportedPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeUnsupportedPayload.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/message/IkeUnsupportedPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeUnsupportedPayload.java
index 28b3af9..ecfe1e9 100644
--- a/src/java/com/android/ike/ikev2/message/IkeUnsupportedPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeUnsupportedPayload.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/ikev2/message/IkeVendorPayload.java b/src/java/com/android/internal/net/ipsec/ike/message/IkeVendorPayload.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/message/IkeVendorPayload.java
rename to src/java/com/android/internal/net/ipsec/ike/message/IkeVendorPayload.java
index 75cf379..d346407 100644
--- a/src/java/com/android/ike/ikev2/message/IkeVendorPayload.java
+++ b/src/java/com/android/internal/net/ipsec/ike/message/IkeVendorPayload.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import java.nio.ByteBuffer;
 
diff --git a/src/java/com/android/ike/ikev2/utils/FdEventsReader.java b/src/java/com/android/internal/net/ipsec/ike/utils/FdEventsReader.java
similarity index 99%
rename from src/java/com/android/ike/ikev2/utils/FdEventsReader.java
rename to src/java/com/android/internal/net/ipsec/ike/utils/FdEventsReader.java
index 8fa987a..65f9ced 100644
--- a/src/java/com/android/ike/ikev2/utils/FdEventsReader.java
+++ b/src/java/com/android/internal/net/ipsec/ike/utils/FdEventsReader.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.utils;
+package com.android.internal.net.ipsec.ike.utils;
 
 import static android.os.MessageQueue.OnFileDescriptorEventListener.EVENT_ERROR;
 import static android.os.MessageQueue.OnFileDescriptorEventListener.EVENT_INPUT;
diff --git a/src/java/com/android/ike/ikev2/utils/PacketReader.java b/src/java/com/android/internal/net/ipsec/ike/utils/PacketReader.java
similarity index 97%
rename from src/java/com/android/ike/ikev2/utils/PacketReader.java
rename to src/java/com/android/internal/net/ipsec/ike/utils/PacketReader.java
index d0c5bcf..cd6b98d 100644
--- a/src/java/com/android/ike/ikev2/utils/PacketReader.java
+++ b/src/java/com/android/internal/net/ipsec/ike/utils/PacketReader.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.utils;
+package com.android.internal.net.ipsec.ike.utils;
 
 import static java.lang.Math.max;
 
diff --git a/src/java/com/android/ike/ikev2/utils/Retransmitter.java b/src/java/com/android/internal/net/ipsec/ike/utils/Retransmitter.java
similarity index 95%
rename from src/java/com/android/ike/ikev2/utils/Retransmitter.java
rename to src/java/com/android/internal/net/ipsec/ike/utils/Retransmitter.java
index 27a04d7..778d685 100644
--- a/src/java/com/android/ike/ikev2/utils/Retransmitter.java
+++ b/src/java/com/android/internal/net/ipsec/ike/utils/Retransmitter.java
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.utils;
+package com.android.internal.net.ipsec.ike.utils;
 
-import static com.android.ike.ikev2.IkeSessionStateMachine.CMD_RETRANSMIT;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.CMD_RETRANSMIT;
 
 import android.os.Handler;
 
-import com.android.ike.ikev2.message.IkeMessage;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
 
 /**
  * Retransmitter represents a class that will send a message and trigger delayed retransmissions
diff --git a/src/java/com/android/ike/utils/BigIntegerUtils.java b/src/java/com/android/internal/net/utils/BigIntegerUtils.java
similarity index 98%
rename from src/java/com/android/ike/utils/BigIntegerUtils.java
rename to src/java/com/android/internal/net/utils/BigIntegerUtils.java
index 7bbae1d..09dad74 100644
--- a/src/java/com/android/ike/utils/BigIntegerUtils.java
+++ b/src/java/com/android/internal/net/utils/BigIntegerUtils.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.utils;
+package com.android.internal.net.utils;
 
 import java.math.BigInteger;
 
diff --git a/src/java/com/android/ike/utils/Log.java b/src/java/com/android/internal/net/utils/Log.java
similarity index 99%
rename from src/java/com/android/ike/utils/Log.java
rename to src/java/com/android/internal/net/utils/Log.java
index 2a101f9..55ea091 100644
--- a/src/java/com/android/ike/utils/Log.java
+++ b/src/java/com/android/internal/net/utils/Log.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.utils;
+package com.android.internal.net.utils;
 
 import android.os.Build;
 
diff --git a/src/java/com/android/ike/utils/SimpleStateMachine.java b/src/java/com/android/internal/net/utils/SimpleStateMachine.java
similarity index 98%
rename from src/java/com/android/ike/utils/SimpleStateMachine.java
rename to src/java/com/android/internal/net/utils/SimpleStateMachine.java
index 12b6b7c..a2fffdd 100644
--- a/src/java/com/android/ike/utils/SimpleStateMachine.java
+++ b/src/java/com/android/internal/net/utils/SimpleStateMachine.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.utils;
+package com.android.internal.net.utils;
 
 /**
  * SimpleStateMachine provides a minimal, synchronous state machine framework.
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapSessionConfigTest.java b/tests/iketests/src/java/android/net/eap/EapSessionConfigTest.java
similarity index 85%
rename from tests/iketests/src/java/com/android/ike/eap/EapSessionConfigTest.java
rename to tests/iketests/src/java/android/net/eap/EapSessionConfigTest.java
index ffed33f..eed32e3 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapSessionConfigTest.java
+++ b/tests/iketests/src/java/android/net/eap/EapSessionConfigTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package android.net.eap;
 
+import static android.net.eap.EapSessionConfig.DEFAULT_IDENTITY;
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.eap.EapSessionConfig.DEFAULT_IDENTITY;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapSessionConfig.EapAkaConfig;
-import com.android.ike.eap.EapSessionConfig.EapAkaPrimeConfig;
-import com.android.ike.eap.EapSessionConfig.EapMethodConfig;
-import com.android.ike.eap.EapSessionConfig.EapMsChapV2Config;
-import com.android.ike.eap.EapSessionConfig.EapSimConfig;
+import android.net.eap.EapSessionConfig.EapAkaConfig;
+import android.net.eap.EapSessionConfig.EapAkaPrimeConfig;
+import android.net.eap.EapSessionConfig.EapMethodConfig;
+import android.net.eap.EapSessionConfig.EapMsChapV2Config;
+import android.net.eap.EapSessionConfig.EapSimConfig;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/ChildSessionConfigurationTest.java b/tests/iketests/src/java/android/net/ipsec/ike/ChildSessionConfigurationTest.java
similarity index 92%
rename from tests/iketests/src/java/com/android/ike/ikev2/ChildSessionConfigurationTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/ChildSessionConfigurationTest.java
index bd8da2c..08d8994 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/ChildSessionConfigurationTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/ChildSessionConfigurationTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -22,11 +22,11 @@
 
 import android.net.LinkAddress;
 
-import com.android.ike.ikev2.message.IkeConfigPayload;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Address;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/ChildSessionOptionsTest.java b/tests/iketests/src/java/android/net/ipsec/ike/ChildSessionOptionsTest.java
similarity index 98%
rename from tests/iketests/src/java/com/android/ike/ikev2/ChildSessionOptionsTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/ChildSessionOptionsTest.java
index 5f8a4fc..242957d 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/ChildSessionOptionsTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/ChildSessionOptionsTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionOptionsTest.java b/tests/iketests/src/java/android/net/ipsec/ike/IkeSessionOptionsTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/IkeSessionOptionsTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/IkeSessionOptionsTest.java
index 88ff2f1..fa077d1 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionOptionsTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/IkeSessionOptionsTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
-import static com.android.ike.ikev2.IkeSessionOptions.IkeAuthConfig;
-import static com.android.ike.ikev2.IkeSessionOptions.IkeAuthDigitalSignLocalConfig;
-import static com.android.ike.ikev2.IkeSessionOptions.IkeAuthDigitalSignRemoteConfig;
-import static com.android.ike.ikev2.IkeSessionOptions.IkeAuthEapConfig;
-import static com.android.ike.ikev2.IkeSessionOptions.IkeAuthPskConfig;
+import static android.net.ipsec.ike.IkeSessionOptions.IkeAuthConfig;
+import static android.net.ipsec.ike.IkeSessionOptions.IkeAuthDigitalSignLocalConfig;
+import static android.net.ipsec.ike.IkeSessionOptions.IkeAuthDigitalSignRemoteConfig;
+import static android.net.ipsec.ike.IkeSessionOptions.IkeAuthEapConfig;
+import static android.net.ipsec.ike.IkeSessionOptions.IkeAuthPskConfig;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -32,11 +32,11 @@
 import android.content.Context;
 import android.net.IpSecManager;
 import android.net.IpSecManager.UdpEncapsulationSocket;
+import android.net.eap.EapSessionConfig;
 
 import androidx.test.InstrumentationRegistry;
 
-import com.android.ike.TestUtils;
-import com.android.ike.eap.EapSessionConfig;
+import com.android.internal.net.TestUtils;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java b/tests/iketests/src/java/android/net/ipsec/ike/IkeSessionTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/IkeSessionTest.java
index 28a1311..8bf1281 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/IkeSessionTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -27,7 +27,9 @@
 import android.os.test.TestLooper;
 import android.util.Log;
 
-import com.android.ike.ikev2.testutils.MockIpSecTestUtils;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachineTest;
+import com.android.internal.net.ipsec.ike.testutils.MockIpSecTestUtils;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeTrafficSelectorTest.java b/tests/iketests/src/java/android/net/ipsec/ike/IkeTrafficSelectorTest.java
similarity index 98%
rename from tests/iketests/src/java/com/android/ike/ikev2/IkeTrafficSelectorTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/IkeTrafficSelectorTest.java
index d8bde92..65cf056 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeTrafficSelectorTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/IkeTrafficSelectorTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -23,8 +23,8 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/SaProposalTest.java b/tests/iketests/src/java/android/net/ipsec/ike/SaProposalTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/SaProposalTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/SaProposalTest.java
index da1a0f09..d4efb0c 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/SaProposalTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/SaProposalTest.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
-import static com.android.ike.ikev2.SaProposal.KEY_LEN_AES_128;
-import static com.android.ike.ikev2.SaProposal.KEY_LEN_UNUSED;
+import static android.net.ipsec.ike.SaProposal.KEY_LEN_AES_128;
+import static android.net.ipsec.ike.SaProposal.KEY_LEN_UNUSED;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -25,12 +25,12 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.Transform;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Transform;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java b/tests/iketests/src/java/android/net/ipsec/ike/TunnelModeChildSessionOptionsTest.java
similarity index 89%
rename from tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/TunnelModeChildSessionOptionsTest.java
index e14e6e8..b0f81dc 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/TunnelModeChildSessionOptionsTest.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package android.net.ipsec.ike;
 
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.AF_INET6;
 
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DHCP;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DNS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_SUBNET;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_DNS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_SUBNET;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DHCP;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DNS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_SUBNET;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_DNS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_SUBNET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -36,7 +36,7 @@
 
 import android.util.SparseArray;
 
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/exceptions/IkeProtocolExceptionTest.java b/tests/iketests/src/java/android/net/ipsec/ike/exceptions/IkeProtocolExceptionTest.java
similarity index 82%
rename from tests/iketests/src/java/com/android/ike/ikev2/exceptions/IkeProtocolExceptionTest.java
rename to tests/iketests/src/java/android/net/ipsec/ike/exceptions/IkeProtocolExceptionTest.java
index 69f03be..8c3b16d 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/exceptions/IkeProtocolExceptionTest.java
+++ b/tests/iketests/src/java/android/net/ipsec/ike/exceptions/IkeProtocolExceptionTest.java
@@ -14,15 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.exceptions;
+package android.net.ipsec.ike.exceptions;
 
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import com.android.ike.ikev2.message.IkeNotifyPayload;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.exceptions.UnsupportedCriticalPayloadException;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/TestUtils.java b/tests/iketests/src/java/com/android/internal/net/TestUtils.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/TestUtils.java
rename to tests/iketests/src/java/com/android/internal/net/TestUtils.java
index f11972f..6dd5ce5 100644
--- a/tests/iketests/src/java/com/android/ike/TestUtils.java
+++ b/tests/iketests/src/java/com/android/internal/net/TestUtils.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike;
+package com.android.internal.net;
 
 import static org.mockito.Matchers.anyObject;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.spy;
 
-import com.android.ike.utils.Log;
+import com.android.internal.net.utils.Log;
 
 import java.nio.ByteBuffer;
 
diff --git a/tests/iketests/src/java/com/android/internal/net/eap/EapAkaPrimeTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapAkaPrimeTest.java
new file mode 100644
index 0000000..0872b67
--- /dev/null
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapAkaPrimeTest.java
@@ -0,0 +1,382 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.net.eap;
+
+import static android.telephony.TelephonyManager.APPTYPE_USIM;
+
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.net.eap.EapSessionConfig;
+import android.telephony.TelephonyManager;
+
+import com.android.internal.net.eap.statemachine.EapStateMachine;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class EapAkaPrimeTest extends EapMethodEndToEndTest {
+    private static final long AUTHENTICATOR_TIMEOUT_MILLIS = 250L;
+
+    private static final int SUB_ID = 1;
+    private static final String UNFORMATTED_IDENTITY = "123456789ABCDEF"; // IMSI
+
+    // EAP_IDENTITY = hex("test@android.net")
+    private static final byte[] EAP_IDENTITY =
+            hexStringToByteArray("7465737440616E64726F69642E6E6574");
+    private static final boolean ALLOW_MISMATCHED_NETWORK_NAMES = false;
+    private static final String PEER_NETWORK_NAME_1 = "foo:bar";
+    private static final String PEER_NETWORK_NAME_2 = "bar";
+
+    // hex("foo:bar:buzz")
+    private static final String SERVER_NETWORK_NAME = "666F6F3A6261723A62757A7A";
+
+    // TODO(b/142667016): replace with externally generated test values
+
+    // IK: 7320EE404E055EF2B5AB0F86E96C48BE
+    // CK: E9D1707652E13BF3E05975F601678E5C
+    // Server Network Name: 666F6F3A6261723A62757A7A
+    // SQN ^ AK: 35A9143ED9E1
+    // IK': 79DC30692F3D2303D148549E5D50D0AA
+    // CK': BBD0A7AD3F14757BA604C4CBE70F9090
+    // K_encr: 4c22c289bcf40367cf2bdb6a6e3fe56b
+    // K_aut: c64abd508ab628f842e9fb40a14fea769d2ccc67a8412794fe3b4c2556431e78
+    // K_re: 5454ccf7ecc227f25c6cd1023e09394fa5cedc14a2f155e9d96a70dc404b4dca
+    private static final String RAND_1 = "D6A296F030A305601B311D38A004505C";
+    private static final String RAND_2 = "000102030405060708090A0B0C0D0E0F";
+    private static final String AUTN = "35A9143ED9E100011795E785DAFAAD9B";
+    private static final String RES = "E5167A255FDCDE9248AF6B50ADA0D944";
+    private static final String AUTS = "0102030405060708090A0B0C0D0E";
+    private static final byte[] MSK =
+            hexStringToByteArray(
+                    "695788d8f33af56b5b2fea065a0e8656"
+                            + "7dc48120d6070d96056f9668614ec3e7"
+                            + "feb4933a3aaab3587980a624998c8b5e"
+                            + "a69d7295b824ef4a2201720be89d04df");
+    private static final byte[] EMSK =
+            hexStringToByteArray(
+                    "2db1f574d6e92cec294779defef5a7f0"
+                            + "49319cc75367102815d0244087f23660"
+                            + "0986b47a862c1aeeca418c84a2f9581b"
+                            + "0738fdefd229a5f7a4ca76709379bf00");
+
+    // IK: 7320EE404E055EF2B5AB0F86E96C48BE
+    // CK: E9D1707652E13BF3E05975F601678E5C
+    // Server Network Name: 666F6F3A6261723A62757A7A
+    // SQN ^ AK: 35A9143ED9E1
+    // IK': 6C45FB0B12FF8172223B6D0E599EAE20
+    // CK': A01C894696BEB759ABE0340F71A20D7B
+    // K_encr: c039213c78fcf78a34bef30219a77822
+    // K_aut: 95b014e569144eba71a387f91fb6b72e06781df12d61bfe88e5149477cd232aa
+    // K_re: 1000c2e2f01766a4d2581ac454e41fce1ee17bcccbc32dfad78815075d884c5e
+    private static final byte[] MSK_WITHOUT_IDENTITY_REQ =
+            hexStringToByteArray(
+                    "ad75a86586773134dcd9e78e3f75b282"
+                            + "7a42435cb1be7235be58cddc60a0ba19"
+                            + "dd5c30accfdb0db5ef065f46c3c25d7b"
+                            + "9f8703d9493a2dc6fb6563dbdc854658");
+    private static final byte[] EMSK_WITHOUT_IDENTITY_REQ =
+            hexStringToByteArray(
+                    "31a3f2bb0e3e831d991dc8666438297f"
+                            + "4a5bc157fc1e31537e5a4927206d7b4b"
+                            + "db830761eea3441d9b90da48aebb9734"
+                            + "d3cbdec96072230a64043f54932a8841");
+
+    // Base 64 of: [Length][RAND_1][Length][AUTN]
+    private static final String BASE64_CHALLENGE_1 =
+            "ENailvAwowVgGzEdOKAEUFwQNakUPtnhAAEXleeF2vqtmw==";
+
+    // Base 64 of: ['DB'][Length][RES][Length][IK][Length][CK]
+    private static final String BASE_64_RESPONSE_SUCCESS =
+            "2xDlFnolX9zekkiva1CtoNlEEHMg7kBOBV7ytasPhulsSL4Q6dFwdlLhO/PgWXX2AWeOXA==";
+
+    // Base 64 of: [Length][RAND_2][Length][AUTN]
+    private static final String BASE64_CHALLENGE_2 =
+            "EAABAgMEBQYHCAkKCwwNDg8QNakUPtnhAAEXleeF2vqtmw==";
+
+    // Base 64 of: ['DC'][Length][AUTS]
+    private static final String BASE_64_RESPONSE_SYNC_FAIL = "3A4BAgMEBQYHCAkKCwwNDg==";
+
+    private static final String REQUEST_MAC = "9089f89b2f99bb85f2f2b529779f98db";
+    private static final String RESPONSE_MAC = "48d7d6a80e1e2ff26a1e4148e0a2303e";
+    private static final String REQUEST_MAC_WITHOUT_IDENTITY_REQ =
+            "59f680ede020a3d0156eef56affb6997";
+    private static final String RESPONSE_MAC_WITHOUT_IDENTITY_REQ =
+            "e15322ff4abe51479c0fa92d00e343d7";
+
+    private static final byte[] EAP_AKA_PRIME_IDENTITY_REQUEST =
+            hexStringToByteArray(
+                    "01CD000C" // EAP-Request | ID | length in bytes
+                            + "32050000" // EAP-AKA' | Identity | 2B padding
+                            + "0D010000"); // AT_ANY_ID_REQ attribute
+    private static final byte[] EAP_AKA_PRIME_IDENTITY_RESPONSE =
+            hexStringToByteArray(
+                    "02CD001C" // EAP-Response | ID | length in bytes
+                            + "32050000" // EAP-AKA' | Identity | 2B padding
+                            + "0E05001036313233343536373839414243444546"); // AT_IDENTITY attribute
+
+    private static final byte[] EAP_AKA_PRIME_CHALLENGE_REQUEST =
+            hexStringToByteArray(
+                    "01CE0044" // EAP-Request | ID | length in bytes
+                            + "32010000" // EAP-AKA' | Challenge | 2B padding
+                            + "01050000" + RAND_1 // AT_RAND attribute
+                            + "02050000" + AUTN // AT_AUTN attribute
+                            + "1704000C" + SERVER_NETWORK_NAME // AT_KDF_INPUT attribute
+                            + "18010001" // AT_KDF attribute
+                            + "0B050000" + REQUEST_MAC); // AT_MAC attribute
+    private static final byte[] EAP_AKA_PRIME_CHALLENGE_RESPONSE =
+            hexStringToByteArray(
+                    "02CE0030" // EAP-Response | ID | length in bytes
+                            + "32010000" // EAP-AKA' | Challenge | 2B padding
+                            + "03050080" + RES // AT_RES attribute
+                            + "0B050000" + RESPONSE_MAC); // AT_MAC attribute
+
+    private static final byte[] EAP_AKA_PRIME_CHALLENGE_REQUEST_WITHOUT_IDENTITY_REQ =
+            hexStringToByteArray(
+                    "01CE0044" // EAP-Request | ID | length in bytes
+                            + "32010000" // EAP-AKA' | Challenge | 2B padding
+                            + "01050000" + RAND_1 // AT_RAND attribute
+                            + "02050000" + AUTN // AT_AUTN attribute
+                            + "1704000C" + SERVER_NETWORK_NAME // AT_KDF_INPUT attribute
+                            + "18010001" // AT_KDF attribute
+                            + "0B050000" + REQUEST_MAC_WITHOUT_IDENTITY_REQ); // AT_MAC attribute
+    private static final byte[] EAP_AKA_PRIME_CHALLENGE_RESPONSE_WITHOUT_IDENTITY_REQUEST =
+            hexStringToByteArray(
+                    "02CE0030" // EAP-Response | ID | length in bytes
+                            + "32010000" // EAP-AKA' | Challenge | 2B padding
+                            + "03050080" + RES // AT_RES attribute
+                            + "0B050000" + RESPONSE_MAC_WITHOUT_IDENTITY_REQ); // AT_MAC attribute
+
+    private static final byte[] EAP_AKA_PRIME_CHALLENGE_REQUEST_SYNC_FAIL =
+            hexStringToByteArray(
+                    "01CE0044" // EAP-Request | ID | length in bytes
+                            + "32010000" // EAP-AKA' | Challenge | 2B padding
+                            + "01050000" + RAND_2 // AT_RAND attribute
+                            + "02050000" + AUTN // AT_AUTN attribute
+                            + "1704000C" + SERVER_NETWORK_NAME // AT_KDF_INPUT attribute
+                            + "18010001" // AT_KDF attribute
+                            + "0B050000" + REQUEST_MAC); // AT_MAC attribute
+    private static final byte[] EAP_AKA_PRIME_SYNC_FAIL_RESPONSE =
+            hexStringToByteArray(
+                    "02CE0018" // EAP-Response | ID | length in bytes
+                            + "32040000" // EAP-AKA' | Synchronization-Failure | 2B padding
+                            + "0404" + AUTS);  // AT_AUTS attribute
+
+    private static final byte[] EAP_AKA_PRIME_AUTHENTICATION_REJECT =
+            hexStringToByteArray(
+                    "02CE0008" // EAP-Response | ID | length in bytes
+                            + "32020000"); // EAP-AKA' | Authentication-Reject | 2B padding
+
+    private static final byte[] EAP_RESPONSE_NAK_PACKET =
+            hexStringToByteArray("021000060332"); // NAK with EAP-AKA' listed
+
+    private TelephonyManager mMockTelephonyManager;
+
+    @Before
+    @Override
+    public void setUp() {
+        super.setUp();
+
+        setUp(ALLOW_MISMATCHED_NETWORK_NAMES, PEER_NETWORK_NAME_1);
+    }
+
+    private void setUp(boolean allowMismatchedNetworkNames, String peerNetworkName) {
+        mMockTelephonyManager = mock(TelephonyManager.class);
+
+        mEapSessionConfig =
+                new EapSessionConfig.Builder()
+                        .setEapIdentity(EAP_IDENTITY)
+                        .setEapAkaPrimeConfig(
+                                SUB_ID, APPTYPE_USIM, peerNetworkName, allowMismatchedNetworkNames)
+                        .build();
+        mEapAuthenticator =
+                new EapAuthenticator(
+                        mTestLooper.getLooper(),
+                        mMockCallback,
+                        new EapStateMachine(mMockContext, mEapSessionConfig, mMockSecureRandom),
+                        (runnable) -> runnable.run(),
+                        AUTHENTICATOR_TIMEOUT_MILLIS);
+
+        when(mMockContext.getSystemService(Context.TELEPHONY_SERVICE))
+                .thenReturn(mMockTelephonyManager);
+        when(mMockTelephonyManager.createForSubscriptionId(SUB_ID))
+                .thenReturn(mMockTelephonyManager);
+    }
+
+    @Test
+    public void testEapAkaPrimeEndToEnd() {
+        verifyEapPrimeAkaIdentity();
+        verifyEapAkaPrimeChallenge(BASE_64_RESPONSE_SUCCESS, EAP_AKA_PRIME_CHALLENGE_RESPONSE);
+        verifyEapSuccess(MSK, EMSK);
+    }
+
+    @Test
+    public void testEapAkaPrimeEndToEndWithoutIdentityRequest() {
+        verifyEapAkaPrimeChallengeWithoutIdentityReq();
+        verifyEapSuccess(MSK_WITHOUT_IDENTITY_REQ, EMSK_WITHOUT_IDENTITY_REQ);
+    }
+
+    @Test
+    public void testEapAkaPrimeWithEapNotifications() {
+        verifyEapNotification(1);
+        verifyEapPrimeAkaIdentity();
+
+        verifyEapNotification(2);
+        verifyEapAkaPrimeChallenge(BASE_64_RESPONSE_SUCCESS, EAP_AKA_PRIME_CHALLENGE_RESPONSE);
+
+        verifyEapNotification(3);
+        verifyEapSuccess(MSK, EMSK);
+    }
+
+    @Test
+    public void testEapAkaPrimeUnsupportedType() {
+        verifyUnsupportedType(EAP_REQUEST_SIM_START_PACKET, EAP_RESPONSE_NAK_PACKET);
+
+        verifyEapPrimeAkaIdentity();
+        verifyEapAkaPrimeChallenge(BASE_64_RESPONSE_SUCCESS, EAP_AKA_PRIME_CHALLENGE_RESPONSE);
+        verifyEapSuccess(MSK, EMSK);
+    }
+
+    @Test
+    public void testEapAkaPrimeSynchronizationFailure() {
+        verifyEapPrimeAkaIdentity();
+        verifyEapAkaPrimeSynchronizationFailure();
+        verifyEapAkaPrimeChallenge(BASE_64_RESPONSE_SUCCESS, EAP_AKA_PRIME_CHALLENGE_RESPONSE);
+        verifyEapSuccess(MSK, EMSK);
+    }
+
+    @Test
+    public void testEapAkaPrimeAuthenticationReject() {
+        verifyEapPrimeAkaIdentity();
+
+        // return null from TelephonyManager to simluate rejection of AUTN
+        verifyEapAkaPrimeChallenge(null, EAP_AKA_PRIME_AUTHENTICATION_REJECT);
+        verifyEapFailure();
+    }
+
+    @Test
+    public void testEapAkaPrimeMismatchedNetworkNamesNotAllowed() {
+        // use mismatched peer network name
+        setUp(false, PEER_NETWORK_NAME_2);
+        verifyEapPrimeAkaIdentity();
+        verifyEapAkaPrimeChallengeMismatchedNetworkNames();
+        verifyEapFailure();
+    }
+
+    @Test
+    public void testEapAkaPrimeMismatchedNetworkNamesAllowed() {
+        setUp(true, PEER_NETWORK_NAME_2);
+        verifyEapPrimeAkaIdentity();
+        verifyEapAkaPrimeChallenge(BASE_64_RESPONSE_SUCCESS, EAP_AKA_PRIME_CHALLENGE_RESPONSE);
+        verifyEapSuccess(MSK, EMSK);
+    }
+
+    private void verifyEapPrimeAkaIdentity() {
+        // EAP-AKA'/Identity request
+        when(mMockTelephonyManager.getSubscriberId()).thenReturn(UNFORMATTED_IDENTITY);
+
+        mEapAuthenticator.processEapMessage(EAP_AKA_PRIME_IDENTITY_REQUEST);
+        mTestLooper.dispatchAll();
+
+        // verify EAP-AKA'/Identity response
+        verify(mMockContext).getSystemService(eq(Context.TELEPHONY_SERVICE));
+        verify(mMockTelephonyManager).createForSubscriptionId(SUB_ID);
+        verify(mMockTelephonyManager).getSubscriberId();
+        verify(mMockCallback).onResponse(eq(EAP_AKA_PRIME_IDENTITY_RESPONSE));
+        verifyNoMoreInteractions(
+                mMockContext, mMockTelephonyManager, mMockSecureRandom, mMockCallback);
+    }
+
+    private void verifyEapAkaPrimeChallenge(
+            String challengeBase64,
+            String responseBase64,
+            byte[] incomingEapPacket,
+            byte[] outgoingEapPacket) {
+        // EAP-AKA'/Challenge request
+        when(mMockTelephonyManager.getIccAuthentication(
+                        TelephonyManager.APPTYPE_USIM,
+                        TelephonyManager.AUTHTYPE_EAP_AKA,
+                        challengeBase64))
+                .thenReturn(responseBase64);
+
+        mEapAuthenticator.processEapMessage(incomingEapPacket);
+        mTestLooper.dispatchAll();
+
+        // verify EAP-AKA'/Challenge response
+        verify(mMockTelephonyManager)
+                .getIccAuthentication(
+                        TelephonyManager.APPTYPE_USIM,
+                        TelephonyManager.AUTHTYPE_EAP_AKA,
+                        challengeBase64);
+        verify(mMockCallback).onResponse(eq(outgoingEapPacket));
+    }
+
+    private void verifyEapAkaPrimeChallenge(String responseBase64, byte[] outgoingPacket) {
+        verifyEapAkaPrimeChallenge(
+                BASE64_CHALLENGE_1,
+                responseBase64,
+                EAP_AKA_PRIME_CHALLENGE_REQUEST,
+                outgoingPacket);
+        verifyNoMoreInteractions(
+                mMockContext, mMockTelephonyManager, mMockSecureRandom, mMockCallback);
+    }
+
+    private void verifyEapAkaPrimeChallengeWithoutIdentityReq() {
+        verifyEapAkaPrimeChallenge(
+                BASE64_CHALLENGE_1,
+                BASE_64_RESPONSE_SUCCESS,
+                EAP_AKA_PRIME_CHALLENGE_REQUEST_WITHOUT_IDENTITY_REQ,
+                EAP_AKA_PRIME_CHALLENGE_RESPONSE_WITHOUT_IDENTITY_REQUEST);
+
+        // also need to verify interactions with Context and TelephonyManager
+        verify(mMockContext).getSystemService(eq(Context.TELEPHONY_SERVICE));
+        verify(mMockTelephonyManager).createForSubscriptionId(SUB_ID);
+        verifyNoMoreInteractions(
+                mMockContext, mMockTelephonyManager, mMockSecureRandom, mMockCallback);
+    }
+
+    private void verifyEapAkaPrimeSynchronizationFailure() {
+        verifyEapAkaPrimeChallenge(
+                BASE64_CHALLENGE_2,
+                BASE_64_RESPONSE_SYNC_FAIL,
+                EAP_AKA_PRIME_CHALLENGE_REQUEST_SYNC_FAIL,
+                EAP_AKA_PRIME_SYNC_FAIL_RESPONSE);
+        verifyNoMoreInteractions(
+                mMockContext, mMockTelephonyManager, mMockSecureRandom, mMockCallback);
+    }
+
+    private void verifyEapAkaPrimeChallengeMismatchedNetworkNames() {
+        // EAP-AKA'/Challenge request
+        mEapAuthenticator.processEapMessage(EAP_AKA_PRIME_CHALLENGE_REQUEST);
+        mTestLooper.dispatchAll();
+        verify(mMockCallback).onResponse(eq(EAP_AKA_PRIME_AUTHENTICATION_REJECT));
+    }
+
+    @Override
+    protected void verifyEapSuccess(byte[] msk, byte[] emsk) {
+        super.verifyEapSuccess(msk, emsk);
+
+        verifyNoMoreInteractions(mMockTelephonyManager);
+    }
+}
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapAkaTest.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapAkaTest.java
index b1744e1..e982a85 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapAkaTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
 
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
@@ -28,9 +28,10 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.statemachine.EapStateMachine;
+import com.android.internal.net.eap.statemachine.EapStateMachine;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapAuthenticatorTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapAuthenticatorTest.java
similarity index 89%
rename from tests/iketests/src/java/com/android/ike/eap/EapAuthenticatorTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapAuthenticatorTest.java
index 11d4661..4c868a0 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapAuthenticatorTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapAuthenticatorTest.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_RESPONSE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.REQUEST_UNSUPPORTED_TYPE_PACKET;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_RESPONSE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.REQUEST_UNSUPPORTED_TYPE_PACKET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
@@ -35,12 +35,12 @@
 import android.os.Looper;
 import android.os.test.TestLooper;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.statemachine.EapStateMachine;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.statemachine.EapStateMachine;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapErrorTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapErrorTest.java
similarity index 91%
rename from tests/iketests/src/java/com/android/ike/eap/EapErrorTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapErrorTest.java
index f2209ec..ce49763 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapErrorTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapErrorTest.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import static org.junit.Assert.assertEquals;
 
-import com.android.ike.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapError;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapMethodEndToEndTest.java
similarity index 85%
rename from tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapMethodEndToEndTest.java
index aed73c2..412a4cf 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapMethodEndToEndTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SUCCESS;
 
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
@@ -28,6 +28,7 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 import android.os.test.TestLooper;
 
 import org.junit.Before;
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java b/tests/iketests/src/java/com/android/internal/net/eap/EapMsChapV2Test.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapMsChapV2Test.java
index d63b59f..01264f9 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapMsChapV2Test.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA_IDENTITY_PACKET;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA_IDENTITY_PACKET;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
@@ -25,7 +25,9 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 
-import com.android.ike.eap.statemachine.EapStateMachine;
+import android.net.eap.EapSessionConfig;
+
+import com.android.internal.net.eap.statemachine.EapStateMachine;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapResponseTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapResponseTest.java
similarity index 80%
rename from tests/iketests/src/java/com/android/ike/eap/EapResponseTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapResponseTest.java
index 77aed41..0c6dd52 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapResponseTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapResponseTest.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.InvalidEapResponseException;
-import com.android.ike.eap.message.EapMessage;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.InvalidEapResponseException;
+import com.android.internal.net.eap.message.EapMessage;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapSimTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapSimTest.java
similarity index 96%
rename from tests/iketests/src/java/com/android/ike/eap/EapSimTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapSimTest.java
index b6f4165..8b11d278 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapSimTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapSimTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA_IDENTITY_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA_IDENTITY_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
@@ -31,9 +31,10 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.statemachine.EapStateMachine;
+import com.android.internal.net.eap.statemachine.EapStateMachine;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapSuccessTest.java b/tests/iketests/src/java/com/android/internal/net/eap/EapSuccessTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/eap/EapSuccessTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapSuccessTest.java
index 724101f..d741054 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapSuccessTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapSuccessTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.EapResult.EapSuccess;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapTestUtils.java b/tests/iketests/src/java/com/android/internal/net/eap/EapTestUtils.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/eap/EapTestUtils.java
rename to tests/iketests/src/java/com/android/internal/net/eap/EapTestUtils.java
index aa37455..de058d1 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapTestUtils.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/EapTestUtils.java
@@ -14,10 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap;
+package com.android.internal.net.eap;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
+import android.net.eap.EapSessionConfig;
+
 import java.util.HashMap;
 
 /**
diff --git a/tests/iketests/src/java/com/android/ike/eap/crypto/Fips186_2PrfTest.java b/tests/iketests/src/java/com/android/internal/net/eap/crypto/Fips186_2PrfTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/eap/crypto/Fips186_2PrfTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/crypto/Fips186_2PrfTest.java
index 7bded7b..978f070 100644
--- a/tests/iketests/src/java/com/android/ike/eap/crypto/Fips186_2PrfTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/crypto/Fips186_2PrfTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.crypto;
+package com.android.internal.net.eap.crypto;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
+import com.android.internal.net.TestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/crypto/HmacSha256ByteSignerTest.java b/tests/iketests/src/java/com/android/internal/net/eap/crypto/HmacSha256ByteSignerTest.java
similarity index 96%
rename from tests/iketests/src/java/com/android/ike/eap/crypto/HmacSha256ByteSignerTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/crypto/HmacSha256ByteSignerTest.java
index d178a45..355c1db 100644
--- a/tests/iketests/src/java/com/android/ike/eap/crypto/HmacSha256ByteSignerTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/crypto/HmacSha256ByteSignerTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.crypto;
+package com.android.internal.net.eap.crypto;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
 
 import static org.junit.Assert.assertArrayEquals;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/crypto/ParityBitUtilTest.java b/tests/iketests/src/java/com/android/internal/net/eap/crypto/ParityBitUtilTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/eap/crypto/ParityBitUtilTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/crypto/ParityBitUtilTest.java
index ae31caf..7ba024e 100644
--- a/tests/iketests/src/java/com/android/ike/eap/crypto/ParityBitUtilTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/crypto/ParityBitUtilTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.crypto;
+package com.android.internal.net.eap.crypto;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/EapDataTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/EapDataTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/eap/message/EapDataTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/EapDataTest.java
index 49de536..9d4cc7c 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/EapDataTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/EapDataTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message;
+package com.android.internal.net.eap.message;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/EapMessageTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/EapMessageTest.java
similarity index 73%
rename from tests/iketests/src/java/com/android/ike/eap/message/EapMessageTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/EapMessageTest.java
index 88d2b6f..813a30f 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/EapMessageTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/EapMessageTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message;
+package com.android.internal.net.eap.message;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_NAK;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_RESPONSE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_TYPE_DATA;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.INCOMPLETE_HEADER_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.INVALID_CODE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.LONG_SUCCESS_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.REQUEST_MISSING_TYPE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.REQUEST_UNSUPPORTED_TYPE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SHORT_PACKET;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_NAK;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_RESPONSE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_TYPE_DATA;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.INCOMPLETE_HEADER_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.INVALID_CODE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.LONG_SUCCESS_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.REQUEST_MISSING_TYPE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.REQUEST_UNSUPPORTED_TYPE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SHORT_PACKET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -41,11 +41,11 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.EapInvalidPacketLengthException;
-import com.android.ike.eap.exceptions.InvalidEapCodeException;
-import com.android.ike.eap.exceptions.UnsupportedEapTypeException;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidPacketLengthException;
+import com.android.internal.net.eap.exceptions.InvalidEapCodeException;
+import com.android.internal.net.eap.exceptions.UnsupportedEapTypeException;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java b/tests/iketests/src/java/com/android/internal/net/eap/message/EapTestMessageDefinitions.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/EapTestMessageDefinitions.java
index 30ca917..2051758 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/EapTestMessageDefinitions.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message;
+package com.android.internal.net.eap.message;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_VERSION_LIST_DATA;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY_STRING;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT_STRING;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_VERSION_LIST_DATA;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY_STRING;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT_STRING;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES;
 
 /**
  * EapTestMessageDefinitions provides byte[] encodings of commonly used EAP Messages.
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2ChallengeRequestTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2ChallengeRequestTest.java
similarity index 72%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2ChallengeRequestTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2ChallengeRequestTest.java
index a5aff23..45a8673 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2ChallengeRequestTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2ChallengeRequestTest.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_LONG_MS_LENGTH;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_SHORT_CHALLENGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_SHORT_MS_LENGTH;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_WRONG_OP_CODE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_CHALLENGE_REQUEST;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SERVER_NAME_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_LONG_MS_LENGTH;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_SHORT_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_SHORT_MS_LENGTH;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_REQUEST_WRONG_OP_CODE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_CHALLENGE_REQUEST;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SERVER_NAME_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_CHALLENGE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -32,11 +32,11 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2ChallengeResponseTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2ChallengeResponseTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2ChallengeResponseTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2ChallengeResponseTest.java
index f43dd4d..3e243a9 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2ChallengeResponseTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2ChallengeResponseTest.java
@@ -14,23 +14,23 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_CHALLENGE_RESPONSE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.NT_RESPONSE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PEER_CHALLENGE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PEER_NAME_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SHORT_CHALLENGE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SHORT_NT_RESPONSE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_RESPONSE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_CHALLENGE_RESPONSE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.NT_RESPONSE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PEER_CHALLENGE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PEER_NAME_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SHORT_CHALLENGE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SHORT_NT_RESPONSE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_RESPONSE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeResponse;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeResponse;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2FailureRequestTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2FailureRequestTest.java
similarity index 73%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2FailureRequestTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2FailureRequestTest.java
index 6779076..ead8022 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2FailureRequestTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2FailureRequestTest.java
@@ -14,34 +14,34 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_REQUEST;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_REQUEST_MISSING_MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_REQUEST_MISSING_MESSAGE_WITH_SPACE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ERROR_CODE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_EXTRA_ATTRIBUTE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_INVALID_CHALLENGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_INVALID_ERROR_CODE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_INVALID_PASSWORD_CHANGE_PROTOCOL;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_SHORT_CHALLENGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE_MISSING_TEXT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PASSWORD_CHANGE_PROTOCOL;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.RETRY_BIT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_REQUEST;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_REQUEST_MISSING_MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_REQUEST_MISSING_MESSAGE_WITH_SPACE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ERROR_CODE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_EXTRA_ATTRIBUTE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_INVALID_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_INVALID_ERROR_CODE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_INVALID_PASSWORD_CHANGE_PROTOCOL;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.FAILURE_REQUEST_SHORT_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE_MISSING_TEXT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PASSWORD_CHANGE_PROTOCOL;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.RETRY_BIT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2FailureResponseTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2FailureResponseTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2FailureResponseTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2FailureResponseTest.java
index 05d71ca..261ddb2 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2FailureResponseTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2FailureResponseTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_RESPONSE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_FAILURE_RESPONSE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureResponse;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureResponse;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
similarity index 98%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
index 687ed92..e70c2a2 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
 
 public class EapMsChapV2PacketDefinitions {
     public static final String ID = "1F";
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2SuccessRequestTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2SuccessRequestTest.java
similarity index 76%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2SuccessRequestTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2SuccessRequestTest.java
index 72593ad..1e0909e 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2SuccessRequestTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2SuccessRequestTest.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.AUTH_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST_EMPTY_MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST_MISSING_MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST_MISSING_MESSAGE_WITH_SPACE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE_MISSING_TEXT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_EXTRA_ATTRIBUTE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_INVALID_AUTH_STRING;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_SHORT_AUTH_STRING;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_WRONG_OP_CODE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_WRONG_PREFIX;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.AUTH_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST_EMPTY_MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST_MISSING_MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_REQUEST_MISSING_MESSAGE_WITH_SPACE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE_MISSING_TEXT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_EXTRA_ATTRIBUTE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_INVALID_AUTH_STRING;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_SHORT_AUTH_STRING;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_WRONG_OP_CODE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_WRONG_PREFIX;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -37,11 +37,11 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2SuccessResponseTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2SuccessResponseTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2SuccessResponseTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2SuccessResponseTest.java
index 3e6a9c5..524b3ec 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2SuccessResponseTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2SuccessResponseTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_RESPONSE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EAP_MSCHAP_V2_SUCCESS_RESPONSE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessResponse;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessResponse;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2TypeDataTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2TypeDataTest.java
similarity index 76%
rename from tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2TypeDataTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2TypeDataTest.java
index a337603..45f1c64 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/mschapv2/EapMsChapV2TypeDataTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2TypeDataTest.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.mschapv2;
+package com.android.internal.net.eap.message.mschapv2;
 
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.AUTH_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.AUTH_STRING;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EXTRA_M_MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE_MISSING_TEXT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_DUPLICATE_KEY;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_EXTRA_M;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_INVALID_FORMAT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_MISSING_M;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.AUTH_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.AUTH_STRING;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.EXTRA_M_MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE_MISSING_TEXT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_DUPLICATE_KEY;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_EXTRA_M;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_INVALID_FORMAT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SUCCESS_REQUEST_MISSING_M;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_CHALLENGE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -34,10 +34,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2VariableTypeData;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2VariableTypeData;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeTypeDataTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeTypeDataTest.java
similarity index 74%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeTypeDataTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeTypeDataTest.java
index 36066f1..6a9e517 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaPrimeTypeDataTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapAkaPrimeTypeDataTest.java
@@ -14,33 +14,33 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.KDF_VERSION;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_HEX;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.KDF_VERSION;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_HEX;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData.EapAkaPrimeTypeDataDecoder;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdf;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData.EapAkaPrimeTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdf;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapAkaTypeDataTest.java
similarity index 74%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapAkaTypeDataTest.java
index e5c6f9e..b2d89d1 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapAkaTypeDataTest.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE_MAC_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE_TYPE_DATA;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_IDENTITY_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.INVALID_SUBTYPE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_CHECKCODE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE_MAC_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE_TYPE_DATA;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_IDENTITY_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.INVALID_SUBTYPE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_CHECKCODE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
 
 import static junit.framework.TestCase.fail;
 
@@ -38,14 +38,14 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRes;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRes;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttributeFactoryTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttributeFactoryTest.java
similarity index 84%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttributeFactoryTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttributeFactoryTest.java
index 75ea901..5b6f5d6 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapSimAkaAttributeFactoryTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapSimAkaAttributeFactoryTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SKIPPABLE_DATA;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SKIPPABLE_DATA_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SKIPPABLE_INVALID_ATTRIBUTE;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SKIPPABLE_DATA;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SKIPPABLE_DATA_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SKIPPABLE_INVALID_ATTRIBUTE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaUnsupportedAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EapSimAkaUnsupportedAttribute;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapSimTypeDataTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapSimTypeDataTest.java
similarity index 83%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/EapSimTypeDataTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapSimTypeDataTest.java
index 40b55c1..678a812 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapSimTypeDataTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/EapSimTypeDataTest.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka;
+package com.android.internal.net.eap.message.simaka;
 
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_START_DUPLICATE_ATTRIBUTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_START_SUBTYPE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.INVALID_SUBTYPE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SHORT_TYPE_DATA;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.TYPE_DATA_INVALID_ATTRIBUTE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.TYPE_DATA_INVALID_AT_RAND;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_START_DUPLICATE_ATTRIBUTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_START_SUBTYPE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.INVALID_SUBTYPE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SHORT_TYPE_DATA;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.TYPE_DATA_INVALID_ATTRIBUTE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.TYPE_DATA_INVALID_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
 
 import static junit.framework.TestCase.fail;
 
@@ -32,10 +32,10 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtAutnTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtAutnTest.java
similarity index 72%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtAutnTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtAutnTest.java
index 73f25b7..ebf22e4 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtAutnTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtAutnTest.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTN;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTN_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTN_BYTES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTN;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTN_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTN_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapAkaAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtAutsTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtAutsTest.java
similarity index 72%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtAutsTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtAutsTest.java
index afd64fe..d65a735 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtAutsTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtAutsTest.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTS;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTS;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTS_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTS_BYTES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_AUTS;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTS;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_AUTS_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTS_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapAkaAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAuts;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAuts;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtBiddingTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtBiddingTest.java
similarity index 79%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtBiddingTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtBiddingTest.java
index 3e6374e..efdfcc2 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtBiddingTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtBiddingTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_BIDDING;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_BIDDING_DOES_NOT_SUPPORT_AKA_PRIME;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_BIDDING_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_BIDDING_SUPPORTS_AKA_PRIME;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_BIDDING;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_BIDDING_DOES_NOT_SUPPORT_AKA_PRIME;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_BIDDING_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_BIDDING_SUPPORTS_AKA_PRIME;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -27,10 +27,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapAkaAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtBidding;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtBidding;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtClientErrorCodeTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtClientErrorCodeTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtClientErrorCodeTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtClientErrorCodeTest.java
index 94aa9d9..2051414 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtClientErrorCodeTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtClientErrorCodeTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToInt;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_CLIENT_ERROR_CODE;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_CLIENT_ERROR_CODE;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_CLIENT_ERROR_CODE_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.ERROR_CODE;
+import static com.android.internal.net.TestUtils.hexStringToInt;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_CLIENT_ERROR_CODE;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_CLIENT_ERROR_CODE;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_CLIENT_ERROR_CODE_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.ERROR_CODE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -28,9 +28,9 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtCounterTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtCounterTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtCounterTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtCounterTest.java
index 9f9a6d2..eb1086d 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtCounterTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtCounterTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER_TOO_SMALL;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER_TOO_SMALL;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER_TOO_SMALL_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.COUNTER_INT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_COUNTER_TOO_SMALL;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER_TOO_SMALL;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_COUNTER_TOO_SMALL_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.COUNTER_INT;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -30,11 +30,11 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtCounter;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtCounterTooSmall;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtCounter;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtCounterTooSmall;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtIdReqTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtIdReqTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtIdReqTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtIdReqTest.java
index 18c74f1..d006053 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtIdReqTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtIdReqTest.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.ANY_ID_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_FULL_AUTH_ID_REQ;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.FULL_AUTH_ID_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.PERMANENT_ID_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_FULLAUTH_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.ANY_ID_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_FULL_AUTH_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.FULL_AUTH_ID_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.PERMANENT_ID_INVALID_LENGTH;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -32,12 +32,12 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtFullauthIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtFullauthIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtIdentityTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtIdentityTest.java
similarity index 79%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtIdentityTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtIdentityTest.java
index 9844c49..cf8e880 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtIdentityTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtIdentityTest.java
@@ -14,21 +14,21 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IDENTITY;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_IDENTITY;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfInputTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtKdfInputTest.java
similarity index 76%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfInputTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtKdfInputTest.java
index dc13f08..51ea3f1 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfInputTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtKdfInputTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT_EMPTY_NETWORK_NAME;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_BYTES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT_EMPTY_NETWORK_NAME;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 
-import com.android.ike.eap.message.simaka.EapAkaPrimeAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtKdfTest.java
similarity index 73%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtKdfTest.java
index 0a1209c..0bb0732 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtKdfTest.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.KDF_VERSION;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.KDF_VERSION;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapAkaPrimeAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdf;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdf;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtMacTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtMacTest.java
similarity index 79%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtMacTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtMacTest.java
index ca4c4b9..82b066d 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtMacTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtMacTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_MAC;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_MAC_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.MAC;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_MAC;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_MAC_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.MAC;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -28,10 +28,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNonceMtTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNonceMtTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNonceMtTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNonceMtTest.java
index a83aa9a..751908a 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNonceMtTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNonceMtTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_MT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_MT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_MT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_MT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -27,10 +27,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
-import com.android.ike.eap.message.simaka.EapSimAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
+import com.android.internal.net.eap.message.simaka.EapSimAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNonceSTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNonceSTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNonceSTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNonceSTest.java
index 06af749..1ad6466 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNonceSTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNonceSTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_S;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_S;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_S_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_S;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NONCE_S;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_S;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NONCE_S_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_S;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -28,10 +28,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceS;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceS;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNotificationTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNotificationTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNotificationTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNotificationTest.java
index f51b390..2db3cbb 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtNotificationTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtNotificationTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToInt;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_POST_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NOTIFICATION_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NOTIFICATION_INVALID_STATE;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NOTIFICATION_CODE;
+import static com.android.internal.net.TestUtils.hexStringToInt;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_POST_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NOTIFICATION_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_NOTIFICATION_INVALID_STATE;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NOTIFICATION_CODE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -32,10 +32,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtPaddingTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtPaddingTest.java
similarity index 76%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtPaddingTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtPaddingTest.java
index 58a6ce7..d310d50 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtPaddingTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtPaddingTest.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PADDING;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_PADDING;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_PADDING_INVALID_PADDING;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PADDING;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_PADDING;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_PADDING_INVALID_PADDING;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -26,10 +26,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAtPaddingException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPadding;
-import com.android.ike.eap.message.simaka.EapSimAkaAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAtPaddingException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPadding;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtRandAkaTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtRandAkaTest.java
similarity index 73%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtRandAkaTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtRandAkaTest.java
index 851a172..bdffdda 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtRandAkaTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtRandAkaTest.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_AKA;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_AKA_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_AKA;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_AKA_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapAkaAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtRandSimTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtRandSimTest.java
similarity index 72%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtRandSimTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtRandSimTest.java
index 1d3e9b3..7456be6 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtRandSimTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtRandSimTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_SIM;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_SIM_DUPLICATE_RANDS;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_SIM_INVALID_NUM_RANDS;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_SIM;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_SIM_DUPLICATE_RANDS;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RAND_SIM_INVALID_NUM_RANDS;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -30,11 +30,11 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimInvalidAtRandException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
-import com.android.ike.eap.message.simaka.EapSimAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimInvalidAtRandException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
+import com.android.internal.net.eap.message.simaka.EapSimAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtResTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtResTest.java
similarity index 76%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtResTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtResTest.java
index 4f97498..34c2ff3 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtResTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtResTest.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES_INVALID_RES_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES_LONG_RES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES_SHORT_RES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES_INVALID_RES_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES_LONG_RES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_RES_SHORT_RES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -29,10 +29,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapAkaAttributeFactory;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRes;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapAkaAttributeFactory;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRes;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtSelectedVersionTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtSelectedVersionTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtSelectedVersionTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtSelectedVersionTest.java
index 1d9c559..659fe9a 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtSelectedVersionTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtSelectedVersionTest.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_SELECTED_VERSION;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_SELECTED_VERSION;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_SELECTED_VERSION_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_SELECTED_VERSION;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_SELECTED_VERSION;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_SELECTED_VERSION_INVALID_LENGTH;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -26,10 +26,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
-import com.android.ike.eap.message.simaka.EapSimAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
+import com.android.internal.net.eap.message.simaka.EapSimAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtVersionListTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtVersionListTest.java
similarity index 74%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtVersionListTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtVersionListTest.java
index 69cda93..96bb7ca 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtVersionListTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/AtVersionListTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToInt;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_VERSION_LIST;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_VERSION_LIST_INVALID_LENGTH;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.VERSION;
+import static com.android.internal.net.TestUtils.hexStringToInt;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_VERSION_LIST;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_VERSION_LIST_INVALID_LENGTH;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.VERSION;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -28,10 +28,10 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
-import com.android.ike.eap.message.simaka.EapSimAttributeFactory;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAttributeFactory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapSimAkaAttributeTest.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/EapSimAkaAttributeTest.java
similarity index 92%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapSimAkaAttributeTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/EapSimAkaAttributeTest.java
index 3cc7b50..98ea222 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapSimAkaAttributeTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/EapSimAkaAttributeTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
 
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/EapTestAttributeDefinitions.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java
rename to tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/EapTestAttributeDefinitions.java
index 01a7da1..60397e1 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/simaka/attributes/EapTestAttributeDefinitions.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.message.simaka.attributes;
+package com.android.internal.net.eap.message.simaka.attributes;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
 
 /**
  * EapTestAttributeDefinitions provides byte[] encodings of commonly used EAP Messages.
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/CreatedStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/CreatedStateTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/CreatedStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/CreatedStateTest.java
index c4978d8..a452fa6 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/CreatedStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/CreatedStateTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -29,10 +29,10 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.statemachine.EapStateMachine.IdentityState;
-import com.android.ike.eap.statemachine.EapStateMachine.MethodState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.statemachine.EapStateMachine.IdentityState;
+import com.android.internal.net.eap.statemachine.EapStateMachine.MethodState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaChallengeStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaChallengeStateTest.java
similarity index 81%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaChallengeStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaChallengeStateTest.java
index feb0243..b07d1ff 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaChallengeStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaChallengeStateTest.java
@@ -14,32 +14,32 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_IDENTITY;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.CK_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_AUTHENTICATION_REJECT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_SYNCHRONIZATION_FAILURE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_UICC_RESP_INVALID_TAG;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_UICC_RESP_SUCCESS_BASE_64;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_UICC_RESP_SYNCHRONIZE_BASE_64;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EMSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IK_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSK;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTN_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTS_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.CK_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_AUTHENTICATION_REJECT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_SYNCHRONIZATION_FAILURE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_UICC_RESP_INVALID_TAG;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_UICC_RESP_SUCCESS_BASE_64;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_UICC_RESP_SYNCHRONIZE_BASE_64;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EMSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IK_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSK;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTN_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTS_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertNull;
@@ -52,25 +52,25 @@
 
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.simaka.EapAkaInvalidAuthenticationResponse;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtBidding;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.ChallengeState;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.ChallengeState.RandChallengeResult;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.simaka.EapAkaInvalidAuthenticationResponse;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtBidding;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.ChallengeState.RandChallengeResult;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaCreatedStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaCreatedStateTest.java
similarity index 73%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaCreatedStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaCreatedStateTest.java
index c32fefa..6e100db 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaCreatedStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaCreatedStateTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -32,17 +32,17 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.ChallengeState;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.IdentityState;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.IdentityState;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaIdentityStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaIdentityStateTest.java
similarity index 79%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaIdentityStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaIdentityStateTest.java
index dcfeb0f..20175f9 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaIdentityStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaIdentityStateTest.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_IDENTITY_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IMSI;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_IDENTITY_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IMSI;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -33,17 +33,17 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.ChallengeState;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.IdentityState;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.IdentityState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaMethodStateMachineTest.java
similarity index 74%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaMethodStateMachineTest.java
index 12e33c8..db2899b 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaMethodStateMachineTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_NOTIFICATION_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IMSI;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_NOTIFICATION_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IMSI;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -40,20 +40,20 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.net.eap.EapSessionConfig.EapAkaConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapAkaConfig;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.CreatedState;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.CreatedState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeChallengeStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeChallengeStateTest.java
similarity index 84%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeChallengeStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeChallengeStateTest.java
index a768376..731eb6b 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeChallengeStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeChallengeStateTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.CK_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_AUTHENTICATION_REJECT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_IDENTITY_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_IDENTITY_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IK_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IMSI;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTN_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.MAC_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.CK_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_AUTHENTICATION_REJECT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_IDENTITY_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_IDENTITY_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IK_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IMSI;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AUTN_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.MAC_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
@@ -44,21 +44,22 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAutn;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdf;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.ChallengeState.RandChallengeResult;
-import com.android.ike.eap.statemachine.EapAkaPrimeMethodStateMachine.ChallengeState;
+import android.net.eap.EapSessionConfig;
+
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAutn;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdf;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtKdfInput;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandAka;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.ChallengeState.RandChallengeResult;
+import com.android.internal.net.eap.statemachine.EapAkaPrimeMethodStateMachine.ChallengeState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeCreatedStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeCreatedStateTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeCreatedStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeCreatedStateTest.java
index 8664cda..90d0bf6 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeCreatedStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeCreatedStateTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -30,12 +30,12 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaPrimeMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaPrimeMethodStateMachine.ChallengeState;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeIdentityStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeIdentityStateTest.java
similarity index 72%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeIdentityStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeIdentityStateTest.java
index 0ce5a45..73191fb 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeIdentityStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeIdentityStateTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_IDENTITY_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IMSI;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_IDENTITY_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IMSI;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -32,14 +32,14 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapAkaPrimeMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapAkaPrimeMethodStateMachine.ChallengeState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeMethodStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachineTest.java
similarity index 65%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeMethodStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachineTest.java
index ce46dc4..125b323 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeMethodStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachineTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
-import static com.android.ike.eap.statemachine.EapAkaPrimeMethodStateMachine.K_AUT_LEN;
-import static com.android.ike.eap.statemachine.EapAkaPrimeMethodStateMachine.K_RE_LEN;
-import static com.android.ike.eap.statemachine.EapSimAkaMethodStateMachine.KEY_LEN;
-import static com.android.ike.eap.statemachine.EapSimAkaMethodStateMachine.SESSION_KEY_LENGTH;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
+import static com.android.internal.net.eap.statemachine.EapAkaPrimeMethodStateMachine.K_AUT_LEN;
+import static com.android.internal.net.eap.statemachine.EapAkaPrimeMethodStateMachine.K_RE_LEN;
+import static com.android.internal.net.eap.statemachine.EapSimAkaMethodStateMachine.KEY_LEN;
+import static com.android.internal.net.eap.statemachine.EapSimAkaMethodStateMachine.SESSION_KEY_LENGTH;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.statemachine.EapAkaMethodStateMachine.CreatedState;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.statemachine.EapAkaMethodStateMachine.CreatedState;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeStateTest.java
similarity index 68%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeStateTest.java
index 98d7bc3..18fce26 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeStateTest.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA_PRIME;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA_PRIME;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -33,18 +33,18 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.EapMethodState;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.EapMethodState;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeTest.java
similarity index 91%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeTest.java
index 4a8e394..48371bb 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaPrimeTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaPrimeTest.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
 
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
@@ -26,10 +26,10 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig.EapAkaPrimeConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapSessionConfig.EapAkaPrimeConfig;
-import com.android.ike.eap.message.simaka.EapAkaPrimeTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaPrimeTypeData;
 
 import org.junit.Before;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaStateTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaStateTest.java
index 0347b66..23b240b 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapAkaStateTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_AKA;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_NOTIFICATION_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_AKA;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_NOTIFICATION_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.simaka.EapAkaTypeData.EAP_AKA_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -38,19 +38,19 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.net.eap.EapSessionConfig.EapAkaConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapAkaConfig;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapAkaTypeData;
-import com.android.ike.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.EapMethodState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.EapMethodState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2AwaitingEapFailureStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2AwaitingEapFailureStateTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2AwaitingEapFailureStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2AwaitingEapFailureStateTest.java
index f914000..1dd60c0 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2AwaitingEapFailureStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2AwaitingEapFailureStateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import org.junit.Before;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2AwaitingEapSuccessStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2AwaitingEapSuccessStateTest.java
similarity index 69%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2AwaitingEapSuccessStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2AwaitingEapSuccessStateTest.java
index b5508f3..d4377cb 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2AwaitingEapSuccessStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2AwaitingEapSuccessStateTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_MSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_NT_RESPONSE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_MSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_NT_RESPONSE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2ChallengeStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2ChallengeStateTest.java
similarity index 66%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2ChallengeStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2ChallengeStateTest.java
index 8f19ba8..ec442da 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2ChallengeStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2ChallengeStateTest.java
@@ -14,18 +14,18 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_MSCHAP_V2_CHALLENGE_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_CHALLENGE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PEER_CHALLENGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SERVER_NAME_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest.TYPE_DATA_HEADER_SIZE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest.VALUE_SIZE;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_MSCHAP_V2_CHALLENGE_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_CHALLENGE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PEER_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SERVER_NAME_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest.TYPE_DATA_HEADER_SIZE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest.VALUE_SIZE;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -35,15 +35,15 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
-import com.android.ike.eap.statemachine.EapMsChapV2MethodStateMachine.ValidateAuthenticatorState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapMsChapV2MethodStateMachine.ValidateAuthenticatorState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2CreatedStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2CreatedStateTest.java
similarity index 70%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2CreatedStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2CreatedStateTest.java
index 62ce4e4..633e0eb 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2CreatedStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2CreatedStateTest.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SERVER_NAME_BYTES;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.SERVER_NAME_BYTES;
 
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
@@ -29,14 +29,14 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
-import com.android.ike.eap.statemachine.EapMsChapV2MethodStateMachine.ValidateAuthenticatorState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.exceptions.mschapv2.EapMsChapV2ParsingException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2ChallengeRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapMsChapV2MethodStateMachine.ValidateAuthenticatorState;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2MethodStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2MethodStateMachineTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2MethodStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2MethodStateMachineTest.java
index 16646a1..b24c3f8 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2MethodStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2MethodStateMachineTest.java
@@ -14,32 +14,33 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_CHALLENGE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_CHALLENGE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_MASTER_KEY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_MSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_NT_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD_HASH;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD_HASH_HASH;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD_UTF_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PEER_CHALLENGE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_RECEIVE_START_KEY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_SEND_START_KEY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_USERNAME;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_USERNAME_ASCII_BYTES;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_CHALLENGE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_CHALLENGE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_MASTER_KEY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_MSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_NT_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD_HASH;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD_HASH_HASH;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD_UTF_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PEER_CHALLENGE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_RECEIVE_START_KEY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_SEND_START_KEY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_USERNAME;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_USERNAME_ASCII_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.eap.EapSessionConfig.EapMsChapV2Config;
-import com.android.ike.eap.statemachine.EapMsChapV2MethodStateMachine.CreatedState;
-import com.android.ike.utils.Log;
+import android.net.eap.EapSessionConfig.EapMsChapV2Config;
+
+import com.android.internal.net.eap.statemachine.EapMsChapV2MethodStateMachine.CreatedState;
+import com.android.internal.net.utils.Log;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2StateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2StateTest.java
similarity index 65%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2StateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2StateTest.java
index db4325e..1e4a0c5 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2StateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2StateTest.java
@@ -14,34 +14,35 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_USERNAME;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PASSWORD;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_USERNAME;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapMsChapV2Config;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.EapMethodState;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
+import android.net.eap.EapSessionConfig.EapMsChapV2Config;
+
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.EapMethodState;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2ValidateAuthenticatorStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2ValidateAuthenticatorStateTest.java
similarity index 68%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2ValidateAuthenticatorStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2ValidateAuthenticatorStateTest.java
index c7fc84f..dda7d5b 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapMsChapV2ValidateAuthenticatorStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapMsChapV2ValidateAuthenticatorStateTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_MSCHAP_V2_FAILURE_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_MSCHAP_V2_SUCCESS_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.INVALID_AUTHENTICATOR_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_CHALLENGE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_NT_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PEER_CHALLENGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ERROR_CODE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PASSWORD_CHANGE_PROTOCOL;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2PacketDefinitions.RETRY_BIT;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
-import static com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_MSCHAP_V2_FAILURE_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_MSCHAP_V2_SUCCESS_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.INVALID_AUTHENTICATOR_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_CHALLENGE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_AUTHENTICATOR_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_NT_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSCHAP_V2_PEER_CHALLENGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.CHALLENGE_BYTES;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.ERROR_CODE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.MESSAGE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.PASSWORD_CHANGE_PROTOCOL;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2PacketDefinitions.RETRY_BIT;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_FAILURE;
+import static com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EAP_MSCHAP_V2_SUCCESS;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -42,19 +42,19 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessRequest;
-import com.android.ike.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
-import com.android.ike.eap.statemachine.EapMsChapV2MethodStateMachine.AwaitingEapFailureState;
-import com.android.ike.eap.statemachine.EapMsChapV2MethodStateMachine.AwaitingEapSuccessState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2FailureRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2SuccessRequest;
+import com.android.internal.net.eap.message.mschapv2.EapMsChapV2TypeData.EapMsChapV2TypeDataDecoder.DecodeResult;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.statemachine.EapMsChapV2MethodStateMachine.AwaitingEapFailureState;
+import com.android.internal.net.eap.statemachine.EapMsChapV2MethodStateMachine.AwaitingEapSuccessState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimAkaMethodStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimAkaMethodStateMachineTest.java
similarity index 73%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimAkaMethodStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimAkaMethodStateMachineTest.java
index 47721da..7adc9f7 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimAkaMethodStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimAkaMethodStateMachineTest.java
@@ -14,55 +14,55 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.COMPUTED_MAC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_CHALLENGE_RESPONSE_MAC_INPUT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_CHALLENGE_RESPONSE_WITH_MAC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_IDENTITY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_REQUEST_WITH_EMPTY_MAC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE_WITH_EMPTY_MAC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE_WITH_MAC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_RESPONSE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EMSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EMSK_STRING;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.KC_1;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.KC_2;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.K_AUT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.K_AUT_STRING;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.K_ENCR;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.K_ENCR_STRING;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MAC_INPUT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSK_STRING;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ORIGINAL_MAC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SRES_1;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SRES_BYTES;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_POST_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_CLIENT_ERROR;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_IDENTITY;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT_STRING;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2_BYTES;
-import static com.android.ike.eap.statemachine.EapSimAkaMethodStateMachine.KEY_LEN;
-import static com.android.ike.eap.statemachine.EapSimAkaMethodStateMachine.MAC_ALGORITHM_STRING;
-import static com.android.ike.eap.statemachine.EapSimAkaMethodStateMachine.MASTER_KEY_GENERATION_ALG;
-import static com.android.ike.eap.statemachine.EapSimAkaMethodStateMachine.SESSION_KEY_LENGTH;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.COMPUTED_MAC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_CHALLENGE_RESPONSE_MAC_INPUT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_CHALLENGE_RESPONSE_WITH_MAC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_IDENTITY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_REQUEST_WITH_EMPTY_MAC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE_WITH_EMPTY_MAC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE_WITH_MAC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_RESPONSE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EMSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EMSK_STRING;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.KC_1;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.KC_2;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.K_AUT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.K_AUT_STRING;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.K_ENCR;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.K_ENCR_STRING;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MAC_INPUT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSK_STRING;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ORIGINAL_MAC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SRES_1;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SRES_BYTES;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_POST_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_CLIENT_ERROR;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_IDENTITY;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.IDENTITY;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT_STRING;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2_BYTES;
+import static com.android.internal.net.eap.statemachine.EapSimAkaMethodStateMachine.KEY_LEN;
+import static com.android.internal.net.eap.statemachine.EapSimAkaMethodStateMachine.MAC_ALGORITHM_STRING;
+import static com.android.internal.net.eap.statemachine.EapSimAkaMethodStateMachine.MASTER_KEY_GENERATION_ALG;
+import static com.android.internal.net.eap.statemachine.EapSimAkaMethodStateMachine.SESSION_KEY_LENGTH;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -80,27 +80,27 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.net.eap.EapSessionConfig.EapSimConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapSimConfig;
-import com.android.ike.eap.crypto.Fips186_2Prf;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.EapMethodState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.crypto.Fips186_2Prf;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtSelectedVersion;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.EapMethodState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimChallengeStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimChallengeStateTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimChallengeStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimChallengeStateTest.java
index 031603e..bffc03a 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimChallengeStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimChallengeStateTest.java
@@ -14,33 +14,33 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_IDENTITY;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.CHALLENGE_RESPONSE_INVALID_KC;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.CHALLENGE_RESPONSE_INVALID_SRES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_IDENTITY_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EMSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.KC_1_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.KC_2_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SRES_1_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SRES_2_BYTES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.VALID_CHALLENGE_RESPONSE;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2_BYTES;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.CHALLENGE_RESPONSE_INVALID_KC;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.CHALLENGE_RESPONSE_INVALID_SRES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_IDENTITY_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EMSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.KC_1_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.KC_2_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SRES_1_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SRES_2_BYTES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.VALID_CHALLENGE_RESPONSE;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RAND;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_1_BYTES;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.RAND_2_BYTES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -55,25 +55,25 @@
 
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.ChallengeState;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.ChallengeState.RandChallengeResult;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaAuthenticationFailureException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaInvalidLengthException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtRandSim;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.ChallengeState.RandChallengeResult;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimCreatedStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimCreatedStateTest.java
similarity index 68%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimCreatedStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimCreatedStateTest.java
index 2ccda48..bdd1920 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimCreatedStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimCreatedStateTest.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_IDENTITY;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapData.EAP_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
 
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.eq;
@@ -30,20 +30,20 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.CreatedState;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.StartState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.CreatedState;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.StartState;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -51,7 +51,6 @@
 import java.util.Arrays;
 import java.util.List;
 
-
 public class EapSimCreatedStateTest extends EapSimStateTest {
     private static final int EAP_SIM_START = 10;
 
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimMethodStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimMethodStateMachineTest.java
similarity index 74%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimMethodStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimMethodStateMachineTest.java
index 8aa4131..ac1d01c 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimMethodStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimMethodStateMachineTest.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_UNABLE_TO_PROCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_UNABLE_TO_PROCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -39,21 +39,21 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.net.eap.EapSessionConfig.EapSimConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapSimConfig;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.CreatedState;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.CreatedState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimStartStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimStartStateTest.java
similarity index 74%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimStartStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimStartStateTest.java
index 4965c8f..ccb746a 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimStartStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimStartStateTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.message.EapData.EAP_IDENTITY;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_IDENTITY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_RESPONSE_WITHOUT_IDENTITY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.IMSI;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ENCR_DATA;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IV;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
-import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
+import static com.android.internal.net.eap.message.EapData.EAP_IDENTITY;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_IDENTITY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_RESPONSE_WITHOUT_IDENTITY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.IMSI;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ENCR_DATA;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_IV;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_PERMANENT_ID_REQ;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.EAP_AT_VERSION_LIST;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_START;
+import static com.android.internal.net.eap.message.simaka.attributes.EapTestAttributeDefinitions.NONCE_MT;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
@@ -46,27 +46,27 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.FinalState;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.ChallengeState;
-import com.android.ike.eap.statemachine.EapSimMethodStateMachine.StartState;
-import com.android.ike.utils.Log;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.exceptions.simaka.EapSimAkaIdentityUnavailableException;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtIdentity;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNonceMt;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtPermanentIdReq;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtVersionList;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.FinalState;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.ChallengeState;
+import com.android.internal.net.eap.statemachine.EapSimMethodStateMachine.StartState;
+import com.android.internal.net.utils.Log;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimStateTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimStateTest.java
index 9a0a3c2..d8d1841 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapSimStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapSimStateTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapData.EAP_NOTIFICATION;
-import static com.android.ike.eap.message.EapData.EAP_TYPE_SIM;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_INSUFFICIENT_CHALLENGES;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
-import static com.android.ike.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.eap.message.EapData.EAP_NOTIFICATION;
+import static com.android.internal.net.eap.message.EapData.EAP_TYPE_SIM;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_CLIENT_ERROR_INSUFFICIENT_CHALLENGES;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SIM_NOTIFICATION_RESPONSE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification.GENERAL_FAILURE_PRE_CHALLENGE;
+import static com.android.internal.net.eap.message.simaka.EapSimTypeData.EAP_SIM_NOTIFICATION;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -38,19 +38,19 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.net.eap.EapSessionConfig.EapSimConfig;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig.EapSimConfig;
-import com.android.ike.eap.message.EapData;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
-import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtNotification;
-import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
-import com.android.ike.eap.message.simaka.EapSimTypeData;
-import com.android.ike.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
-import com.android.ike.eap.statemachine.EapMethodStateMachine.EapMethodState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.message.EapData;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtClientErrorCode;
+import com.android.internal.net.eap.message.simaka.EapSimAkaAttribute.AtNotification;
+import com.android.internal.net.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData;
+import com.android.internal.net.eap.message.simaka.EapSimTypeData.EapSimTypeDataDecoder;
+import com.android.internal.net.eap.statemachine.EapMethodStateMachine.EapMethodState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapStateMachineTest.java
similarity index 77%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapStateMachineTest.java
index 4ef2a6d..288fc85 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapStateMachineTest.java
@@ -14,24 +14,24 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
-import static com.android.ike.eap.EapTestUtils.getDummyEapSessionConfig;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
+import static com.android.internal.net.eap.EapTestUtils.getDummyEapSessionConfig;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
 
 import static org.junit.Assert.assertTrue;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.statemachine.EapStateMachine.CreatedState;
-import com.android.ike.eap.statemachine.EapStateMachine.FailureState;
-import com.android.ike.eap.statemachine.EapStateMachine.SuccessState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.statemachine.EapStateMachine.CreatedState;
+import com.android.internal.net.eap.statemachine.EapStateMachine.FailureState;
+import com.android.internal.net.eap.statemachine.EapStateMachine.SuccessState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapStateTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/EapStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapStateTest.java
index ed6e08a..0193cb4 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/EapStateTest.java
@@ -14,30 +14,30 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
-import static com.android.ike.eap.EapTestUtils.getDummyEapSimSessionConfig;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_MD5_CHALLENGE;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NAK_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.REQUEST_UNSUPPORTED_TYPE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.SHORT_PACKET;
+import static com.android.internal.net.eap.EapTestUtils.getDummyEapSimSessionConfig;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_MD5_CHALLENGE;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NAK_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.REQUEST_UNSUPPORTED_TYPE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.SHORT_PACKET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
 
 import android.content.Context;
+import android.net.eap.EapSessionConfig;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.exceptions.EapInvalidPacketLengthException;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.statemachine.EapStateMachine.EapState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.exceptions.EapInvalidPacketLengthException;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.statemachine.EapStateMachine.EapState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/IdentityStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/IdentityStateTest.java
similarity index 75%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/IdentityStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/IdentityStateTest.java
index 6ba04e9..abe4e82 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/IdentityStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/IdentityStateTest.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
-import static com.android.ike.eap.EapTestUtils.getDummyEapSessionConfig;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_IDENTITY;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_IDENTITY_DEFAULT_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_IDENTITY_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.EapTestUtils.getDummyEapSessionConfig;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_IDENTITY;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_IDENTITY_DEFAULT_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_IDENTITY_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -33,9 +33,9 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.statemachine.EapStateMachine.MethodState;
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.statemachine.EapStateMachine.MethodState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/MethodStateTest.java
similarity index 76%
rename from tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java
rename to tests/iketests/src/java/com/android/internal/net/eap/statemachine/MethodStateTest.java
index c719e7f..9df06e5 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/eap/statemachine/MethodStateTest.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-package com.android.ike.eap.statemachine;
+package com.android.internal.net.eap.statemachine;
 
 import static android.telephony.TelephonyManager.APPTYPE_USIM;
 
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_FAILURE;
-import static com.android.ike.eap.message.EapMessage.EAP_CODE_SUCCESS;
-import static com.android.ike.eap.message.EapMessage.EAP_HEADER_LENGTH;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_REQUEST;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_MSCHAP_V2;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EMSK;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.MSK;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_FAILURE;
+import static com.android.internal.net.eap.message.EapMessage.EAP_CODE_SUCCESS;
+import static com.android.internal.net.eap.message.EapMessage.EAP_HEADER_LENGTH;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_AKA_PRIME_REQUEST;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_MSCHAP_V2;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.EMSK;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.ID_INT;
+import static com.android.internal.net.eap.message.EapTestMessageDefinitions.MSK;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -43,17 +43,18 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.eap.EapResult;
-import com.android.ike.eap.EapResult.EapError;
-import com.android.ike.eap.EapResult.EapFailure;
-import com.android.ike.eap.EapResult.EapResponse;
-import com.android.ike.eap.EapResult.EapSuccess;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.exceptions.EapInvalidRequestException;
-import com.android.ike.eap.message.EapMessage;
-import com.android.ike.eap.statemachine.EapStateMachine.FailureState;
-import com.android.ike.eap.statemachine.EapStateMachine.MethodState;
-import com.android.ike.eap.statemachine.EapStateMachine.SuccessState;
+import android.net.eap.EapSessionConfig;
+
+import com.android.internal.net.eap.EapResult;
+import com.android.internal.net.eap.EapResult.EapError;
+import com.android.internal.net.eap.EapResult.EapFailure;
+import com.android.internal.net.eap.EapResult.EapResponse;
+import com.android.internal.net.eap.EapResult.EapSuccess;
+import com.android.internal.net.eap.exceptions.EapInvalidRequestException;
+import com.android.internal.net.eap.message.EapMessage;
+import com.android.internal.net.eap.statemachine.EapStateMachine.FailureState;
+import com.android.internal.net.eap.statemachine.EapStateMachine.MethodState;
+import com.android.internal.net.eap.statemachine.EapStateMachine.SuccessState;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/ChildSessionStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachineTest.java
similarity index 93%
rename from tests/iketests/src/java/com/android/ike/ikev2/ChildSessionStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachineTest.java
index 1b6276a..f6c32ee 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/ChildSessionStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/ChildSessionStateMachineTest.java
@@ -14,30 +14,30 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INTERNAL_ADDRESS_FAILURE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
 import static android.system.OsConstants.AF_INET;
 
-import static com.android.ike.ikev2.ChildSessionStateMachine.CMD_FORCE_TRANSITION;
-import static com.android.ike.ikev2.IkeSessionStateMachine.CMD_LOCAL_REQUEST_REKEY_CHILD;
-import static com.android.ike.ikev2.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_DELETE_CHILD;
-import static com.android.ike.ikev2.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_REKEY_CHILD;
-import static com.android.ike.ikev2.IkeSessionStateMachine.REKEY_DELETE_TIMEOUT_MS;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INTERNAL_ADDRESS_FAILURE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_CREATE_CHILD_SA;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_REKEY_SA;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_CP;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_DELETE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_KE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NONCE;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_SA;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_TS_INITIATOR;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_TS_RESPONDER;
-import static com.android.ike.ikev2.message.IkePayload.PROTOCOL_ID_ESP;
+import static com.android.internal.net.ipsec.ike.ChildSessionStateMachine.CMD_FORCE_TRANSITION;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.CMD_LOCAL_REQUEST_REKEY_CHILD;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_DELETE_CHILD;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_REKEY_CHILD;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.REKEY_DELETE_TIMEOUT_MS;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_CREATE_CHILD_SA;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_REKEY_SA;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_CP;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_DELETE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_KE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NONCE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_SA;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_TS_INITIATOR;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_TS_RESPONDER;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PROTOCOL_ID_ESP;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -68,45 +68,53 @@
 import android.net.IpSecManager.UdpEncapsulationSocket;
 import android.net.IpSecTransform;
 import android.net.LinkAddress;
+import android.net.ipsec.ike.ChildSaProposal;
+import android.net.ipsec.ike.ChildSessionCallback;
+import android.net.ipsec.ike.ChildSessionConfiguration;
+import android.net.ipsec.ike.ChildSessionOptions;
+import android.net.ipsec.ike.IkeManager;
+import android.net.ipsec.ike.IkeTrafficSelector;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.TunnelModeChildSessionOptions;
+import android.net.ipsec.ike.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeInternalException;
 import android.os.test.TestLooper;
 
 import androidx.test.InstrumentationRegistry;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.ChildSessionStateMachine.CreateChildSaHelper;
-import com.android.ike.ikev2.ChildSessionStateMachine.IChildSessionSmCallback;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.ChildLocalRequest;
-import com.android.ike.ikev2.SaRecord.ChildSaRecord;
-import com.android.ike.ikev2.SaRecord.ChildSaRecordConfig;
-import com.android.ike.ikev2.SaRecord.ISaRecordHelper;
-import com.android.ike.ikev2.SaRecord.SaRecordHelper;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.IkeException;
-import com.android.ike.ikev2.exceptions.IkeInternalException;
-import com.android.ike.ikev2.exceptions.InvalidKeException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
-import com.android.ike.ikev2.message.IkeConfigPayload;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
-import com.android.ike.ikev2.message.IkeDeletePayload;
-import com.android.ike.ikev2.message.IkeKePayload;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeNoncePayload;
-import com.android.ike.ikev2.message.IkeNotifyPayload;
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.message.IkeTestUtils;
-import com.android.ike.ikev2.message.IkeTsPayload;
-import com.android.ike.ikev2.testutils.MockIpSecTestUtils;
-import com.android.ike.utils.Log;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachine.CreateChildSaHelper;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachine.IChildSessionSmCallback;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.ChildLocalRequest;
+import com.android.internal.net.ipsec.ike.SaRecord.ChildSaRecord;
+import com.android.internal.net.ipsec.ike.SaRecord.ChildSaRecordConfig;
+import com.android.internal.net.ipsec.ike.SaRecord.ISaRecordHelper;
+import com.android.internal.net.ipsec.ike.SaRecord.SaRecordHelper;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidKeException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
+import com.android.internal.net.ipsec.ike.message.IkeDeletePayload;
+import com.android.internal.net.ipsec.ike.message.IkeKePayload;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeNoncePayload;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.message.IkeTestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeTsPayload;
+import com.android.internal.net.ipsec.ike.testutils.MockIpSecTestUtils;
+import com.android.internal.net.utils.Log;
 import com.android.server.IpSecService;
 
 import libcore.net.InetAddressUtils;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeLocalRequestSchedulerTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeLocalRequestSchedulerTest.java
similarity index 93%
rename from tests/iketests/src/java/com/android/ike/ikev2/IkeLocalRequestSchedulerTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeLocalRequestSchedulerTest.java
index 4b3442e..3406d01 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeLocalRequestSchedulerTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeLocalRequestSchedulerTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
-import static com.android.ike.ikev2.IkeSessionStateMachine.CMD_LOCAL_REQUEST_REKEY_IKE;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.CMD_LOCAL_REQUEST_REKEY_IKE;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
@@ -26,8 +26,8 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
-import com.android.ike.ikev2.IkeLocalRequestScheduler.IProcedureConsumer;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.LocalRequest;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.IProcedureConsumer;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.LocalRequest;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeSessionStateMachineTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/IkeSessionStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeSessionStateMachineTest.java
index 819c328..94f4d62 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeSessionStateMachineTest.java
@@ -14,29 +14,30 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
-import static com.android.ike.ikev2.IkeSessionStateMachine.CMD_LOCAL_REQUEST_REKEY_IKE;
-import static com.android.ike.ikev2.IkeSessionStateMachine.CMD_RECEIVE_IKE_PACKET;
-import static com.android.ike.ikev2.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_DELETE_CHILD;
-import static com.android.ike.ikev2.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_REKEY_CHILD;
-import static com.android.ike.ikev2.IkeSessionStateMachine.RETRY_INTERVAL_MS;
-import static com.android.ike.ikev2.IkeSessionStateMachine.SA_SOFT_LIFETIME_MS;
-import static com.android.ike.ikev2.IkeSessionStateMachine.TEMP_FAILURE_RETRY_TIMEOUT_MS;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_CHILD_SA_NOT_FOUND;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SYNTAX;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_ADDITIONAL_SAS;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_CREATE_CHILD_SA;
-import static com.android.ike.ikev2.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_IKEV2_FRAGMENTATION_SUPPORTED;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_DESTINATION_IP;
-import static com.android.ike.ikev2.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_SOURCE_IP;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_AUTH;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_SA;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_CHILD_SA_NOT_FOUND;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_SYNTAX;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_ADDITIONAL_SAS;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_NO_PROPOSAL_CHOSEN;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_TEMPORARY_FAILURE;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
+
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.CMD_LOCAL_REQUEST_REKEY_IKE;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.CMD_RECEIVE_IKE_PACKET;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_DELETE_CHILD;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IKE_EXCHANGE_SUBTYPE_REKEY_CHILD;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.RETRY_INTERVAL_MS;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.SA_SOFT_LIFETIME_MS;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.TEMP_FAILURE_RETRY_TIMEOUT_MS;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_CREATE_CHILD_SA;
+import static com.android.internal.net.ipsec.ike.message.IkeHeader.EXCHANGE_TYPE_INFORMATIONAL;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_IKEV2_FRAGMENTATION_SUPPORTED;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_DESTINATION_IP;
+import static com.android.internal.net.ipsec.ike.message.IkeNotifyPayload.NOTIFY_TYPE_NAT_DETECTION_SOURCE_IP;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_AUTH;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_SA;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -67,68 +68,78 @@
 import android.content.Context;
 import android.net.IpSecManager;
 import android.net.IpSecManager.UdpEncapsulationSocket;
+import android.net.eap.EapSessionConfig;
+import android.net.ipsec.ike.ChildSaProposal;
+import android.net.ipsec.ike.ChildSessionCallback;
+import android.net.ipsec.ike.ChildSessionOptions;
+import android.net.ipsec.ike.IkeIpv4AddrIdentification;
+import android.net.ipsec.ike.IkeManager;
+import android.net.ipsec.ike.IkeSaProposal;
+import android.net.ipsec.ike.IkeSessionCallback;
+import android.net.ipsec.ike.IkeSessionOptions;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.TransportModeChildSessionOptions;
+import android.net.ipsec.ike.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeInternalException;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.os.test.TestLooper;
 import android.telephony.TelephonyManager;
 
-import com.android.ike.TestUtils;
-import com.android.ike.eap.EapAuthenticator;
-import com.android.ike.eap.EapSessionConfig;
-import com.android.ike.eap.IEapCallback;
-import com.android.ike.ikev2.ChildSessionStateMachine.IChildSessionSmCallback;
-import com.android.ike.ikev2.ChildSessionStateMachineFactory.ChildSessionFactoryHelper;
-import com.android.ike.ikev2.ChildSessionStateMachineFactory.IChildSessionFactoryHelper;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.ChildLocalRequest;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.LocalRequest;
-import com.android.ike.ikev2.IkeSessionStateMachine.IkeSecurityParameterIndex;
-import com.android.ike.ikev2.IkeSessionStateMachine.ReceivedIkePacket;
-import com.android.ike.ikev2.SaRecord.ISaRecordHelper;
-import com.android.ike.ikev2.SaRecord.IkeSaRecord;
-import com.android.ike.ikev2.SaRecord.IkeSaRecordConfig;
-import com.android.ike.ikev2.SaRecord.SaRecordHelper;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeException;
-import com.android.ike.ikev2.exceptions.IkeInternalException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
-import com.android.ike.ikev2.exceptions.UnsupportedCriticalPayloadException;
-import com.android.ike.ikev2.message.IkeAuthDigitalSignPayload;
-import com.android.ike.ikev2.message.IkeAuthPayload;
-import com.android.ike.ikev2.message.IkeAuthPskPayload;
-import com.android.ike.ikev2.message.IkeCertX509CertPayload;
-import com.android.ike.ikev2.message.IkeDeletePayload;
-import com.android.ike.ikev2.message.IkeEapPayload;
-import com.android.ike.ikev2.message.IkeHeader;
-import com.android.ike.ikev2.message.IkeIdPayload;
-import com.android.ike.ikev2.message.IkeInformationalPayload;
-import com.android.ike.ikev2.message.IkeKePayload;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResult;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultOk;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultPartial;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultProtectedError;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultUnprotectedError;
-import com.android.ike.ikev2.message.IkeMessage.IIkeMessageHelper;
-import com.android.ike.ikev2.message.IkeMessage.IkeMessageHelper;
-import com.android.ike.ikev2.message.IkeNoncePayload;
-import com.android.ike.ikev2.message.IkeNotifyPayload;
-import com.android.ike.ikev2.message.IkePayload;
-import com.android.ike.ikev2.message.IkeSaPayload;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.message.IkeSkfPayload;
-import com.android.ike.ikev2.message.IkeTestUtils;
-import com.android.ike.ikev2.message.IkeTsPayload;
-import com.android.ike.ikev2.testutils.CertUtils;
-import com.android.ike.ikev2.testutils.MockIpSecTestUtils;
-import com.android.ike.ikev2.utils.Retransmitter;
-import com.android.ike.ikev2.utils.Retransmitter.IBackoffTimeoutCalculator;
-import com.android.ike.utils.Log;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.eap.EapAuthenticator;
+import com.android.internal.net.eap.IEapCallback;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachine.IChildSessionSmCallback;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachineFactory.ChildSessionFactoryHelper;
+import com.android.internal.net.ipsec.ike.ChildSessionStateMachineFactory.IChildSessionFactoryHelper;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.ChildLocalRequest;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.LocalRequest;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IkeSecurityParameterIndex;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine.ReceivedIkePacket;
+import com.android.internal.net.ipsec.ike.SaRecord.ISaRecordHelper;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecord;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecordConfig;
+import com.android.internal.net.ipsec.ike.SaRecord.SaRecordHelper;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.exceptions.UnsupportedCriticalPayloadException;
+import com.android.internal.net.ipsec.ike.message.IkeAuthDigitalSignPayload;
+import com.android.internal.net.ipsec.ike.message.IkeAuthPayload;
+import com.android.internal.net.ipsec.ike.message.IkeAuthPskPayload;
+import com.android.internal.net.ipsec.ike.message.IkeCertX509CertPayload;
+import com.android.internal.net.ipsec.ike.message.IkeDeletePayload;
+import com.android.internal.net.ipsec.ike.message.IkeEapPayload;
+import com.android.internal.net.ipsec.ike.message.IkeHeader;
+import com.android.internal.net.ipsec.ike.message.IkeIdPayload;
+import com.android.internal.net.ipsec.ike.message.IkeInformationalPayload;
+import com.android.internal.net.ipsec.ike.message.IkeKePayload;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResult;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultOk;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultPartial;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultProtectedError;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultUnprotectedError;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.IIkeMessageHelper;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.IkeMessageHelper;
+import com.android.internal.net.ipsec.ike.message.IkeNoncePayload;
+import com.android.internal.net.ipsec.ike.message.IkeNotifyPayload;
+import com.android.internal.net.ipsec.ike.message.IkePayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSkfPayload;
+import com.android.internal.net.ipsec.ike.message.IkeTestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeTsPayload;
+import com.android.internal.net.ipsec.ike.testutils.CertUtils;
+import com.android.internal.net.ipsec.ike.testutils.MockIpSecTestUtils;
+import com.android.internal.net.ipsec.ike.utils.Retransmitter;
+import com.android.internal.net.ipsec.ike.utils.Retransmitter.IBackoffTimeoutCalculator;
+import com.android.internal.net.utils.Log;
 import com.android.internal.util.State;
 
 import libcore.net.InetAddressUtils;
@@ -713,7 +724,7 @@
         return ikeSession;
     }
 
-    static IkeSaProposal buildSaProposal() throws Exception {
+    public static IkeSaProposal buildSaProposal() throws Exception {
         return new IkeSaProposal.Builder()
                 .addEncryptionAlgorithm(
                         SaProposal.ENCRYPTION_ALGORITHM_AES_CBC, SaProposal.KEY_LEN_AES_128)
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeSocketTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeSocketTest.java
similarity index 98%
rename from tests/iketests/src/java/com/android/ike/ikev2/IkeSocketTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeSocketTest.java
index 11db7df..1b8761f 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeSocketTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/IkeSocketTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -39,9 +39,9 @@
 
 import androidx.test.InstrumentationRegistry;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.IkeSocket.PacketReceiver;
-import com.android.ike.ikev2.message.IkeHeader;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.IkeSocket.PacketReceiver;
+import com.android.internal.net.ipsec.ike.message.IkeHeader;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/SaRecordTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/SaRecordTest.java
similarity index 90%
rename from tests/iketests/src/java/com/android/ike/ikev2/SaRecordTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/SaRecordTest.java
index e3a6955..646b9d9 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/SaRecordTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/SaRecordTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2;
+package com.android.internal.net.ipsec.ike;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -32,26 +32,27 @@
 import android.net.IpSecManager.SecurityParameterIndex;
 import android.net.IpSecManager.UdpEncapsulationSocket;
 import android.net.IpSecTransform;
+import android.net.ipsec.ike.SaProposal;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.ChildLocalRequest;
-import com.android.ike.ikev2.IkeLocalRequestScheduler.LocalRequest;
-import com.android.ike.ikev2.IkeSessionStateMachine.IkeSecurityParameterIndex;
-import com.android.ike.ikev2.SaRecord.ChildSaRecord;
-import com.android.ike.ikev2.SaRecord.ChildSaRecordConfig;
-import com.android.ike.ikev2.SaRecord.IIpSecTransformHelper;
-import com.android.ike.ikev2.SaRecord.IkeSaRecord;
-import com.android.ike.ikev2.SaRecord.IkeSaRecordConfig;
-import com.android.ike.ikev2.SaRecord.IpSecTransformHelper;
-import com.android.ike.ikev2.SaRecord.SaRecordHelper;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.testutils.MockIpSecTestUtils;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.ChildLocalRequest;
+import com.android.internal.net.ipsec.ike.IkeLocalRequestScheduler.LocalRequest;
+import com.android.internal.net.ipsec.ike.IkeSessionStateMachine.IkeSecurityParameterIndex;
+import com.android.internal.net.ipsec.ike.SaRecord.ChildSaRecord;
+import com.android.internal.net.ipsec.ike.SaRecord.ChildSaRecordConfig;
+import com.android.internal.net.ipsec.ike.SaRecord.IIpSecTransformHelper;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecord;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecordConfig;
+import com.android.internal.net.ipsec.ike.SaRecord.IpSecTransformHelper;
+import com.android.internal.net.ipsec.ike.SaRecord.SaRecordHelper;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.testutils.MockIpSecTestUtils;
 import com.android.server.IpSecService;
 
 import libcore.net.InetAddressUtils;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeCombinedModeCipherTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCombinedModeCipherTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeCombinedModeCipherTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCombinedModeCipherTest.java
index a7ff299..a3b2253 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeCombinedModeCipherTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeCombinedModeCipherTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -23,11 +23,11 @@
 import static org.junit.Assert.fail;
 
 import android.net.IpSecAlgorithm;
+import android.net.ipsec.ike.SaProposal;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeMacIntegrityTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacIntegrityTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeMacIntegrityTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacIntegrityTest.java
index d3c857c..ed62566 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeMacIntegrityTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacIntegrityTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
@@ -22,11 +22,11 @@
 import static org.junit.Assert.fail;
 
 import android.net.IpSecAlgorithm;
+import android.net.ipsec.ike.SaProposal;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeMacPrfTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacPrfTest.java
similarity index 96%
rename from tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeMacPrfTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacPrfTest.java
index 0de72fa..717886f 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeMacPrfTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeMacPrfTest.java
@@ -14,15 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeNormalModeCipherTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeNormalModeCipherTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeNormalModeCipherTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeNormalModeCipherTest.java
index 8119d7a..3f3a0e1 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/crypto/IkeNormalModeCipherTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/crypto/IkeNormalModeCipherTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.crypto;
+package com.android.internal.net.ipsec.ike.crypto;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -23,11 +23,11 @@
 import static org.junit.Assert.fail;
 
 import android.net.IpSecAlgorithm;
+import android.net.ipsec.ike.SaProposal;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.message.IkeMessage;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthDigitalSignPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayloadTest.java
similarity index 92%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthDigitalSignPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayloadTest.java
index 239bd50..96921c3 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthDigitalSignPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayloadTest.java
@@ -14,21 +14,22 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.message.IkeAuthDigitalSignPayload.SIGNATURE_ALGO_RSA_SHA2_256;
+import static com.android.internal.net.ipsec.ike.message.IkeAuthDigitalSignPayload.SIGNATURE_ALGO_RSA_SHA2_256;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.testutils.CertUtils;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.testutils.CertUtils;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPayloadTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPayloadTest.java
index f2de260..989b468 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPayloadTest.java
@@ -14,18 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthPskPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPskPayloadTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthPskPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPskPayloadTest.java
index d514b69..cad6052 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeAuthPskPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeAuthPskPayloadTest.java
@@ -14,17 +14,18 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.crypto.IkeMacPrf;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacPrf;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeCertPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeCertPayloadTest.java
similarity index 96%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeCertPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeCertPayloadTest.java
index 1b641fc..2bb72e3 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeCertPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeCertPayloadTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.fail;
 
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.testutils.CertUtils;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.testutils.CertUtils;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeCertX509CertPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeCertX509CertPayloadTest.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeCertX509CertPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeCertX509CertPayloadTest.java
index 8cabaeb..ef6ec28 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeCertX509CertPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeCertX509CertPayloadTest.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeConfigPayloadTest.java
similarity index 90%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeConfigPayloadTest.java
index e8a67d7..9fc3222 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeConfigPayloadTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DHCP;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DNS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_SUBNET;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_DNS;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_SUBNET;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_TYPE_REPLY;
-import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_TYPE_REQUEST;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_CP;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DHCP;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DNS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_SUBNET;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_DNS;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_SUBNET;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_TYPE_REPLY;
+import static com.android.internal.net.ipsec.ike.message.IkeConfigPayload.CONFIG_TYPE_REQUEST;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_CP;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NOTIFY;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -42,19 +42,19 @@
 
 import android.net.LinkAddress;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttrIpv4AddressBase;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttrIpv6AddrRangeBase;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Dhcp;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Dns;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Subnet;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Address;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Dns;
-import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv6Subnet;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttrIpv4AddressBase;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttrIpv6AddrRangeBase;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Dhcp;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Dns;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv4Subnet;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Address;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Dns;
+import com.android.internal.net.ipsec.ike.message.IkeConfigPayload.ConfigAttributeIpv6Subnet;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeDeletePayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeDeletePayloadTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeDeletePayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeDeletePayloadTest.java
index ddd1aa9..6be5336 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeDeletePayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeDeletePayloadTest.java
@@ -14,20 +14,20 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.message.IkePayload.PROTOCOL_ID_ESP;
-import static com.android.ike.ikev2.message.IkePayload.PROTOCOL_ID_IKE;
-import static com.android.ike.ikev2.message.IkePayload.SPI_LEN_IPSEC;
-import static com.android.ike.ikev2.message.IkePayload.SPI_LEN_NOT_INCLUDED;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PROTOCOL_ID_ESP;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PROTOCOL_ID_IKE;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.SPI_LEN_IPSEC;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.SPI_LEN_NOT_INCLUDED;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeEapPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeEapPayloadTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeEapPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeEapPayloadTest.java
index df89ce0..fff82b6 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeEapPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeEapPayloadTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.TestUtils.hexStringToByteArray;
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeEncryptedPayloadBodyTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBodyTest.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeEncryptedPayloadBodyTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBodyTest.java
index c43a859..36c7648 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeEncryptedPayloadBodyTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBodyTest.java
@@ -13,20 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeCombinedModeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeNormalModeCipher;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeCombinedModeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeNormalModeCipher;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeHeaderTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeHeaderTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeHeaderTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeHeaderTest.java
index f3c7a2b..4592815 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeHeaderTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeHeaderTest.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.exceptions.InvalidMajorVersionException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidMajorVersionException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeIdPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeIdPayloadTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeIdPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeIdPayloadTest.java
index 14d0526..75552b3 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeIdPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeIdPayloadTest.java
@@ -14,20 +14,21 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.IkeFqdnIdentification;
-import com.android.ike.ikev2.IkeIdentification;
-import com.android.ike.ikev2.IkeIpv4AddrIdentification;
-import com.android.ike.ikev2.IkeIpv6AddrIdentification;
-import com.android.ike.ikev2.IkeKeyIdIdentification;
-import com.android.ike.ikev2.IkeRfc822AddrIdentification;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
+import android.net.ipsec.ike.IkeFqdnIdentification;
+import android.net.ipsec.ike.IkeIdentification;
+import android.net.ipsec.ike.IkeIpv4AddrIdentification;
+import android.net.ipsec.ike.IkeIpv6AddrIdentification;
+import android.net.ipsec.ike.IkeKeyIdIdentification;
+import android.net.ipsec.ike.IkeRfc822AddrIdentification;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeKePayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeKePayloadTest.java
similarity index 96%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeKePayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeKePayloadTest.java
index b1887bd..f5046dc 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeKePayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeKePayloadTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -22,11 +22,12 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.IkeDhParams;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.utils.BigIntegerUtils;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.IkeDhParams;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.utils.BigIntegerUtils;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeMessageTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeMessageTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeMessageTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeMessageTest.java
index e999455..38b4152 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeMessageTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeMessageTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_OK;
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_PROTECTED_ERROR;
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_UNPROTECTED_ERROR;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_AUTH;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_ID_INITIATOR;
-import static com.android.ike.ikev2.message.IkePayload.PAYLOAD_TYPE_NO_NEXT;
-import static com.android.ike.ikev2.message.IkeTestUtils.makeDummySkfPayload;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_OK;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_PROTECTED_ERROR;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_UNPROTECTED_ERROR;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_AUTH;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_ID_INITIATOR;
+import static com.android.internal.net.ipsec.ike.message.IkePayload.PAYLOAD_TYPE_NO_NEXT;
+import static com.android.internal.net.ipsec.ike.message.IkeTestUtils.makeDummySkfPayload;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -44,20 +44,21 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaRecord.IkeSaRecord;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeNormalModeCipher;
-import com.android.ike.ikev2.exceptions.IkeException;
-import com.android.ike.ikev2.exceptions.IkeInternalException;
-import com.android.ike.ikev2.exceptions.InvalidMessageIdException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.UnsupportedCriticalPayloadException;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResult;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultError;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultOk;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultPartial;
-import com.android.ike.ikev2.message.IkePayloadFactory.IIkePayloadDecoder;
+import android.net.ipsec.ike.exceptions.IkeException;
+import android.net.ipsec.ike.exceptions.IkeInternalException;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.SaRecord.IkeSaRecord;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeNormalModeCipher;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidMessageIdException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.UnsupportedCriticalPayloadException;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResult;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultError;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultOk;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultPartial;
+import com.android.internal.net.ipsec.ike.message.IkePayloadFactory.IIkePayloadDecoder;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeNoncePayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeNoncePayloadTest.java
similarity index 94%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeNoncePayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeNoncePayloadTest.java
index 1c3d193..dd92a45 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeNoncePayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeNoncePayloadTest.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 
-import com.android.ike.TestUtils;
+import com.android.internal.net.TestUtils;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeNotifyPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeNotifyPayloadTest.java
similarity index 93%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeNotifyPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeNotifyPayloadTest.java
index 99ce6b9..884c76e 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeNotifyPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeNotifyPayloadTest.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_AUTHENTICATION_FAILED;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_KE_PAYLOAD;
-import static com.android.ike.ikev2.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_AUTHENTICATION_FAILED;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_INVALID_KE_PAYLOAD;
+import static android.net.ipsec.ike.exceptions.IkeProtocolException.ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -26,13 +26,14 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.exceptions.AuthenticationFailedException;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidKeException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.UnrecognizedIkeProtocolException;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.AuthenticationFailedException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidKeException;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.UnrecognizedIkeProtocolException;
 
 import org.junit.Test;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSaPayloadTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSaPayloadTest.java
index 7a6bd4c..750ff46 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSaPayloadTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -33,31 +33,31 @@
 
 import android.net.IpSecManager;
 import android.net.IpSecSpiResponse;
+import android.net.ipsec.ike.ChildSaProposal;
+import android.net.ipsec.ike.IkeSaProposal;
+import android.net.ipsec.ike.SaProposal;
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.Pair;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.ChildSaProposal;
-import com.android.ike.ikev2.IkeSaProposal;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.exceptions.NoValidProposalChosenException;
-import com.android.ike.ikev2.message.IkeSaPayload.Attribute;
-import com.android.ike.ikev2.message.IkeSaPayload.AttributeDecoder;
-import com.android.ike.ikev2.message.IkeSaPayload.ChildProposal;
-import com.android.ike.ikev2.message.IkeSaPayload.DhGroupTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.EsnTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IkeProposal;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.KeyLengthAttribute;
-import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.Proposal;
-import com.android.ike.ikev2.message.IkeSaPayload.Transform;
-import com.android.ike.ikev2.message.IkeSaPayload.TransformDecoder;
-import com.android.ike.ikev2.message.IkeSaPayload.UnrecognizedAttribute;
-import com.android.ike.ikev2.message.IkeSaPayload.UnrecognizedTransform;
-import com.android.ike.ikev2.testutils.MockIpSecTestUtils;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.exceptions.NoValidProposalChosenException;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Attribute;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.AttributeDecoder;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.ChildProposal;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.DhGroupTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EsnTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IkeProposal;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.KeyLengthAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.PrfTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Proposal;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.Transform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.TransformDecoder;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.UnrecognizedAttribute;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.UnrecognizedTransform;
+import com.android.internal.net.ipsec.ike.testutils.MockIpSecTestUtils;
 import com.android.server.IpSecService;
 
 import libcore.net.InetAddressUtils;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSkPayloadTest.java
similarity index 90%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSkPayloadTest.java
index f3af5b6..898db30 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSkPayloadTest.java
@@ -14,16 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkfPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSkfPayloadTest.java
similarity index 93%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkfPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSkfPayloadTest.java
index f51d1e6..3374a7d 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkfPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeSkfPayloadTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -23,14 +23,15 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.SaProposal;
-import com.android.ike.ikev2.crypto.IkeCipher;
-import com.android.ike.ikev2.crypto.IkeMacIntegrity;
-import com.android.ike.ikev2.crypto.IkeNormalModeCipher;
-import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
-import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
-import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
+import android.net.ipsec.ike.SaProposal;
+
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.crypto.IkeCipher;
+import com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity;
+import com.android.internal.net.ipsec.ike.crypto.IkeNormalModeCipher;
+import com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.EncryptionTransform;
+import com.android.internal.net.ipsec.ike.message.IkeSaPayload.IntegrityTransform;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeTestUtils.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeTestUtils.java
similarity index 86%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeTestUtils.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeTestUtils.java
index a87f8ad..0547437 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeTestUtils.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeTestUtils.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
-import static com.android.ike.ikev2.message.IkeMessage.DECODE_STATUS_UNPROTECTED_ERROR;
+import static com.android.internal.net.ipsec.ike.message.IkeMessage.DECODE_STATUS_UNPROTECTED_ERROR;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -24,12 +24,12 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import android.net.ipsec.ike.exceptions.IkeProtocolException;
 import android.util.Pair;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.exceptions.IkeProtocolException;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResult;
-import com.android.ike.ikev2.message.IkeMessage.DecodeResultError;
+import com.android.internal.net.TestUtils;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResult;
+import com.android.internal.net.ipsec.ike.message.IkeMessage.DecodeResultError;
 
 import java.nio.ByteBuffer;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeTsPayloadTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeTsPayloadTest.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/ikev2/message/IkeTsPayloadTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeTsPayloadTest.java
index 1e45591..cbd6f93 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeTsPayloadTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/message/IkeTsPayloadTest.java
@@ -14,15 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.message;
+package com.android.internal.net.ipsec.ike.message;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.android.ike.TestUtils;
-import com.android.ike.ikev2.IkeTrafficSelector;
+import android.net.ipsec.ike.IkeTrafficSelector;
+
+import com.android.internal.net.TestUtils;
 
 import libcore.net.InetAddressUtils;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/testutils/CertUtils.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/testutils/CertUtils.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/testutils/CertUtils.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/testutils/CertUtils.java
index e42e564..db128c8 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/testutils/CertUtils.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/testutils/CertUtils.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.testutils;
+package com.android.internal.net.ipsec.ike.testutils;
 
 import android.content.Context;
 
 import androidx.test.InstrumentationRegistry;
 
-import com.android.ike.ikev2.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
 import com.android.org.bouncycastle.util.io.pem.PemObject;
 import com.android.org.bouncycastle.util.io.pem.PemReader;
 
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/testutils/MockIpSecTestUtils.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/testutils/MockIpSecTestUtils.java
similarity index 98%
rename from tests/iketests/src/java/com/android/ike/ikev2/testutils/MockIpSecTestUtils.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/testutils/MockIpSecTestUtils.java
index 9659f5e..742ff24 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/testutils/MockIpSecTestUtils.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/testutils/MockIpSecTestUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.testutils;
+package com.android.internal.net.ipsec.ike.testutils;
 
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.IPPROTO_UDP;
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/utils/RetransmitterTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/utils/RetransmitterTest.java
similarity index 95%
rename from tests/iketests/src/java/com/android/ike/ikev2/utils/RetransmitterTest.java
rename to tests/iketests/src/java/com/android/internal/net/ipsec/ike/utils/RetransmitterTest.java
index b1d4ea5..1fddb1d 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/utils/RetransmitterTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/utils/RetransmitterTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.ike.ikev2.utils;
+package com.android.internal.net.ipsec.ike.utils;
 
-import static com.android.ike.ikev2.IkeSessionStateMachine.CMD_RETRANSMIT;
+import static com.android.internal.net.ipsec.ike.IkeSessionStateMachine.CMD_RETRANSMIT;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -33,7 +33,7 @@
 import android.os.Handler;
 import android.os.Message;
 
-import com.android.ike.ikev2.message.IkeMessage;
+import com.android.internal.net.ipsec.ike.message.IkeMessage;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/iketests/src/java/com/android/ike/utils/BigIntegerUtilsTest.java b/tests/iketests/src/java/com/android/internal/net/utils/BigIntegerUtilsTest.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/utils/BigIntegerUtilsTest.java
rename to tests/iketests/src/java/com/android/internal/net/utils/BigIntegerUtilsTest.java
index a9babae..29bb313 100644
--- a/tests/iketests/src/java/com/android/ike/utils/BigIntegerUtilsTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/utils/BigIntegerUtilsTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.utils;
+package com.android.internal.net.utils;
 
 import static org.junit.Assert.assertArrayEquals;
 
diff --git a/tests/iketests/src/java/com/android/ike/utils/LogTest.java b/tests/iketests/src/java/com/android/internal/net/utils/LogTest.java
similarity index 97%
rename from tests/iketests/src/java/com/android/ike/utils/LogTest.java
rename to tests/iketests/src/java/com/android/internal/net/utils/LogTest.java
index 9536e00..23305aa 100644
--- a/tests/iketests/src/java/com/android/ike/utils/LogTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/utils/LogTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.utils;
+package com.android.internal.net.utils;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/tests/iketests/src/java/com/android/ike/utils/SimpleStateMachineTest.java b/tests/iketests/src/java/com/android/internal/net/utils/SimpleStateMachineTest.java
similarity index 96%
rename from tests/iketests/src/java/com/android/ike/utils/SimpleStateMachineTest.java
rename to tests/iketests/src/java/com/android/internal/net/utils/SimpleStateMachineTest.java
index b2ea914..2ee8dc5 100644
--- a/tests/iketests/src/java/com/android/ike/utils/SimpleStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/utils/SimpleStateMachineTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.ike.utils;
+package com.android.internal.net.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -22,7 +22,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.android.ike.utils.SimpleStateMachine.SimpleState;
+import com.android.internal.net.utils.SimpleStateMachine.SimpleState;
 
 import org.junit.Before;
 import org.junit.Test;