]> git.puffer.fish Git - mirror/frr.git/commitdiff
pim6d: Moving the common lines of pim_show_interface cli
authorSai Gomathi N <nsaigomathi@vmware.com>
Thu, 9 Jun 2022 06:10:22 +0000 (23:10 -0700)
committerSai Gomathi N <nsaigomathi@vmware.com>
Thu, 9 Jun 2022 06:27:00 +0000 (23:27 -0700)
Moving the common lines of pim_show_interface cli
in pim_cmd.c and pim6_cmd.c to pim_cmd_common.c file

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

index bb9e2f7db60b5b74a28bde5c14ab301571b85645..d69740260870b763ce566cb4a26a868ea4fdffbd 100644 (file)
@@ -1250,28 +1250,8 @@ DEFPY (show_ipv6_pim_interface,
        "interface name\n"
        JSON_STR)
 {
-       struct vrf *v;
-       bool uj = !!json;
-       json_object *json_parent = NULL;
-
-       v = vrf_lookup_by_name(vrf ? vrf : VRF_DEFAULT_NAME);
-
-       if (!v)
-               return CMD_WARNING;
-
-       if (uj)
-               json_parent = json_object_new_object();
-
-       if (interface)
-               pim_show_interfaces_single(v->info, vty, interface, false,
-                                          json_parent);
-       else
-               pim_show_interfaces(v->info, vty, false, json_parent);
-
-       if (uj)
-               vty_json(vty, json_parent);
-
-       return CMD_SUCCESS;
+       return pim_show_interface_cmd_helper(vrf, vty, !!json, false,
+                                            interface);
 }
 
 DEFPY (show_ipv6_pim_interface_vrf_all,
index 3cdf53709d6901dc2230ff410ab0df58d8a29f57..0d66b9e79bbe73d8718a797297bb10aee3fd7137 100644 (file)
@@ -2427,29 +2427,8 @@ DEFPY (show_ip_pim_interface,
        "interface name\n"
        JSON_STR)
 {
-       struct vrf *v;
-       bool uj = !!json;
-       bool is_mlag = !!mlag;
-       json_object *json_parent = NULL;
-
-       v = vrf_lookup_by_name(vrf ? vrf : VRF_DEFAULT_NAME);
-
-       if (!v)
-               return CMD_WARNING;
-
-       if (uj)
-               json_parent = json_object_new_object();
-
-       if (interface)
-               pim_show_interfaces_single(v->info, vty, interface, is_mlag,
-                                          json_parent);
-       else
-               pim_show_interfaces(v->info, vty, is_mlag, json_parent);
-
-       if (uj)
-               vty_json(vty, json_parent);
-
-       return CMD_SUCCESS;
+       return pim_show_interface_cmd_helper(vrf, vty, !!json, !!mlag,
+                                            interface);
 }
 
 DEFPY (show_ip_pim_interface_vrf_all,
index 895ac0c81e985c716ae407c31fe71a4b94f8ece5..bf594727ec35281e1b284e757822d34f6ec2dbf4 100644 (file)
@@ -1959,6 +1959,32 @@ int pim_show_channel_cmd_helper(const char *vrf, struct vty *vty, bool uj)
        return CMD_SUCCESS;
 }
 
+int pim_show_interface_cmd_helper(const char *vrf, struct vty *vty, bool uj,
+                                 bool mlag, const char *interface)
+{
+       struct vrf *v;
+       json_object *json_parent = NULL;
+
+       v = vrf_lookup_by_name(vrf ? vrf : VRF_DEFAULT_NAME);
+
+       if (!v)
+               return CMD_WARNING;
+
+       if (uj)
+               json_parent = json_object_new_object();
+
+       if (interface)
+               pim_show_interfaces_single(v->info, vty, interface, mlag,
+                                          json_parent);
+       else
+               pim_show_interfaces(v->info, vty, mlag, json_parent);
+
+       if (uj)
+               vty_json(vty, json_parent);
+
+       return CMD_SUCCESS;
+}
+
 void pim_show_interfaces(struct pim_instance *pim, struct vty *vty, bool mlag,
                         json_object *json)
 {
index 21592385a475c2a2537755ebb9bdb51a0c47ee00..c16bf0bea470ef2aa473935a473afff9fca9630e 100644 (file)
@@ -89,6 +89,8 @@ void pim_show_jp_agg_list(struct pim_instance *pim, struct vty *vty);
 void pim_show_membership(struct pim_instance *pim, struct vty *vty, bool uj);
 void pim_show_channel(struct pim_instance *pim, struct vty *vty, bool uj);
 int pim_show_channel_cmd_helper(const char *vrf, struct vty *vty, bool uj);
+int pim_show_interface_cmd_helper(const char *vrf, struct vty *vty, bool uj,
+                                 bool mlag, const char *interface);
 void pim_show_interfaces(struct pim_instance *pim, struct vty *vty, bool mlag,
                         json_object *json);
 void pim_show_interfaces_single(struct pim_instance *pim, struct vty *vty,