diff options
Diffstat (limited to 'pimd/pim_igmp.h')
| -rw-r--r-- | pimd/pim_igmp.h | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/pimd/pim_igmp.h b/pimd/pim_igmp.h index 5c35996634..a642469f27 100644 --- a/pimd/pim_igmp.h +++ b/pimd/pim_igmp.h @@ -100,7 +100,7 @@ struct gm_sock { bool mtrace_only; - struct igmp_stats rx_stats; + struct igmp_stats igmp_stats; }; struct pim_interface; @@ -128,6 +128,15 @@ void pim_igmp_other_querier_timer_off(struct gm_sock *igmp); int igmp_validate_checksum(char *igmp_msg, int igmp_msg_len); #else /* PIM_IPV != 4 */ +static inline void pim_igmp_if_init(struct pim_interface *pim_ifp, + struct interface *ifp) +{ +} + +static inline void pim_igmp_if_fini(struct pim_interface *pim_ifp) +{ +} + static inline void pim_igmp_general_query_on(struct gm_sock *igmp) { } @@ -204,6 +213,17 @@ struct gm_group { }; #if PIM_IPV == 4 +struct pim_instance; + +void igmp_anysource_forward_start(struct pim_instance *pim, + struct gm_group *group); +void igmp_anysource_forward_stop(struct gm_group *group); + +void igmp_source_forward_start(struct pim_instance *pim, + struct gm_source *source); +void igmp_source_forward_stop(struct gm_source *source); +void igmp_source_forward_reevaluate_all(struct pim_instance *pim); + struct gm_group *find_group_by_addr(struct gm_sock *igmp, struct in_addr group_addr); struct gm_group *igmp_add_group_by_addr(struct gm_sock *igmp, @@ -220,13 +240,11 @@ void igmp_startup_mode_on(struct gm_sock *igmp); void igmp_group_timer_on(struct gm_group *group, long interval_msec, const char *ifname); -void igmp_send_query(int igmp_version, struct gm_group *group, int fd, - const char *ifname, char *query_buf, int query_buf_size, - int num_sources, struct in_addr dst_addr, - struct in_addr group_addr, +void igmp_send_query(int igmp_version, struct gm_group *group, char *query_buf, + int query_buf_size, int num_sources, + struct in_addr dst_addr, struct in_addr group_addr, int query_max_response_time_dsec, uint8_t s_flag, - uint8_t querier_robustness_variable, - uint16_t querier_query_interval); + struct gm_sock *igmp); void igmp_group_delete(struct gm_group *group); void igmp_send_query_on_intf(struct interface *ifp, int igmp_ver); |
