summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd.c
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2018-01-08 11:34:36 -0600
committerGitHub <noreply@github.com>2018-01-08 11:34:36 -0600
commit76724ed3bcd5a311b26888f50765e5a32bd89d0f (patch)
treee8a7616c8c702d1ad1c2ce33ebd24d138eb1bb5e /pimd/pim_cmd.c
parente741a61225be613c159e4ebbe90cf1169c6d4c96 (diff)
parent01841ed3a70c2086f74a75f114d7941e97a24493 (diff)
Merge pull request #1588 from donaldsharp/msdp_return
pimd: Add finer grain return codes for configuration
Diffstat (limited to 'pimd/pim_cmd.c')
-rw-r--r--pimd/pim_cmd.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 10b68ab735..374e2c52a9 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -7485,6 +7485,7 @@ static int ip_msdp_peer_cmd_worker(struct pim_instance *pim, struct vty *vty,
enum pim_msdp_err result;
struct in_addr peer_addr;
struct in_addr local_addr;
+ int ret = CMD_SUCCESS;
result = inet_pton(AF_INET, peer, &peer_addr);
if (result <= 0) {
@@ -7506,19 +7507,23 @@ static int ip_msdp_peer_cmd_worker(struct pim_instance *pim, struct vty *vty,
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_OOM:
+ ret = CMD_WARNING_CONFIG_FAILED;
vty_out(vty, "%% Out of memory\n");
break;
case PIM_MSDP_ERR_PEER_EXISTS:
+ ret = CMD_WARNING;
vty_out(vty, "%% Peer exists\n");
break;
case PIM_MSDP_ERR_MAX_MESH_GROUPS:
+ ret = CMD_WARNING_CONFIG_FAILED;
vty_out(vty, "%% Only one mesh-group allowed currently\n");
break;
default:
+ ret = CMD_WARNING_CONFIG_FAILED;
vty_out(vty, "%% peer add failed\n");
}
- return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
+ return ret;
}
DEFUN_HIDDEN (ip_msdp_peer,
@@ -7581,6 +7586,7 @@ static int ip_msdp_mesh_group_member_cmd_worker(struct pim_instance *pim,
{
enum pim_msdp_err result;
struct in_addr mbr_ip;
+ int ret = CMD_SUCCESS;
result = inet_pton(AF_INET, mbr, &mbr_ip);
if (result <= 0) {
@@ -7594,19 +7600,23 @@ static int ip_msdp_mesh_group_member_cmd_worker(struct pim_instance *pim,
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_OOM:
+ ret = CMD_WARNING_CONFIG_FAILED;
vty_out(vty, "%% Out of memory\n");
break;
case PIM_MSDP_ERR_MG_MBR_EXISTS:
+ ret = CMD_WARNING;
vty_out(vty, "%% mesh-group member exists\n");
break;
case PIM_MSDP_ERR_MAX_MESH_GROUPS:
+ ret = CMD_WARNING_CONFIG_FAILED;
vty_out(vty, "%% Only one mesh-group allowed currently\n");
break;
default:
+ ret = CMD_WARNING_CONFIG_FAILED;
vty_out(vty, "%% member add failed\n");
}
- return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
+ return ret;
}
DEFUN (ip_msdp_mesh_group_member,