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>
This commit is contained in:
Sai Gomathi N 2022-04-13 07:41:46 -07:00
parent a14ae31412
commit 09a754ead1
2 changed files with 26 additions and 6 deletions

View file

@ -42,6 +42,7 @@
#include "pim_nht.h" #include "pim_nht.h"
#include "pim_bsm.h" #include "pim_bsm.h"
#include "pim_iface.h" #include "pim_iface.h"
#include "pim_zebra.h"
#ifndef VTYSH_EXTRACT_PL #ifndef VTYSH_EXTRACT_PL
#include "pimd/pim6_cmd_clippy.c" #include "pimd/pim6_cmd_clippy.c"
@ -1972,6 +1973,25 @@ DEFPY (clear_ipv6_mroute,
return CMD_SUCCESS; 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) void pim_cmd_init(void)
{ {
if_cmd_init(pim_interface_config_write); 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_pim_statistics_cmd);
install_element(ENABLE_NODE, &clear_ipv6_mroute_cmd); install_element(ENABLE_NODE, &clear_ipv6_mroute_cmd);
install_element(ENABLE_NODE, &clear_ipv6_pim_oil_cmd);
} }

View file

@ -1924,22 +1924,21 @@ DEFUN (clear_ip_pim_interface_traffic,
return CMD_SUCCESS; return CMD_SUCCESS;
} }
DEFUN (clear_ip_pim_oil, DEFPY (clear_ip_pim_oil,
clear_ip_pim_oil_cmd, clear_ip_pim_oil_cmd,
"clear ip pim [vrf NAME] oil", "clear ip pim [vrf NAME]$name oil",
CLEAR_STR CLEAR_STR
IP_STR IP_STR
CLEAR_IP_PIM_STR CLEAR_IP_PIM_STR
VRF_CMD_HELP_STR VRF_CMD_HELP_STR
"Rescan PIM OIL (output interface list)\n") "Rescan PIM OIL (output interface list)\n")
{ {
int idx = 2; struct vrf *v = pim_cmd_lookup(vty, name);
struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
if (!vrf) if (!v)
return CMD_WARNING; return CMD_WARNING;
pim_scan_oil(vrf->info); pim_scan_oil(v->info);
return CMD_SUCCESS; return CMD_SUCCESS;
} }