mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 11:30:30 +00:00
pimd: Stop sending Register under certain situations
When the switch in question is both a FHR and the RP for the received multicast group stream. When we go to send the NULL register to the RP( ourselves ) do not send it if we have not seen packets for that stream in time greater than PIM_KEEPALIVE_PERIOD and I_am_RP(G). Ticket: CM-13880 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
833331fbce
commit
70e7fda8a4
@ -1211,6 +1211,13 @@ pim_upstream_register_stop_timer (struct thread *t)
|
|||||||
up->join_state = PIM_UPSTREAM_JOIN_PENDING;
|
up->join_state = PIM_UPSTREAM_JOIN_PENDING;
|
||||||
pim_upstream_start_register_stop_timer (up, 1);
|
pim_upstream_start_register_stop_timer (up, 1);
|
||||||
|
|
||||||
|
if (((up->channel_oil->cc.lastused/100) > PIM_KEEPALIVE_PERIOD) &&
|
||||||
|
(I_am_RP (up->sg.grp)))
|
||||||
|
{
|
||||||
|
if (PIM_DEBUG_TRACE)
|
||||||
|
zlog_debug ("%s: Stop sending the register, because I am the RP and we haven't seen a packet in a while", __PRETTY_FUNCTION__);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
rpg = RP (up->sg.grp);
|
rpg = RP (up->sg.grp);
|
||||||
memset (&ip_hdr, 0, sizeof (struct ip));
|
memset (&ip_hdr, 0, sizeof (struct ip));
|
||||||
ip_hdr.ip_p = PIM_IP_PROTO_PIM;
|
ip_hdr.ip_p = PIM_IP_PROTO_PIM;
|
||||||
|
Loading…
Reference in New Issue
Block a user