Add config validation for vRouter and PIM configs

Change-Id: I97ddf4f745a19df6998b15ae47ebde5aa5f46238
diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java
index 48969c3..63ceb36 100644
--- a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java
+++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java
@@ -112,4 +112,20 @@
         }
         return Optional.of(Short.parseShort(node.path(OVERRIDE_INTERVAL).asText()));
     }
+
+    @Override
+    public boolean isValid() {
+        if (!hasOnlyFields(INTERFACE_NAME, ENABLED, HELLO_INTERVAL, HOLD_TIME,
+                PRIORITY, PROPAGATION_DELAY, OVERRIDE_INTERVAL)) {
+            return false;
+        }
+
+        return isString(INTERFACE_NAME, FieldPresence.MANDATORY) &&
+                isBoolean(ENABLED, FieldPresence.MANDATORY) &&
+                isIntegralNumber(HELLO_INTERVAL, FieldPresence.OPTIONAL) &&
+                isIntegralNumber(HOLD_TIME, FieldPresence.OPTIONAL) &&
+                isIntegralNumber(PRIORITY, FieldPresence.OPTIONAL) &&
+                isIntegralNumber(PROPAGATION_DELAY, FieldPresence.OPTIONAL) &&
+                isIntegralNumber(OVERRIDE_INTERVAL, FieldPresence.OPTIONAL);
+    }
 }