]> git.puffer.fish Git - matthieu/frr.git/commit
pimd: In Prune Pending state, the holdtime change is not taking effect
authorgithub login name <ranjany@vmware.com>
Mon, 19 Jul 2021 07:46:00 +0000 (00:46 -0700)
committermergify-bot <noreply@mergify.io>
Wed, 27 Oct 2021 20:26:47 +0000 (20:26 +0000)
commitfc8482f62131e114435a3b89b84c7ca1a07577ec
tree7b7c6b5a68e27f62376ad00dd48cd32bd8215df7
parente4a59aad065177f5ceafaa650a3e12ce18c2428a
pimd: In Prune Pending state, the holdtime change is not taking effect

Problem Statement:
In Prune pending state, when Join is received, and there is hold timer change
the Expiry timer is not getting updated with new Hold timer.

Root Cause:
When thread_add_timer function is called and the thread is already in the list
the thread api just returns, it does not modify the timer value.
So when we want to change the timer, we need to first call THREAD_OFF and then
call thread_add_timer.
The Expiry timer thread is not cancelled in PIM_IFJOIN_PRUNE_PENDING state,
therefore the timer change is not taking effect.

Fix:
Call THREAD_OFF in that flow.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
(cherry picked from commit b206dc5566dc790174f2fd1d14687612a54c7acd)
pimd/pim_ifchannel.c