]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_upstream.h
lib: enforce vrf_name_to_id by returning default_vrf when name is null
[mirror_frr.git] / pimd / pim_upstream.h
index a9d84bb9b42e3b83497de260c477db1dfb40f6b7..a347ab991c98717595259b85e269c062a4f8cc7c 100644 (file)
@@ -119,7 +119,7 @@ struct pim_upstream {
         */
        struct thread *t_rs_timer;
 #define PIM_REGISTER_SUPPRESSION_PERIOD (60)
-#define PIM_REGISTER_PROBE_PERIOD       (15)
+#define PIM_REGISTER_PROBE_PERIOD        (5)
 
        /*
         * KAT(S,G)
@@ -137,15 +137,16 @@ struct pim_upstream {
        int64_t state_transition; /* Record current state uptime */
 };
 
-void pim_upstream_free(struct pim_upstream *up);
 struct pim_upstream *pim_upstream_find(struct pim_instance *pim,
                                       struct prefix_sg *sg);
 struct pim_upstream *pim_upstream_find_or_add(struct prefix_sg *sg,
                                              struct interface *ifp, int flags,
                                              const char *name);
-struct pim_upstream *pim_upstream_add(struct prefix_sg *sg,
+struct pim_upstream *pim_upstream_add(struct pim_instance *pim,
+                                     struct prefix_sg *sg,
                                      struct interface *ifp, int flags,
-                                     const char *name);
+                                     const char *name,
+                                     struct pim_ifchannel *ch);
 void pim_upstream_ref(struct pim_upstream *up, int flags, const char *name);
 struct pim_upstream *pim_upstream_del(struct pim_instance *pim,
                                      struct pim_upstream *up,
@@ -191,7 +192,7 @@ void pim_upstream_start_register_stop_timer(struct pim_upstream *up,
 
 void pim_upstream_send_join(struct pim_upstream *up);
 
-void pim_upstream_switch(struct pim_upstream *up,
+void pim_upstream_switch(struct pim_instance *pim, struct pim_upstream *up,
                         enum pim_upstream_state new_state);
 
 const char *pim_upstream_state2str(enum pim_upstream_state join_state);
@@ -220,4 +221,7 @@ void pim_upstream_remove_lhr_star_pimreg(struct pim_instance *pim,
 
 void pim_upstream_spt_prefix_list_update(struct pim_instance *pim,
                                         struct prefix_list *pl);
+
+unsigned int pim_upstream_hash_key(void *arg);
+bool pim_upstream_equal(const void *arg1, const void *arg2);
 #endif /* PIM_UPSTREAM_H */