From: Jafar Al-Gharaibeh Date: Tue, 28 May 2019 15:26:28 +0000 (-0500) Subject: Merge pull request #4239 from sarav511/rp X-Git-Tag: base_7.2~306 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=bda0241599246636bebde6143f20ccdec5290570;p=matthieu%2Ffrr.git Merge pull request #4239 from sarav511/rp pimd: PIM Bootstrap Message Processing --- bda0241599246636bebde6143f20ccdec5290570 diff --cc pimd/pim_nht.h index e7a5fa7720,e3b746b19b..12dbf167d1 --- a/pimd/pim_nht.h +++ b/pimd/pim_nht.h @@@ -45,14 -45,23 +45,22 @@@ struct pim_nexthop_cache struct list *rp_list; struct hash *upstream_hash; + /* Ideally this has to be list of scope zone. But for now we can just + * have as a bool variable to say bsr_tracking. + * Later this variable can be changed as a list of scope zones for + * tracking same bsr for multiple scope zones. + */ + bool bsr_tracking; }; -int pim_parse_nexthop_update(int command, struct zclient *zclient, - zebra_size_t length, vrf_id_t vrf_id); +int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS); int pim_find_or_track_nexthop(struct pim_instance *pim, struct prefix *addr, struct pim_upstream *up, struct rp_info *rp, + bool bsr_track_needed, struct pim_nexthop_cache *out_pnc); void pim_delete_tracked_nexthop(struct pim_instance *pim, struct prefix *addr, - struct pim_upstream *up, struct rp_info *rp); + struct pim_upstream *up, struct rp_info *rp, + bool del_bsr_tracking); struct pim_nexthop_cache *pim_nexthop_cache_find(struct pim_instance *pim, struct pim_rpf *rpf); uint32_t pim_compute_ecmp_hash(struct prefix *src, struct prefix *grp);