Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pimd: Fix for FHR mroute taking longer to age out (backport #14105) #18051

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions pimd/pim_ifchannel.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,16 @@ void pim_ifchannel_delete_all(struct interface *ifp)

void delete_on_noinfo(struct pim_ifchannel *ch)
{
if (ch->local_ifmembership == PIM_IFMEMBERSHIP_NOINFO
&& ch->ifjoin_state == PIM_IFJOIN_NOINFO
&& ch->t_ifjoin_expiry_timer == NULL)
struct pim_upstream *up = ch->upstream;
/*
* (S,G) with no active traffic, KAT expires, PPT expries,
* channel state is NoInfo
*/
if (ch->local_ifmembership == PIM_IFMEMBERSHIP_NOINFO &&
ch->ifjoin_state == PIM_IFJOIN_NOINFO &&
(ch->t_ifjoin_expiry_timer == NULL || (up && !pim_upstream_is_kat_running(up)))) {
pim_ifchannel_delete(ch);
}
}

void pim_ifchannel_ifjoin_switch(const char *caller, struct pim_ifchannel *ch,
Expand Down
2 changes: 1 addition & 1 deletion pimd/pim_upstream.c
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ static void on_join_timer(struct thread *t)
}

/*
* In the case of a HFR we will not ahve anyone to send this to.
* In the case of a FHR we will not ahve anyone to send this to.
*/
if (PIM_UPSTREAM_FLAG_TEST_FHR(up->flags))
return;
Expand Down
Loading