]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Fix register stop timer
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 11 Aug 2016 11:07:15 +0000 (07:07 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:06 +0000 (20:26 -0500)
1) Ensure Timer is actually off
2) I missread the rfc, when we are in prune state, just send the
register stop.  Do not add the tunnel device yet.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_upstream.c

index 9ee0e870045359ee57a9676c8503c46f24277ff6..39f609da286f09913aeb87afce17c1307c3b4330 100644 (file)
@@ -913,6 +913,7 @@ pim_upstream_register_stop_timer (struct thread *t)
 
   up = THREAD_ARG (t);
 
+  THREAD_TIMER_OFF (up->t_rs_timer);
   up->t_rs_timer = NULL;
 
   if (PIM_DEBUG_TRACE)
@@ -940,7 +941,6 @@ pim_upstream_register_stop_timer (struct thread *t)
       ip_hdr.ip_len = htons (20);
       // checksum is broken
       pim_register_send ((uint8_t *)&ip_hdr, sizeof (struct ip), rpg, 1);
-      pim_channel_add_oif (up->channel_oil, pim_regiface, PIM_OIF_FLAG_PROTO_PIM);
       break;
     default:
       break;