]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pim6d: Add 'clear ipv6 mroute [vrf NAME]' command
authorSai Gomathi N <nsaigomathi@vmware.com>
Wed, 13 Apr 2022 13:14:02 +0000 (06:14 -0700)
committerSai Gomathi N <nsaigomathi@vmware.com>
Tue, 17 May 2022 05:47:05 +0000 (22:47 -0700)
Adding clear ipv6 mroute cli for resetting the PIMv6 mroutes.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
pimd/pim6_cmd.c
pimd/pim_cmd.c

index 94074f256adeb40b36c6aa3e0d928aa9832691aa..e88a832cc34cf6b53a66c509e6035218ea450891 100644 (file)
@@ -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);
 }
index 02005978579d99f8dbce7992d735d07f8be69e0a..5c6c1e3d00d6daf5c30f6ecfbfb9bf8b0000d86e 100644 (file)
@@ -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;
 }