OSPF protocol manual merge from 1.6, due to cherry pick merge conflict

Change-Id: I93653e745468722ce95533537a79e897b4292f5d
diff --git a/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfInterfaceState.java b/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfInterfaceState.java
index 82a00f0..a8036b5 100644
--- a/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfInterfaceState.java
+++ b/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfInterfaceState.java
@@ -31,20 +31,55 @@
     private int value;
 
     /**
-     * Creates an instance of Interface State.
+     * Creates an instance of interface state.
      *
-     * @param value Interface State value
+     * @param value Interface state value
      */
     OspfInterfaceState(int value) {
         this.value = value;
     }
 
     /**
-     * Gets value for Interface State.
+     * Gets value for Interface state.
      *
-     * @return value Interface State
+     * @return value Interface state
      */
     public int value() {
         return value;
     }
+
+    /**
+     * Gets interface state.
+     *
+     * @return interface state
+     */
+    public String interfaceState() {
+        String state = null;
+        switch (value) {
+            case 1:
+                state = "DOWN";
+                break;
+            case 2:
+                state = "LOOPBACK";
+                break;
+            case 3:
+                state = "WAITING";
+                break;
+            case 4:
+                state = "POINT2POINT";
+                break;
+            case 5:
+                state = "DROTHER";
+                break;
+            case 6:
+                state = "BDR";
+                break;
+            case 7:
+                state = "DR";
+                break;
+            default:
+                break;
+        }
+        return state;
+    }
 }
\ No newline at end of file