]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_neighbor.c
Merge pull request #6054 from sarav511/dr2ndr
[mirror_frr.git] / pimd / pim_neighbor.c
index fa0e823f47ecf7d633c71a14b843748a9e56c2d6..4d6625bf6fa5b1758c90f25b0f860bca82982764 100644 (file)
@@ -790,6 +790,7 @@ void pim_neighbor_update(struct pim_neighbor *neigh,
                         uint32_t dr_priority, struct list *addr_list)
 {
        struct pim_interface *pim_ifp = neigh->interface->info;
+       uint32_t old, new;
 
        /* Received holdtime ? */
        if (PIM_OPTION_IS_SET(hello_options, PIM_OPTION_MASK_HOLDTIME)) {
@@ -829,6 +830,16 @@ void pim_neighbor_update(struct pim_neighbor *neigh,
        neigh->prefix_list = addr_list;
 
        update_dr_priority(neigh, hello_options, dr_priority);
+       new = PIM_OPTION_IS_SET(hello_options, PIM_OPTION_MASK_LAN_PRUNE_DELAY);
+       old = PIM_OPTION_IS_SET(neigh->hello_options,
+                               PIM_OPTION_MASK_LAN_PRUNE_DELAY);
+
+       if (old != new) {
+               if (old)
+                       ++pim_ifp->pim_number_of_nonlandelay_neighbors;
+               else
+                       --pim_ifp->pim_number_of_nonlandelay_neighbors;
+       }
        /*
          Copy flags
         */