diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-08-10 16:16:22 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-21 20:26:06 -0500 |
| commit | 8e38a2cfccfdf7b47fb69d6fae26f83c5825d1a6 (patch) | |
| tree | 1aa68c55611deebe94e918c07c7f17dbab6b3046 /pimd/pim_register.h | |
| parent | 90d82769a88020c485118bc76faff15a2c8648cf (diff) | |
pimd: Fix RP shenanigans
The RP was not properly handling the series of events:
1) When a WRVIFWHOLE is received if we are the RP,
send a pim register stop to the FHR.
2) When a register was received we were sending
a join (S,G) towards the S, then a immediate prune (S,G)
followed by another join (S,G). Just send the first join
3) Save whom we received the S,G register from so we
can use it later
4) Allow a join timer to restart itself instead
of causing a crash.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_register.h')
| -rw-r--r-- | pimd/pim_register.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/pimd/pim_register.h b/pimd/pim_register.h index 8ab24b7137..ce2e052104 100644 --- a/pimd/pim_register.h +++ b/pimd/pim_register.h @@ -43,5 +43,6 @@ int pim_register_recv (struct interface *ifp, uint8_t *tlv_buf, int tlv_buf_size); void pim_register_send (const uint8_t *buf, int buf_size, struct pim_rpf *rpg, int null_register); +void pim_register_stop_send (struct interface *ifp, struct prefix_sg *sg, struct in_addr originator); #endif |
