From 5c3aac90d95bf2c0792ce74ec90d8eb731669f5f Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 7 Jul 2017 17:55:10 -0400 Subject: [PATCH] pimd: Fix 'show ip mroute vrf all count' crash 'show ip mroute vrf all count' crashes currently This commit fixes that issue Ticket: CM-17052 Signed-off-by: Donald Sharp --- pimd/pim_cmd.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 0156e1548e..5b3e8ed6b3 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -4826,6 +4826,38 @@ DEFUN (show_ip_mroute_count, return CMD_SUCCESS; } +DEFUN (show_ip_mroute_count_vrf_all, + show_ip_mroute_count_vrf_all_cmd, + "show ip mroute vrf all count", + SHOW_STR + IP_STR + MROUTE_STR + VRF_CMD_HELP_STR + "Route and packet count data\n") +{ + u_char uj = use_json(argc, argv); + struct vrf *vrf; + bool first = true; + + if (uj) + vty_out(vty, "{ "); + RB_FOREACH(vrf, vrf_name_head, &vrfs_by_name) + { + if (uj) { + if (!first) + vty_out(vty, ", "); + vty_out(vty, " \"%s\": ", vrf->name); + first = false; + } else + vty_out(vty, "VRF: %s\n", vrf->name); + show_mroute_count(vrf->info, vty); + } + if (uj) + vty_out(vty, "}\n"); + + return CMD_SUCCESS; +} + DEFUN (show_ip_rib, show_ip_rib_cmd, "show ip rib [vrf NAME] A.B.C.D", @@ -8380,6 +8412,7 @@ void pim_cmd_init(void) install_element(VIEW_NODE, &show_ip_mroute_cmd); install_element(VIEW_NODE, &show_ip_mroute_vrf_all_cmd); install_element(VIEW_NODE, &show_ip_mroute_count_cmd); + install_element(VIEW_NODE, &show_ip_mroute_count_vrf_all_cmd); install_element(VIEW_NODE, &show_ip_rib_cmd); install_element(VIEW_NODE, &show_ip_ssmpingd_cmd); install_element(VIEW_NODE, &show_debugging_pim_cmd); -- 2.39.5