X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=pimd%2Fpim_instance.h;h=b447075e9a934c5f6c5683b18a1c04df1bb45634;hb=c52e2ecf95a9be318912caacc0851d9307e679f7;hp=79a0de79bc9abe24ea34d85acd8dd211bc423906;hpb=9b29ea95fc5b03de64cf9de55a89894deaed17e7;p=mirror_frr.git diff --git a/pimd/pim_instance.h b/pimd/pim_instance.h index 79a0de79b..b447075e9 100644 --- a/pimd/pim_instance.h +++ b/pimd/pim_instance.h @@ -21,6 +21,20 @@ #ifndef __PIM_INSTANCE_H__ #define __PIM_INSTANCE_H__ +#include "pim_str.h" +#include "pim_msdp.h" + +#if defined(HAVE_LINUX_MROUTE_H) +#include +#else +/* + Below: from +*/ + +#ifndef MAXVIFS +#define MAXVIFS (256) +#endif +#endif extern struct pim_instance *pimg; // Pim Global Instance enum pim_spt_switchover { @@ -61,6 +75,40 @@ struct pim_instance { struct list *upstream_list; struct hash *upstream_hash; struct timer_wheel *upstream_sg_wheel; + + /* + * RP information + */ + struct list *rp_list; + struct route_table *rp_table; + + int iface_vif_index[MAXVIFS]; + + struct list *channel_oil_list; + struct hash *channel_oil_hash; + + struct pim_msdp msdp; + + struct list *ssmpingd_list; + struct in_addr ssmpingd_group_addr; + + unsigned int keep_alive_time; + unsigned int rp_keep_alive_time; + + bool ecmp_enable; + bool ecmp_rebalance_enable; + + /* If we need to rescan all our upstreams */ + struct thread *rpf_cache_refresher; + int64_t rpf_cache_refresh_requests; + int64_t rpf_cache_refresh_events; + int64_t rpf_cache_refresh_last; + int64_t scan_oil_events; + int64_t scan_oil_last; + + int64_t nexthop_lookups; + int64_t nexthop_lookups_avoided; + int64_t last_route_change_time; }; void pim_vrf_init(void);