diff --git a/rtnetlink_server.cpp b/rtnetlink_server.cpp
index 91e9947..31dbfd1 100644
--- a/rtnetlink_server.cpp
+++ b/rtnetlink_server.cpp
@@ -21,7 +21,7 @@
 namespace network
 {
 
-extern std::unique_ptr<phosphor::network::Timer> refreshTimer;
+extern std::unique_ptr<phosphor::network::Timer> refreshObjectTimer;
 
 namespace rtnetlink
 {
@@ -46,13 +46,13 @@
             {
                 // starting the timer here to make sure that we don't want
                 // create the child objects multiple times.
-                if (refreshTimer->isExpired())
+                if (refreshObjectTimer->isExpired())
                 {
                     using namespace std::chrono;
-                    auto time = duration_cast<microseconds>(networkChangeTimeout);
+                    auto time = duration_cast<microseconds>(refreshTimeout);
                     // if start timer throws exception then let the application
                     // crash
-                    refreshTimer->startTimer(time);
+                    refreshObjectTimer->startTimer(time);
                 } // end if
             } // end if
 
@@ -63,7 +63,6 @@
     return 0;
 }
 
-
 int Server::run()
 {
     using namespace phosphor::logging;
@@ -118,7 +117,7 @@
 
     memset(&addr, 0, sizeof(addr));
     addr.nl_family = AF_NETLINK;
-    addr.nl_groups = RTMGRP_IPV4_IFADDR;
+    addr.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR;
 
     if (bind(smartSock(), (struct sockaddr*)&addr, sizeof(addr)) < 0)
     {
