summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-18 19:56:10 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 13:51:35 -0400
commit4e0bc0f0a8cc235c45db9a2939ff985cf9c75e44 (patch)
tree51b78d232c078b11a15e7d93ef96d78ca5338ad5 /pimd/pim_instance.c
parent2e4e8571f0f63509b02d22edc39d998ddba7c8c0 (diff)
pimd: Refactore qpim_static_route_list into pim->static_routes
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_instance.c')
-rw-r--r--pimd/pim_instance.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c
index b988c12cea..84fc9b9252 100644
--- a/pimd/pim_instance.c
+++ b/pimd/pim_instance.c
@@ -28,6 +28,8 @@
#include "pim_rpf.h"
#include "pim_rp.h"
#include "pim_mroute.h"
+#include "pim_oil.h"
+#include "pim_static.h"
static void pim_instance_terminate(struct pim_instance *pim)
{
@@ -43,6 +45,9 @@ static void pim_instance_terminate(struct pim_instance *pim)
pim->ssm_info = NULL;
}
+ if (pim->static_routes)
+ list_free(pim->static_routes);
+
XFREE(MTYPE_PIM_PIM_INSTANCE, pimg);
}
@@ -72,6 +77,15 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf)
return NULL;
}
+ pim->static_routes = list_new();
+ if (!pim->static_routes) {
+ zlog_err("%s %s: failure: static_routes=list_new()", __FILE__,
+ __PRETTY_FUNCTION__);
+ pim_instance_terminate(pim);
+ return NULL;
+ }
+ pim->static_routes->del = (void (*)(void *))pim_static_route_free;
+
pim->send_v6_secondary = 1;
if (vrf->vrf_id == VRF_DEFAULT)