summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.c
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-09-17 02:32:59 +0000
committerNathan Bahr <nbahr@atcorp.com>2024-09-24 16:36:53 +0000
commitf182255c0f030761362560ee7342ae7627991efd (patch)
tree6ccaf1aaea8d44367f8158518761544a8b6be193 /pimd/pim_instance.c
parent269d63a5c1a0d99690b4244655f043650dd2ae45 (diff)
pimd: Add AutoRP functionality to PIMD
Perform AutoRP discovery and candidate RP announcements using the AutoRP protocol. Mapping agent is not yet implemented, but this feature is not necessary for FRR to support AutoRP as we only need one AutoRP mapping agent in the network. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Diffstat (limited to 'pimd/pim_instance.c')
-rw-r--r--pimd/pim_instance.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c
index 9a697c9209..f7c5ea3bcf 100644
--- a/pimd/pim_instance.c
+++ b/pimd/pim_instance.c
@@ -57,6 +57,10 @@ static void pim_instance_terminate(struct pim_instance *pim)
pim_mroute_socket_disable(pim);
+#if PIM_IPV == 4
+ pim_autorp_finish(pim);
+#endif
+
XFREE(MTYPE_PIM_PLIST_NAME, pim->spt.plist);
XFREE(MTYPE_PIM_PLIST_NAME, pim->register_plist);
@@ -125,6 +129,10 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf)
pim->msdp.keep_alive = PIM_MSDP_PEER_KA_TIME;
pim->msdp.connection_retry = PIM_MSDP_PEER_CONNECT_RETRY_TIME;
+#if PIM_IPV == 4
+ pim_autorp_init(pim);
+#endif
+
return pim;
}