summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSai Gomathi N <nsaigomathi@vmware.com>2022-04-13 07:41:46 -0700
committerSai Gomathi N <nsaigomathi@vmware.com>2022-05-17 00:05:19 -0700
commit09a754ead1fed57665ff802d6a8e3ccdcdd337cb (patch)
treecd84371f1bc80191552cbe0f2a18e7a8a4e47852
parenta14ae314124684188e8a6b5ec65cef79295da41f (diff)
pim6d: Add 'clear ipv6 pim [vrf NAME] oil' command
Adding clear ipv6 pim [vrf NAME] oil CLI for resetting PIMv6 output interface list. Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
-rw-r--r--pimd/pim6_cmd.c21
-rw-r--r--pimd/pim_cmd.c11
2 files changed, 26 insertions, 6 deletions
diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c
index e88a832cc3..0a913f812d 100644
--- a/pimd/pim6_cmd.c
+++ b/pimd/pim6_cmd.c
@@ -42,6 +42,7 @@
#include "pim_nht.h"
#include "pim_bsm.h"
#include "pim_iface.h"
+#include "pim_zebra.h"
#ifndef VTYSH_EXTRACT_PL
#include "pimd/pim6_cmd_clippy.c"
@@ -1972,6 +1973,25 @@ DEFPY (clear_ipv6_mroute,
return CMD_SUCCESS;
}
+DEFPY (clear_ipv6_pim_oil,
+ clear_ipv6_pim_oil_cmd,
+ "clear ipv6 pim [vrf NAME]$name oil",
+ CLEAR_STR
+ IPV6_STR
+ CLEAR_IP_PIM_STR
+ VRF_CMD_HELP_STR
+ "Rescan PIMv6 OIL (output interface list)\n")
+{
+ struct vrf *v = pim_cmd_lookup(vty, name);
+
+ if (!v)
+ return CMD_WARNING;
+
+ pim_scan_oil(v->info);
+
+ return CMD_SUCCESS;
+}
+
void pim_cmd_init(void)
{
if_cmd_init(pim_interface_config_write);
@@ -2081,4 +2101,5 @@ void pim_cmd_init(void)
install_element(ENABLE_NODE, &clear_ipv6_pim_statistics_cmd);
install_element(ENABLE_NODE, &clear_ipv6_mroute_cmd);
+ install_element(ENABLE_NODE, &clear_ipv6_pim_oil_cmd);
}
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 5c6c1e3d00..60d2ec3e2f 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -1924,22 +1924,21 @@ DEFUN (clear_ip_pim_interface_traffic,
return CMD_SUCCESS;
}
-DEFUN (clear_ip_pim_oil,
+DEFPY (clear_ip_pim_oil,
clear_ip_pim_oil_cmd,
- "clear ip pim [vrf NAME] oil",
+ "clear ip pim [vrf NAME]$name oil",
CLEAR_STR
IP_STR
CLEAR_IP_PIM_STR
VRF_CMD_HELP_STR
"Rescan PIM OIL (output interface list)\n")
{
- int idx = 2;
- struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
+ struct vrf *v = pim_cmd_lookup(vty, name);
- if (!vrf)
+ if (!v)
return CMD_WARNING;
- pim_scan_oil(vrf->info);
+ pim_scan_oil(v->info);
return CMD_SUCCESS;
}