summaryrefslogtreecommitdiff
path: root/pimd/pimd.c
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2017-03-31 00:15:23 -0500
committerGitHub <noreply@github.com>2017-03-31 00:15:23 -0500
commit2b5c7fa46d98ea35f6febd5b3da32ca0a2445ca2 (patch)
treef2f90cc6427bd7a279b7d08d14a3aed7064fb200 /pimd/pimd.c
parentd77005377fed5fd895eeecf4784311cdba838480 (diff)
parent31edf0b50978c4fbe2502923ab50b6a640921f38 (diff)
Merge pull request #291 from AnuradhaKaruppiah/pim-ssm
Pim ssm
Diffstat (limited to 'pimd/pimd.c')
-rw-r--r--pimd/pimd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/pimd/pimd.c b/pimd/pimd.c
index b67544b28e..72fe0e7046 100644
--- a/pimd/pimd.c
+++ b/pimd/pimd.c
@@ -41,6 +41,7 @@
#include "pim_ssmpingd.h"
#include "pim_static.h"
#include "pim_rp.h"
+#include "pim_ssm.h"
#include "pim_zlookup.h"
#include "pim_nht.h"
@@ -182,6 +183,13 @@ pim_rp_list_hash_clean (void *data)
list_delete_all_node (pnc->upstream_list);
}
+void
+pim_prefix_list_update (struct prefix_list *plist)
+{
+ pim_rp_prefix_list_update (plist);
+ pim_ssm_prefix_list_update (plist);
+}
+
static void
pim_instance_terminate (void)
{
@@ -191,6 +199,7 @@ pim_instance_terminate (void)
hash_clean (pimg->rpf_hash, (void *) pim_rp_list_hash_clean);
hash_free (pimg->rpf_hash);
}
+ pim_ssm_terminate (pimg->ssm_info);
XFREE (MTYPE_PIM_PIM_INSTANCE, pimg);
}
@@ -233,6 +242,11 @@ pim_instance_init (vrf_id_t vrf_id, afi_t afi)
if (PIM_DEBUG_ZEBRA)
zlog_debug ("%s: NHT rpf hash init ", __PRETTY_FUNCTION__);
+ pim->ssm_info = pim_ssm_init (vrf_id);
+ if (!pim->ssm_info) {
+ pim_instance_terminate ();
+ return NULL;
+ }
return pim;
}