diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
index 0802c9e..e1edb6d 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
@@ -115,6 +115,9 @@
     private static final String PROXY_MODE = "proxy";
     private static final String BROADCAST_MODE = "broadcast";
 
+    private static final String ENABLE = "enable";
+    private static final String DISABLE = "disable";
+
     private static final int HTTP_PAYLOAD_BUFFER = 8 * 1024;
 
     private static final String HMAC_SHA256 = "HmacSHA256";
@@ -457,6 +460,24 @@
     }
 
     /**
+     * Checks the validity of activation flag.
+     *
+     * @param activationFlag activation flag
+     * @return returns true if the activation flag is valid, false otherwise
+     */
+    public static boolean checkActivationFlag(String activationFlag) {
+
+        switch (activationFlag) {
+            case ENABLE:
+                return true;
+            case DISABLE:
+                return false;
+            default:
+                throw new IllegalArgumentException("The given activation flag is not valid!");
+        }
+    }
+
+    /**
      * Swaps current location with old location info.
      * The revised instance port will be used to mod the flow rules after migration.
      *
