packet count, byte count and wrong interface to 0 and start count
up from this spot.
+.. clicmd:: clear ipv6 pim interfaces
+
+ Reset PIMv6 interfaces.
+
.. clicmd:: clear ipv6 pim oil
Rescan PIMv6 OIL (output interface list).
return clear_ip_mroute_count_command(vty, name);
}
+DEFPY (clear_ipv6_pim_interfaces,
+ clear_ipv6_pim_interfaces_cmd,
+ "clear ipv6 pim [vrf NAME] interfaces",
+ CLEAR_STR
+ IPV6_STR
+ CLEAR_IP_PIM_STR
+ VRF_CMD_HELP_STR
+ "Reset PIM interfaces\n")
+{
+ struct vrf *v = pim_cmd_lookup(vty, vrf);
+
+ if (!v)
+ return CMD_WARNING;
+
+ clear_pim_interfaces(v->info);
+
+ return CMD_SUCCESS;
+}
+
DEFPY (clear_ipv6_pim_bsr_db,
clear_ipv6_pim_bsr_db_cmd,
"clear ipv6 pim [vrf NAME] bsr-data",
install_element(ENABLE_NODE, &clear_ipv6_pim_oil_cmd);
install_element(ENABLE_NODE, &clear_ipv6_mroute_count_cmd);
install_element(ENABLE_NODE, &clear_ipv6_pim_bsr_db_cmd);
+ install_element(ENABLE_NODE, &clear_ipv6_pim_interfaces_cmd);
install_element(ENABLE_NODE, &debug_pimv6_cmd);
install_element(ENABLE_NODE, &debug_pimv6_nht_cmd);
pim_if_addr_add_all(ifp);
}
-static void clear_pim_interfaces(struct pim_instance *pim)
-{
- struct interface *ifp;
-
- FOR_ALL_INTERFACES (pim->vrf, ifp) {
- if (ifp->info) {
- pim_neighbor_delete_all(ifp, "interface cleared");
- }
- }
-}
-
static void clear_interfaces(struct pim_instance *pim)
{
clear_igmp_interfaces(pim);
return CMD_SUCCESS;
}
-DEFUN (clear_ip_pim_interfaces,
+DEFPY (clear_ip_pim_interfaces,
clear_ip_pim_interfaces_cmd,
"clear ip pim [vrf NAME] interfaces",
CLEAR_STR
VRF_CMD_HELP_STR
"Reset PIM interfaces\n")
{
- int idx = 2;
- struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
+ struct vrf *v = pim_cmd_lookup(vty, vrf);
- if (!vrf)
+ if (!v)
return CMD_WARNING;
- clear_pim_interfaces(vrf->info);
+ clear_pim_interfaces(v->info);
return CMD_SUCCESS;
}
return CMD_SUCCESS;
}
+
+void clear_pim_interfaces(struct pim_instance *pim)
+{
+ struct interface *ifp;
+
+ FOR_ALL_INTERFACES (pim->vrf, ifp) {
+ if (ifp->info)
+ pim_neighbor_delete_all(ifp, "interface cleared");
+ }
+}
bool uj);
int pim_show_interface_traffic_helper(const char *vrf, const char *if_name,
struct vty *vty, bool uj);
+void clear_pim_interfaces(struct pim_instance *pim);
/*
* Special Macro to allow us to get the correct pim_instance;
*/