]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_iface.h
Merge pull request #5430 from taruta811/build-docker-centos
[mirror_frr.git] / pimd / pim_iface.h
index fe96c077582cfd10b59d394aaef02b3c78ca40da..1b76b5230595f24e85e0ffc070816ba73db8b752 100644 (file)
@@ -88,8 +88,14 @@ struct pim_interface {
        int igmp_query_max_response_time_dsec; /* IGMPv3 Max Response Time in
                                                  dsecs for general queries */
        int igmp_specific_query_max_response_time_dsec; /* IGMPv3 Max Response
-                                                          Time in dsecs for
-                                                          specific queries */
+                                                          Time in dsecs called
+                                                          as last member query
+                                                          interval, defines the
+                                                          maximum response time
+                                                          advertised in IGMP
+                                                          group-specific
+                                                          queries */
+       int igmp_last_member_query_count; /* IGMP last member query count */
        struct list *igmp_socket_list; /* list of struct igmp_sock */
        struct list *igmp_join_list;   /* list of struct igmp_join */
 
@@ -128,6 +134,8 @@ struct pim_interface {
        bool activeactive;
 
        int64_t pim_ifstat_start; /* start timestamp for stats */
+       uint64_t pim_ifstat_bsm_rx;
+       uint64_t pim_ifstat_bsm_tx;
        uint32_t pim_ifstat_hello_sent;
        uint32_t pim_ifstat_hello_sendfail;
        uint32_t pim_ifstat_hello_recv;
@@ -142,7 +150,12 @@ struct pim_interface {
        uint32_t pim_ifstat_reg_stop_send;
        uint32_t pim_ifstat_assert_recv;
        uint32_t pim_ifstat_assert_send;
+       uint32_t pim_ifstat_bsm_cfg_miss;
+       uint32_t pim_ifstat_ucast_bsm_cfg_miss;
+       uint32_t pim_ifstat_bsm_invalid_sz;
        struct bfd_info *bfd_info;
+       bool bsm_enable; /* bsm processing enable */
+       bool ucast_bsm_accept; /* ucast bsm processing */
 };
 
 /*
@@ -214,4 +227,10 @@ int pim_update_source_set(struct interface *ifp, struct in_addr source);
 bool pim_if_is_vrf_device(struct interface *ifp);
 
 int pim_if_ifchannel_count(struct pim_interface *pim_ifp);
+
+extern int pim_ifp_create(struct interface *ifp);
+extern int pim_ifp_up(struct interface *ifp);
+extern int pim_ifp_down(struct interface *ifp);
+extern int pim_ifp_destroy(struct interface *ifp);
+
 #endif /* PIM_IFACE_H */