From a14ae314124684188e8a6b5ec65cef79295da41f Mon Sep 17 00:00:00 2001 From: Sai Gomathi N Date: Wed, 13 Apr 2022 06:14:02 -0700 Subject: [PATCH] pim6d: Add 'clear ipv6 mroute [vrf NAME]' command Adding clear ipv6 mroute cli for resetting the PIMv6 mroutes. Signed-off-by: Sai Gomathi N --- pimd/pim6_cmd.c | 19 +++++++++++++++++++ pimd/pim_cmd.c | 11 +++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c index 94074f256a..e88a832cc3 100644 --- a/pimd/pim6_cmd.c +++ b/pimd/pim6_cmd.c @@ -1954,6 +1954,24 @@ DEFPY (clear_ipv6_pim_statistics, return CMD_SUCCESS; } +DEFPY (clear_ipv6_mroute, + clear_ipv6_mroute_cmd, + "clear ipv6 mroute [vrf NAME]$name", + CLEAR_STR + IPV6_STR + "Reset multicast routes\n" + VRF_CMD_HELP_STR) +{ + struct vrf *v = pim_cmd_lookup(vty, name); + + if (!v) + return CMD_WARNING; + + clear_mroute(v->info); + + return CMD_SUCCESS; +} + void pim_cmd_init(void) { if_cmd_init(pim_interface_config_write); @@ -2062,4 +2080,5 @@ void pim_cmd_init(void) install_element(VIEW_NODE, &show_ipv6_mroute_summary_vrf_all_cmd); install_element(ENABLE_NODE, &clear_ipv6_pim_statistics_cmd); + install_element(ENABLE_NODE, &clear_ipv6_mroute_cmd); } diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 0200597857..5c6c1e3d00 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -1840,21 +1840,20 @@ DEFPY (clear_ip_pim_statistics, return CMD_SUCCESS; } -DEFUN (clear_ip_mroute, +DEFPY (clear_ip_mroute, clear_ip_mroute_cmd, - "clear ip mroute [vrf NAME]", + "clear ip mroute [vrf NAME]$name", CLEAR_STR IP_STR "Reset multicast routes\n" VRF_CMD_HELP_STR) { - 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; - clear_mroute(vrf->info); + clear_mroute(v->info); return CMD_SUCCESS; } -- 2.39.5