diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-06-14 10:54:41 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-24 13:51:39 -0400 |
| commit | 2aa1ca8418689d078c69e008e65f8d6c25c016fa (patch) | |
| tree | 628fa45cc99c1ee7f04f5a7267cc634272cf5b24 | |
| parent | 1f9666a1db14989cfbe0b2628a8935f7cb2a2929 (diff) | |
pimd: When we are initializing a pim socket limit hellos
When we are initializing a pim socket for vrf or loopback
interfaces do not schedule a hello to go out at all.
I'm currently leaving the check on is a vrf / loopback
device on the actual send as that we have several paths
to get there.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
| -rw-r--r-- | pimd/pim_pim.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c index 5b9d6effc8..5bfe9c4f1f 100644 --- a/pimd/pim_pim.c +++ b/pimd/pim_pim.c @@ -675,9 +675,7 @@ static void hello_resched(struct interface *ifp) { struct pim_interface *pim_ifp; - zassert(ifp); pim_ifp = ifp->info; - zassert(pim_ifp); if (PIM_DEBUG_PIM_HELLO) { zlog_debug("Rescheduling %d sec hello on interface %s", @@ -698,7 +696,6 @@ static int on_pim_hello_send(struct thread *t) struct interface *ifp; ifp = THREAD_ARG(t); - pim_ifp = ifp->info; /* @@ -725,9 +722,7 @@ void pim_hello_restart_now(struct interface *ifp) { struct pim_interface *pim_ifp; - zassert(ifp); pim_ifp = ifp->info; - zassert(pim_ifp); /* * Reset next hello timer @@ -755,9 +750,13 @@ void pim_hello_restart_triggered(struct interface *ifp) int triggered_hello_delay_msec; int random_msec; - zassert(ifp); pim_ifp = ifp->info; - zassert(pim_ifp); + + /* + * No need to ever start loopback or vrf device hello's + */ + if (pim_if_is_loopback(pim_ifp->pim, ifp)) + return; /* * There exists situations where we have the a RPF out this |
