mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 06:32:33 +00:00
pimd: Lower Hello sent to be immediate
There exists situations where an interface flaps and routing recovers and we attempt to install an upstream but since we have no neighbor out that interface still. Let's cause the hello to go out immediately for the 3.1 release to allow mrouting to recover in this situation. We will need to revisit this issue after we have proper nexthop tracking in place Ticket: CM-13185 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
This commit is contained in:
parent
5e9985887e
commit
cf3cd99f5d
@ -746,7 +746,20 @@ void pim_hello_restart_triggered(struct interface *ifp)
|
||||
pim_ifp = ifp->info;
|
||||
zassert(pim_ifp);
|
||||
|
||||
triggered_hello_delay_msec = 1000 * pim_ifp->pim_triggered_hello_delay;
|
||||
/*
|
||||
* There exists situations where we have the a RPF out this
|
||||
* interface, but we haven't formed a neighbor yet. This
|
||||
* happens especially during interface flaps. While
|
||||
* we would like to handle this more gracefully in other
|
||||
* parts of the code. In order to get us up and running
|
||||
* let's just send the hello immediate'ish
|
||||
* This should be revisited when we get nexthop tracking
|
||||
* in and when we have a better handle on safely
|
||||
* handling the rpf information for upstreams that
|
||||
* we cannot legally reach yet.
|
||||
*/
|
||||
triggered_hello_delay_msec = 1;
|
||||
//triggered_hello_delay_msec = 1000 * pim_ifp->pim_triggered_hello_delay;
|
||||
|
||||
if (pim_ifp->t_pim_hello_timer) {
|
||||
long remain_msec = pim_time_timer_remain_msec(pim_ifp->t_pim_hello_timer);
|
||||
@ -760,7 +773,8 @@ void pim_hello_restart_triggered(struct interface *ifp)
|
||||
pim_ifp->t_pim_hello_timer = NULL;
|
||||
}
|
||||
|
||||
random_msec = random() % (triggered_hello_delay_msec + 1);
|
||||
random_msec = triggered_hello_delay_msec;
|
||||
//random_msec = random() % (triggered_hello_delay_msec + 1);
|
||||
|
||||
if (PIM_DEBUG_PIM_HELLO) {
|
||||
zlog_debug("Scheduling %d msec triggered hello on interface %s",
|
||||
|
Loading…
Reference in New Issue
Block a user