summaryrefslogtreecommitdiffstats
path: root/pimd/pim_bsm.h
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-11-01 20:11:14 +0100
committerNathan Bahr <nbahr@atcorp.com>2024-11-19 23:33:11 +0100
commita060c72530b96181ca736e8c42257b558e1b8dd3 (patch)
treeaa0866ae2c5b4e9cabade7cb6e1e8ddf4f60fd21 /pimd/pim_bsm.h
parentpimd,yang: Add PIMD northbound/yang for AutoRP mapping agent (diff)
downloadfrr-a060c72530b96181ca736e8c42257b558e1b8dd3.tar.xz
frr-a060c72530b96181ca736e8c42257b558e1b8dd3.zip
pimd: Implement autorp mapping agent CLI
Also exposes BSR cand_addrsel methods for use in AutoRP. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Diffstat (limited to 'pimd/pim_bsm.h')
-rw-r--r--pimd/pim_bsm.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/pimd/pim_bsm.h b/pimd/pim_bsm.h
index 1eacc1be5..b1582d0df 100644
--- a/pimd/pim_bsm.h
+++ b/pimd/pim_bsm.h
@@ -64,7 +64,7 @@ enum cand_addr {
CAND_ADDR_EXPLICIT,
};
-/* used separately for Cand-RP and Cand-BSR */
+/* used separately for Cand-RP, Cand-BSR, and AutoRP mapping agent */
struct cand_addrsel {
bool cfg_enable;
enum cand_addr cfg_mode : 8;
@@ -369,6 +369,9 @@ void pim_cand_rp_trigger(struct bsm_scope *scope);
void pim_cand_rp_grp_add(struct bsm_scope *scope, const prefix_pim *p);
void pim_cand_rp_grp_del(struct bsm_scope *scope, const prefix_pim *p);
+void cand_addrsel_clear(struct cand_addrsel *asel);
+bool cand_addrsel_update(struct cand_addrsel *asel, struct vrf *vrf);
+
void pim_cand_addrs_changed(void);
int pim_crp_process(struct interface *ifp, pim_sgaddr *src_dst, uint8_t *buf,