summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsarita patra <saritap@vmware.com>2022-02-28 18:16:32 -0800
committersarita patra <saritap@vmware.com>2022-03-01 06:24:16 -0800
commitbb387611c69b1455ea10bc9159d018bc65023f09 (patch)
tree5da407ae98e3220b00bf586b59bbeaf4ea10b081
parenta1caf7a88fa6609612229bee8a05999be015d0c3 (diff)
pim6d: Adding "ipv6 pim dr-priority" CLI
This cli used to configure PIMV6 dr-priority on interface. Signed-off-by: sarita patra <saritap@vmware.com>
-rw-r--r--pimd/pim6_cmd.c25
-rw-r--r--pimd/pim_cmd.c11
-rw-r--r--pimd/pim_cmd_common.c17
-rw-r--r--pimd/pim_cmd_common.h2
4 files changed, 46 insertions, 9 deletions
diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c
index 8718f0da46..3c796930de 100644
--- a/pimd/pim6_cmd.c
+++ b/pimd/pim6_cmd.c
@@ -229,6 +229,29 @@ DEFPY (interface_no_ipv6_pim,
return pim_process_no_ip_pim_cmd(vty);
}
+DEFPY (interface_ipv6_pim_drprio,
+ interface_ipv6_pim_drprio_cmd,
+ "ipv6 pim drpriority (1-4294967295)",
+ IPV6_STR
+ PIM_STR
+ "Set the Designated Router Election Priority\n"
+ "Value of the new DR Priority\n")
+{
+ return pim_process_ip_pim_drprio_cmd(vty, drpriority_str);
+}
+
+DEFPY (interface_no_ipv6_pim_drprio,
+ interface_no_ipv6_pim_drprio_cmd,
+ "no ip pim drpriority [(1-4294967295)]",
+ NO_STR
+ IPV6_STR
+ PIM_STR
+ "Revert the Designated Router Priority to default\n"
+ "Old Value of the Priority\n")
+{
+ return pim_process_no_ip_pim_drprio_cmd(vty);
+}
+
void pim_cmd_init(void)
{
if_cmd_init(pim_interface_config_write);
@@ -249,4 +272,6 @@ void pim_cmd_init(void)
install_element(CONFIG_NODE, &no_ipv6_pim_register_suppress_cmd);
install_element(INTERFACE_NODE, &interface_ipv6_pim_cmd);
install_element(INTERFACE_NODE, &interface_no_ipv6_pim_cmd);
+ install_element(INTERFACE_NODE, &interface_ipv6_pim_drprio_cmd);
+ install_element(INTERFACE_NODE, &interface_no_ipv6_pim_drprio_cmd);
}
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 21bb15b74b..5aa1797223 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -7959,11 +7959,7 @@ DEFUN (interface_ip_pim_drprio,
{
int idx_number = 3;
- nb_cli_enqueue_change(vty, "./dr-priority", NB_OP_MODIFY,
- argv[idx_number]->arg);
-
- return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
- "frr-routing:ipv4");
+ return pim_process_ip_pim_drprio_cmd(vty, argv[idx_number]->arg);
}
DEFUN (interface_no_ip_pim_drprio,
@@ -7975,10 +7971,7 @@ DEFUN (interface_no_ip_pim_drprio,
"Revert the Designated Router Priority to default\n"
"Old Value of the Priority\n")
{
- nb_cli_enqueue_change(vty, "./dr-priority", NB_OP_DESTROY, NULL);
-
- return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
- "frr-routing:ipv4");
+ return pim_process_no_ip_pim_drprio_cmd(vty);
}
DEFPY_HIDDEN (interface_ip_igmp_query_generate,
diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c
index b00085dcca..2355a5cd0e 100644
--- a/pimd/pim_cmd_common.c
+++ b/pimd/pim_cmd_common.c
@@ -371,3 +371,20 @@ int pim_process_no_ip_pim_cmd(struct vty *vty)
return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
FRR_PIM_AF_XPATH_VAL);
}
+
+int pim_process_ip_pim_drprio_cmd(struct vty *vty, const char *drpriority_str)
+{
+ nb_cli_enqueue_change(vty, "./dr-priority", NB_OP_MODIFY,
+ drpriority_str);
+
+ return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+ FRR_PIM_AF_XPATH_VAL);
+}
+
+int pim_process_no_ip_pim_drprio_cmd(struct vty *vty)
+{
+ nb_cli_enqueue_change(vty, "./dr-priority", NB_OP_DESTROY, NULL);
+
+ return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+ FRR_PIM_AF_XPATH_VAL);
+}
diff --git a/pimd/pim_cmd_common.h b/pimd/pim_cmd_common.h
index 16a026d60e..aaf10734f5 100644
--- a/pimd/pim_cmd_common.h
+++ b/pimd/pim_cmd_common.h
@@ -38,5 +38,7 @@ int pim_process_no_register_suppress_cmd(struct vty *vty);
int pim_process_ip_pim_cmd(struct vty *vty);
int pim_process_no_ip_pim_cmd(struct vty *vty);
+int pim_process_ip_pim_drprio_cmd(struct vty *vty, const char *drpriority_str);
+int pim_process_no_ip_pim_drprio_cmd(struct vty *vty);
#endif /* PIM_CMD_COMMON_H */