pimd: Fix register stop timer

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>
This commit is contained in:
Donald Sharp 2016-08-11 07:07:15 -04:00
parent 8e38a2cfcc
commit 79ce47c00d

View File

@ -913,6 +913,7 @@ pim_upstream_register_stop_timer (struct thread *t)
up = THREAD_ARG (t); up = THREAD_ARG (t);
THREAD_TIMER_OFF (up->t_rs_timer);
up->t_rs_timer = NULL; up->t_rs_timer = NULL;
if (PIM_DEBUG_TRACE) if (PIM_DEBUG_TRACE)
@ -940,7 +941,6 @@ pim_upstream_register_stop_timer (struct thread *t)
ip_hdr.ip_len = htons (20); ip_hdr.ip_len = htons (20);
// checksum is broken // checksum is broken
pim_register_send ((uint8_t *)&ip_hdr, sizeof (struct ip), rpg, 1); 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; break;
default: default:
break; break;