From 5e52c8d5c84e35cc5bbddeb79929ba38324b0204 Mon Sep 17 00:00:00 2001 From: Abhishek N R Date: Thu, 9 Jun 2022 01:33:01 -0700 Subject: [PATCH] pim6d: Moving reusable code to common api for "show pim secondary" command Signed-off-by: Abhishek N R --- pimd/pim6_cmd.c | 19 +------------------ pimd/pim_cmd.c | 19 +------------------ pimd/pim_cmd_common.c | 22 ++++++++++++++++++++++ pimd/pim_cmd_common.h | 1 + 4 files changed, 25 insertions(+), 36 deletions(-) diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c index 1b83d38b91..2f07392213 100644 --- a/pimd/pim6_cmd.c +++ b/pimd/pim6_cmd.c @@ -844,24 +844,7 @@ DEFPY (show_ipv6_pim_secondary, VRF_CMD_HELP_STR "PIM neighbor addresses\n") { - struct pim_instance *pim; - struct vrf *v; - - v = vrf_lookup_by_name(vrf ? vrf : VRF_DEFAULT_NAME); - - if (!v) - return CMD_WARNING; - - pim = pim_get_pim_instance(v->vrf_id); - - if (!pim) { - vty_out(vty, "%% Unable to find pim instance\n"); - return CMD_WARNING; - } - - pim_show_neighbors_secondary(pim, vty); - - return CMD_SUCCESS; + return pim_show_secondary_helper(vrf, vty); } DEFPY (show_ipv6_pim_statistics, diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index b67bc23523..f8d0cf7eaf 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -2980,24 +2980,7 @@ DEFPY (show_ip_pim_secondary, VRF_CMD_HELP_STR "PIM neighbor addresses\n") { - struct pim_instance *pim; - struct vrf *v; - - v = vrf_lookup_by_name(vrf ? vrf : VRF_DEFAULT_NAME); - - if (!v) - return CMD_WARNING; - - pim = pim_get_pim_instance(v->vrf_id); - - if (!pim) { - vty_out(vty, "%% Unable to find pim instance\n"); - return CMD_WARNING; - } - - pim_show_neighbors_secondary(pim, vty); - - return CMD_SUCCESS; + return pim_show_secondary_helper(vrf, vty); } DEFPY (show_ip_pim_state, diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c index 3bc7381e0d..303c9abe13 100644 --- a/pimd/pim_cmd_common.c +++ b/pimd/pim_cmd_common.c @@ -3865,3 +3865,25 @@ int pim_show_rp_vrf_all_helper(struct vty *vty, const char *group_str, return CMD_SUCCESS; } + +int pim_show_secondary_helper(const char *vrf, struct vty *vty) +{ + struct pim_instance *pim; + struct vrf *v; + + v = vrf_lookup_by_name(vrf ? vrf : VRF_DEFAULT_NAME); + + if (!v) + return CMD_WARNING; + + pim = pim_get_pim_instance(v->vrf_id); + + if (!pim) { + vty_out(vty, "%% Unable to find pim instance\n"); + return CMD_WARNING; + } + + pim_show_neighbors_secondary(pim, vty); + + return CMD_SUCCESS; +} diff --git a/pimd/pim_cmd_common.h b/pimd/pim_cmd_common.h index baea749778..c88dd48fe6 100644 --- a/pimd/pim_cmd_common.h +++ b/pimd/pim_cmd_common.h @@ -137,6 +137,7 @@ int pim_show_rp_helper(const char *vrf, struct vty *vty, const char *group_str, const struct prefix *group, bool json); int pim_show_rp_vrf_all_helper(struct vty *vty, const char *group_str, const struct prefix *group, bool json); +int pim_show_secondary_helper(const char *vrf, struct vty *vty); /* * Special Macro to allow us to get the correct pim_instance; -- 2.39.5