Fetch the network portion of the IP address

eg 192.168.2.24/24 ==> 192.168.2.0

Change-Id: I5e46ce7b371360c90ef74fac175c8379c6f31d4c
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/test/test_util.cpp b/test/test_util.cpp
index d0888ca..9b1d34a 100644
--- a/test/test_util.cpp
+++ b/test/test_util.cpp
@@ -61,7 +61,7 @@
     EXPECT_EQ(prefix, 0);
 }
 
-TEST_F(TestUtil, isLinLocaladdress)
+TEST_F(TestUtil, isLinkLocaladdress)
 {
     std::string ipaddress = "fe80:fec0::";
     EXPECT_TRUE(isLinkLocal(ipaddress));
@@ -85,5 +85,27 @@
     EXPECT_EQ(mask, "255.255.255.224");
 }
 
+TEST_F(TestUtil, getNetworkAddress)
+{
+    std::string address = getNetworkID(AF_INET,"9.3.23.251",24);
+    EXPECT_EQ("9.3.23.0",address);
+
+    address = getNetworkID(AF_INET,"9.3.23.251",25);
+    EXPECT_EQ("9.3.23.128",address);
+
+    address = getNetworkID(AF_INET6,"2001:db8:abcd:dd12::0",64);
+    EXPECT_EQ("2001:db8:abcd:dd12::",address);
+
+    address = getNetworkID(AF_INET,"a.b.c.d",25);
+    EXPECT_EQ("",address);
+
+    address = getNetworkID(AF_INET6,"2001:db8:gghh:dd12::0",64);
+    EXPECT_EQ("",address);
+
+
+    address = getNetworkID(AF_INET6,"fe80::201:6cff:fe80:228",64);
+    EXPECT_EQ("fe80::",address);
+}
+
 }// namespce network
 }// namespace phosphor