Run DR election when hello packet is received.
diff --git a/pimd/pim_neighbor.c b/pimd/pim_neighbor.c
index 51ce8c9..7d7b43a 100644
--- a/pimd/pim_neighbor.c
+++ b/pimd/pim_neighbor.c
@@ -132,7 +132,8 @@
     zlog_info("%s: DR was %s now is %s on interface %s",
 	      __PRETTY_FUNCTION__,
 	      dr_old_str, dr_new_str, ifp->name);
-    
+
+    ++pim_ifp->pim_dr_election_changes; 
     pim_if_update_join_desired(pim_ifp);
     pim_if_update_could_assert(ifp);
     pim_if_update_assert_tracking_desired(ifp);
@@ -191,7 +192,7 @@
       PIM Hello message is received, when a neighbor times out, or when a
       router's own DR Priority changes.
     */
-    pim_if_dr_election(neigh->interface);
+    pim_if_dr_election(neigh->interface); // router's own DR Priority changes
   }
 }
 
@@ -226,7 +227,7 @@
     PIM Hello message is received, when a neighbor times out, or when a
     router's own DR Priority changes.
   */
-  pim_if_dr_election(ifp);
+  pim_if_dr_election(ifp); // neighbor times out
 
   return 0;
 }
@@ -347,7 +348,7 @@
     PIM Hello message is received, when a neighbor times out, or when a
     router's own DR Priority changes.
   */
-  pim_if_dr_election(neigh->interface);
+  pim_if_dr_election(neigh->interface); // new neighbor -- should not trigger dr election...
 
   /*
     RFC 4601: 4.3.1.  Sending Hello Messages