IP Address use case validation

-validates IPAddress/gateway using inet_pton api.
-validates prefix length for ipv4/ipv6.
-if dhcp is enabled, it won't allow to set ip/gateway.

Resolves openbmc/openbmc#1671

Change-Id: I76c1d9d11dfb59002eb1310d87e94ee622714a4a
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
diff --git a/test/test_util.cpp b/test/test_util.cpp
index 9b1d34a..1c78b64 100644
--- a/test/test_util.cpp
+++ b/test/test_util.cpp
@@ -64,13 +64,22 @@
 TEST_F(TestUtil, isLinkLocaladdress)
 {
     std::string ipaddress = "fe80:fec0::";
-    EXPECT_TRUE(isLinkLocal(ipaddress));
+    EXPECT_TRUE(isLinkLocalIP(ipaddress));
 
-    ipaddress = "2000:4567:789::";
-    EXPECT_FALSE(isLinkLocal(ipaddress));
+    ipaddress = "2000:fe80:789::";
+    EXPECT_FALSE(isLinkLocalIP(ipaddress));
 
     ipaddress = "2000:fe80::";
-    EXPECT_FALSE(isLinkLocal(ipaddress));
+    EXPECT_FALSE(isLinkLocalIP(ipaddress));
+
+    ipaddress = "169.254.3.3";
+    EXPECT_TRUE(isLinkLocalIP(ipaddress));
+
+    ipaddress = "3.169.254.3";
+    EXPECT_FALSE(isLinkLocalIP(ipaddress));
+
+    ipaddress = "3.3.169.254";
+    EXPECT_FALSE(isLinkLocalIP(ipaddress));
 }
 
 TEST_F(TestUtil, convertPrefixToMask)