Donald, The DR election on hello messages is actually needed.
It entered the code as a fix reported by a pimd user. I can't remember the reasoning, but I could find the commit which fixed the issue: On Tue, Jun 16, 2015 at 5:26 PM, Donald Sharp <[email protected]> wrote: > The DR election is occurring on every hello received. > This is because the hello receive packet returns a 0 > for any successfully received packet. PIMD then looked > at the 0 returned and did a DR election. > > Code was inspected for the cases where DR should happen: > (A) Interface ip address change > (B) DR priority in hello packet changes > (C) Received a new neighbor on an interface > (D) Neighbor timer pops. > > Each of these initiate a DR election in the code currently. > > Testing was initiated on a pim network: > tor-11# show ip pim designated-router > NonPri: Number of neighbors missing DR Priority hello option > > Interface Address DR Uptime Elections Changes NonPri > br1 20.0.15.1 20.0.15.1 00:08:16 1 1 0 > swp1 169.254.0.10 169.254.0.10 00:08:16 2 1 0 > swp2 169.254.0.26 169.254.0.26 00:08:16 2 1 0 > tor-11# > > As you can see Elections == 2. This is because pimd performs > an election on (A) and (C) above. I see no need to modify > (A) to check if we have any knowledge of the interface before > this call. > --- > pimd/pim_pim.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c > index f6f4c95..adcb296 100644 > --- a/pimd/pim_pim.c > +++ b/pimd/pim_pim.c > @@ -212,9 +212,6 @@ int pim_pim_packet(struct interface *ifp, uint8_t > *buf, size_t len) > ip_hdr->ip_src, > pim_msg + PIM_MSG_HEADER_LEN, > pim_msg_len - PIM_MSG_HEADER_LEN); > - if (!result) { > - pim_if_dr_election(ifp); /* PIM Hello message is received */ > - } > return result; > } > > -- > 1.7.10.4 > > > _______________________________________________ > Quagga-dev mailing list > [email protected] > https://lists.quagga.net/mailman/listinfo/quagga-dev >
_______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
