}
/* 11.2.A1: create a new peer and transition state to listen or connecting */
-struct pim_msdp_peer *pim_msdp_peer_new(struct pim_instance *pim,
+struct pim_msdp_peer *pim_msdp_peer_add(struct pim_instance *pim,
const struct in_addr *peer,
const struct in_addr *local,
const char *mesh_group_name)
}
/* delete the peer config */
-void pim_msdp_peer_do_del(struct pim_msdp_peer **mp)
+void pim_msdp_peer_del(struct pim_msdp_peer **mp)
{
if (*mp == NULL)
return;
{
/* Delete active peer session if any */
if (mbr->mp) {
- pim_msdp_peer_do_del(&mbr->mp);
+ pim_msdp_peer_del(&mbr->mp);
}
listnode_delete(mg->mbr_list, mbr);
/* SIP is being removed - tear down all active peer sessions */
for (ALL_LIST_ELEMENTS_RO(mg->mbr_list, mbr_node, mbr)) {
if (mbr->mp)
- pim_msdp_peer_do_del(&mbr->mp);
+ pim_msdp_peer_del(&mbr->mp);
}
if (PIM_DEBUG_MSDP_EVENTS) {
zlog_debug("MSDP mesh-group %s src cleared",
/* Create data structures and start TCP connection. */
for (ALL_LIST_ELEMENTS_RO(mg->mbr_list, mbr_node, mbr))
- mbr->mp = pim_msdp_peer_new(pim, &mbr->mbr_ip, &mg->src_ip,
+ mbr->mp = pim_msdp_peer_add(pim, &mbr->mbr_ip, &mg->src_ip,
mg->mesh_group_name);
if (PIM_DEBUG_MSDP_EVENTS)
/* if valid SIP has been configured add peer session */
if (mg->src_ip.s_addr != INADDR_ANY)
- mbr->mp = pim_msdp_peer_new(pim, &mbr->mbr_ip, &mg->src_ip,
+ mbr->mp = pim_msdp_peer_add(pim, &mbr->mbr_ip, &mg->src_ip,
mg->mesh_group_name);
if (PIM_DEBUG_MSDP_EVENTS)
void pim_msdp_mg_mbr_del(struct pim_msdp_mg *mg, struct pim_msdp_mg_mbr *mbr);
/**
- * Allocates MSDP peer data structure and starts state machine.
+ * Allocates MSDP peer data structure, adds peer to group name
+ * `mesh_group_name` and starts state machine. If no group name is provided then
+ * the peer will work standalone.
*
* \param pim PIM instance
* \param peer_addr peer address
* \param local_addr local listening address
* \param mesh_group_name mesh group name (or `NULL` for peers without group).
*/
-struct pim_msdp_peer *pim_msdp_peer_new(struct pim_instance *pim,
+struct pim_msdp_peer *pim_msdp_peer_add(struct pim_instance *pim,
const struct in_addr *peer_addr,
const struct in_addr *local_addr,
const char *mesh_group_name);
/**
* Stops peer state machine and free memory.
*/
-void pim_msdp_peer_do_del(struct pim_msdp_peer **mp);
+void pim_msdp_peer_del(struct pim_msdp_peer **mp);
/**
* Changes peer source address.
pim = vrf->info;
yang_dnode_get_ip(&peer_ip, args->dnode, "./peer-ip");
yang_dnode_get_ip(&source_ip, args->dnode, "./source-ip");
- mp = pim_msdp_peer_new(pim, &peer_ip.ipaddr_v4,
+ mp = pim_msdp_peer_add(pim, &peer_ip.ipaddr_v4,
&source_ip.ipaddr_v4, NULL);
nb_running_set_entry(args->dnode, mp);
break;
break;
case NB_EV_APPLY:
mp = nb_running_unset_entry(args->dnode);
- pim_msdp_peer_do_del(&mp);
+ pim_msdp_peer_del(&mp);
break;
}