]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_instance.h
Merge pull request #5430 from taruta811/build-docker-centos
[mirror_frr.git] / pimd / pim_instance.h
index e651356bfed4796651d955295abc4fa955feb13d..dd3ac8fcb07bfcb6c1759cdf40158d93b7eba041 100644 (file)
@@ -26,6 +26,8 @@
 #include "pim_str.h"
 #include "pim_msdp.h"
 #include "pim_assert.h"
+#include "pim_bsm.h"
+#include "pim_vxlan_instance.h"
 
 #if defined(HAVE_LINUX_MROUTE_H)
 #include <linux/mroute.h>
@@ -62,6 +64,17 @@ struct pim_router {
        vrf_id_t vrf_id;
 
        enum mlag_role role;
+       uint32_t pim_mlag_intf_cnt;
+       /* if true we have registered with MLAG */
+       bool mlag_process_register;
+       /* if true local MLAG process reported that it is connected
+        * with the peer MLAG process
+        */
+       bool connected_to_mlag;
+       /* Holds the client data(unencoded) that need to be pushed to MCLAGD*/
+       struct stream_fifo *mlag_fifo;
+       struct stream *mlag_stream;
+       struct thread *zpthread_mlag_write;
 };
 
 /* Per VRF PIM DB */
@@ -110,6 +123,7 @@ struct pim_instance {
        struct hash *channel_oil_hash;
 
        struct pim_msdp msdp;
+       struct pim_vxlan_instance vxlan;
 
        struct list *ssmpingd_list;
        struct in_addr ssmpingd_group_addr;
@@ -119,6 +133,14 @@ struct pim_instance {
 
        bool ecmp_enable;
        bool ecmp_rebalance_enable;
+       /* No. of Dual active I/fs in pim_instance */
+       uint32_t inst_mlag_intf_cnt;
+
+       /* Bsm related */
+       struct bsm_scope global_scope;
+       uint64_t bsm_rcvd;
+       uint64_t bsm_sent;
+       uint64_t bsm_dropped;
 
        /* If we need to rescan all our upstreams */
        struct thread *rpf_cache_refresher;