summaryrefslogtreecommitdiff
path: root/pimd/pim_msdp.c
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2021-05-06 11:41:08 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2021-06-25 15:06:20 -0300
commit0ce04a08a3b6fc39d638e47203c78de74315b6fb (patch)
tree228ca3e6e3e332ea1ee7b5daec7712f9a5b40b0b /pimd/pim_msdp.c
parent3bed07f60f0e3b061b4913879989e1562a9daaf5 (diff)
pimd: allow MSDP group name 'default'
Don't assign a default group name for non meshed group peers, instead use a flag. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_msdp.c')
-rw-r--r--pimd/pim_msdp.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c
index 4ceee29599..e50f86dfe8 100644
--- a/pimd/pim_msdp.c
+++ b/pimd/pim_msdp.c
@@ -761,25 +761,6 @@ char *pim_msdp_state_dump(enum pim_msdp_peer_state state, char *buf,
return buf;
}
-char *pim_msdp_peer_key_dump(struct pim_msdp_peer *mp, char *buf, int buf_size,
- bool long_format)
-{
- char peer_str[INET_ADDRSTRLEN];
- char local_str[INET_ADDRSTRLEN];
-
- pim_inet4_dump("<peer?>", mp->peer, peer_str, sizeof(peer_str));
- if (long_format) {
- pim_inet4_dump("<local?>", mp->local, local_str,
- sizeof(local_str));
- snprintf(buf, buf_size, "MSDP peer %s local %s mg %s", peer_str,
- local_str, mp->mesh_group_name);
- } else {
- snprintf(buf, buf_size, "MSDP peer %s", peer_str);
- }
-
- return buf;
-}
-
static void pim_msdp_peer_state_chg_log(struct pim_msdp_peer *mp)
{
char state_str[PIM_MSDP_STATE_STRLEN];
@@ -1082,7 +1063,10 @@ struct pim_msdp_peer *pim_msdp_peer_new(struct pim_instance *pim,
/* XXX: originator_id setting needs to move to the mesh group */
pim->msdp.originator_id = *local;
pim_msdp_addr2su(&mp->su_local, mp->local);
- mp->mesh_group_name = XSTRDUP(MTYPE_PIM_MSDP_MG_NAME, mesh_group_name);
+ if (mesh_group_name)
+ mp->mesh_group_name =
+ XSTRDUP(MTYPE_PIM_MSDP_MG_NAME, mesh_group_name);
+
mp->state = PIM_MSDP_INACTIVE;
mp->fd = -1;
strlcpy(mp->last_reset, "-", sizeof(mp->last_reset));
@@ -1355,8 +1339,8 @@ bool pim_msdp_peer_config_write(struct vty *vty, struct pim_instance *pim,
bool written = false;
for (ALL_LIST_ELEMENTS_RO(pim->msdp.peer_list, node, mp)) {
- /* Non meshed peers have the group name set to 'default'. */
- if (strcmp(mp->mesh_group_name, MSDP_SOLO_PEER_GROUP_NAME))
+ /* Skip meshed group peers. */
+ if (mp->flags & PIM_MSDP_PEERF_IN_GROUP)
continue;
vty_out(vty, "%sip msdp peer %pI4 source %pI4\n", spaces,