diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-05-20 13:43:58 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-24 13:51:36 -0400 |
| commit | d9c9a9ee063076ebc5df578049bf95cc19a35d2d (patch) | |
| tree | 44419e3a6dd73941403b5caa08d16b08952933ac /pimd/pimd.c | |
| parent | 9b29ea95fc5b03de64cf9de55a89894deaed17e7 (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.c | 19 |
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", |
