summaryrefslogtreecommitdiff
path: root/pimd/pimd.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-20 13:43:58 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 13:51:36 -0400
commitd9c9a9ee063076ebc5df578049bf95cc19a35d2d (patch)
tree44419e3a6dd73941403b5caa08d16b08952933ac /pimd/pimd.c
parent9b29ea95fc5b03de64cf9de55a89894deaed17e7 (diff)
pimd: Convert pim_rp.c to use 'struct pim_instance *'
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pimd.c')
-rw-r--r--pimd/pimd.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/pimd/pimd.c b/pimd/pimd.c
index 91cf17d747..58adff85d8 100644
--- a/pimd/pimd.c
+++ b/pimd/pimd.c
@@ -73,9 +73,19 @@ int32_t qpim_register_probe_time = PIM_REGISTER_PROBE_TIME_DEFAULT;
void pim_prefix_list_update(struct prefix_list *plist)
{
- pim_rp_prefix_list_update(plist);
- pim_ssm_prefix_list_update(plist);
- pim_upstream_spt_prefix_list_update(pimg, plist);
+ struct pim_instance *pim;
+ struct vrf *vrf;
+
+ RB_FOREACH(vrf, vrf_name_head, &vrfs_by_name)
+ {
+ pim = vrf->info;
+ if (!pim)
+ continue;
+
+ pim_rp_prefix_list_update(pim, plist);
+ pim_ssm_prefix_list_update(plist);
+ pim_upstream_spt_prefix_list_update(pim, plist);
+ }
}
static void pim_free()
@@ -85,7 +95,6 @@ static void pim_free()
pim_oil_terminate();
pim_if_terminate();
- pim_rp_free();
pim_route_map_terminate();
@@ -98,8 +107,6 @@ void pim_init()
{
qpim_rp_keep_alive_time = PIM_RP_KEEPALIVE_PERIOD;
- pim_rp_init();
-
if (!inet_aton(PIM_ALL_PIM_ROUTERS, &qpim_all_pim_routers_addr)) {
zlog_err(
"%s %s: could not solve %s to group address: errno=%d: %s",