]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_zebra.c
*: Convert thread_add_XXX functions to event_add_XXX
[mirror_frr.git] / pimd / pim_zebra.c
index 7f217d9c2eb5465e9adfd380dded6f49fa172c50..502dd7c8e5b12ee2f8a2ff7c53b7a6cf2295b4c2 100644 (file)
@@ -1,20 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * PIM for Quagga
  * Copyright (C) 2008  Everton da Silva Marques
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; see the file COPYING; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #include <zebra.h>
@@ -255,7 +242,7 @@ void pim_zebra_update_all_interfaces(struct pim_instance *pim)
                        struct pim_rpf rpf;
 
                        rpf.source_nexthop.interface = ifp;
-                       pim_addr_to_prefix(&rpf.rpf_addr, us->address);
+                       rpf.rpf_addr = us->address;
                        pim_joinprune_send(&rpf, us->us);
                        pim_jp_agg_clear_group(us->us);
                }
@@ -269,8 +256,9 @@ void pim_zebra_upstream_rpf_changed(struct pim_instance *pim,
        if (old->source_nexthop.interface) {
                struct pim_neighbor *nbr;
 
-               nbr = pim_neighbor_find_prefix(old->source_nexthop.interface,
-                                              &old->rpf_addr);
+               nbr = pim_neighbor_find(old->source_nexthop.interface,
+                                       old->rpf_addr, true);
+
                if (nbr)
                        pim_jp_agg_remove_group(nbr->upstream_jp_agg, up, nbr);
 
@@ -397,7 +385,7 @@ void pim_scan_oil(struct pim_instance *pim)
                pim_upstream_mroute_iif_update(c_oil, __func__);
 }
 
-static void on_rpf_cache_refresh(struct thread *t)
+static void on_rpf_cache_refresh(struct event *t)
 {
        struct pim_instance *pim = THREAD_ARG(t);
 
@@ -429,9 +417,9 @@ void sched_rpf_cache_refresh(struct pim_instance *pim)
                           router->rpf_cache_refresh_delay_msec);
        }
 
-       thread_add_timer_msec(router->master, on_rpf_cache_refresh, pim,
-                             router->rpf_cache_refresh_delay_msec,
-                             &pim->rpf_cache_refresher);
+       event_add_timer_msec(router->master, on_rpf_cache_refresh, pim,
+                            router->rpf_cache_refresh_delay_msec,
+                            &pim->rpf_cache_refresher);
 }
 
 static void pim_zebra_connected(struct zclient *zclient)