]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_cmd.c
*: move CLI node names to cmd_node->name
[mirror_frr.git] / pimd / pim_cmd.c
index 92de99f33a555bb8b7bfdec3581f028095299f19..f99888b3afadcae021fe50545b050ccd3e8308ba 100644 (file)
 #endif
 
 static struct cmd_node interface_node = {
-       INTERFACE_NODE, "%s(config-if)# ", 1 /* vtysh ? yes */
+       .name = "interface",
+       .node = INTERFACE_NODE,
+       .parent_node = CONFIG_NODE,
+       .prompt = "%s(config-if)# ",
+       .config_write = pim_interface_config_write,
 };
 
-static struct cmd_node debug_node = {DEBUG_NODE, "", 1};
+static struct cmd_node debug_node = {
+       .name = "debug",
+       .node = DEBUG_NODE,
+       .prompt = "",
+       .config_write = pim_debug_config_write,
+};
 
 static struct vrf *pim_cmd_lookup_vrf(struct vty *vty, struct cmd_token *argv[],
                                      const int argc, int *idx)
@@ -3023,7 +3032,7 @@ static void pim_show_bsm_db(struct pim_instance *pim, struct vty *vty, bool uj)
        }
 
        for (ALL_LIST_ELEMENTS_RO(pim->global_scope.bsm_list, bsmnode, bsm)) {
-               char grp_str[INET_ADDRSTRLEN];
+               char grp_str[PREFIX_STRLEN];
                char rp_str[INET_ADDRSTRLEN];
                char bsr_str[INET_ADDRSTRLEN];
                struct bsmmsg_grpinfo *group;
@@ -3192,7 +3201,7 @@ static void pim_show_group_rp_mappings_info(struct pim_instance *pim,
                if (!bsgrp)
                        continue;
 
-               char grp_str[INET_ADDRSTRLEN];
+               char grp_str[PREFIX_STRLEN];
 
                prefix2str(&bsgrp->group, grp_str, sizeof(grp_str));
 
@@ -3319,12 +3328,9 @@ static void pim_show_statistics(struct pim_instance *pim, struct vty *vty,
 
        if (uj) {
                json = json_object_new_object();
-               json_object_int_add(json, "Number of Received BSMs",
-                                   pim->bsm_rcvd);
-               json_object_int_add(json, "Number of Forwared BSMs",
-                                   pim->bsm_sent);
-               json_object_int_add(json, "Number of Dropped BSMs",
-                                   pim->bsm_dropped);
+               json_object_int_add(json, "bsmRx", pim->bsm_rcvd);
+               json_object_int_add(json, "bsmTx", pim->bsm_sent);
+               json_object_int_add(json, "bsmDropped", pim->bsm_dropped);
        } else {
                vty_out(vty, "BSM Statistics :\n");
                vty_out(vty, "----------------\n");
@@ -3366,15 +3372,13 @@ static void pim_show_statistics(struct pim_instance *pim, struct vty *vty,
                        json_row = json_object_new_object();
 
                        json_object_string_add(json_row, "If Name", ifp->name);
+                       json_object_int_add(json_row, "bsmDroppedConfig",
+                                           pim_ifp->pim_ifstat_bsm_cfg_miss);
                        json_object_int_add(
-                               json_row,
-                               "Number of BSMs dropped due to config miss",
-                               pim_ifp->pim_ifstat_bsm_cfg_miss);
-                       json_object_int_add(
-                               json_row, "Number of unicast BSMs dropped",
+                               json_row, "bsmDroppedUnicast",
                                pim_ifp->pim_ifstat_ucast_bsm_cfg_miss);
                        json_object_int_add(json_row,
-                                           "Number of BSMs dropped due to invalid scope zone",
+                                           "bsmDroppedInvalidScopeZone",
                                            pim_ifp->pim_ifstat_bsm_invalid_sz);
                        json_object_object_add(json, ifp->name, json_row);
                }
@@ -3776,11 +3780,11 @@ static void pim_show_bsr(struct pim_instance *pim,
                json_object_string_add(json, "bsr", bsr_str);
                json_object_int_add(json, "priority",
                                    pim->global_scope.current_bsr_prio);
-               json_object_int_add(json, "fragment_tag",
+               json_object_int_add(json, "fragmentTag",
                                    pim->global_scope.bsm_frag_tag);
                json_object_string_add(json, "state", bsr_state);
                json_object_string_add(json, "upTime", uptime);
-               json_object_string_add(json, "last_bsm_seen", last_bsm_seen);
+               json_object_string_add(json, "lastBsmSeen", last_bsm_seen);
        }
 
        else {
@@ -9717,11 +9721,25 @@ DEFUN (no_ip_msdp_mesh_group_source,
        "mesh group local address\n")
 {
        PIM_DECLVAR_CONTEXT(vrf, pim);
-       if (argc == 7)
-               return ip_no_msdp_mesh_group_cmd_worker(pim, vty, argv[6]->arg);
+
+       return ip_no_msdp_mesh_group_source_cmd_worker(pim, vty, argv[4]->arg);
+}
+
+DEFUN (no_ip_msdp_mesh_group,
+       no_ip_msdp_mesh_group_cmd,
+       "no ip msdp mesh-group [WORD]",
+       NO_STR
+       IP_STR
+       CFG_MSDP_STR
+       "Delete MSDP mesh-group\n"
+       "mesh group name")
+{
+       PIM_DECLVAR_CONTEXT(vrf, pim);
+
+       if (argc == 5)
+               return ip_no_msdp_mesh_group_cmd_worker(pim, vty, argv[4]->arg);
        else
-               return ip_no_msdp_mesh_group_source_cmd_worker(pim, vty,
-                                                              argv[4]->arg);
+               return ip_no_msdp_mesh_group_cmd_worker(pim, vty, NULL);
 }
 
 static void print_empty_json_obj(struct vty *vty)
@@ -10818,11 +10836,10 @@ DEFUN_HIDDEN (ip_pim_mlag,
 
 void pim_cmd_init(void)
 {
-       install_node(&interface_node,
-                    pim_interface_config_write); /* INTERFACE_NODE */
+       install_node(&interface_node); /* INTERFACE_NODE */
        if_cmd_init();
 
-       install_node(&debug_node, pim_debug_config_write);
+       install_node(&debug_node);
 
        install_element(ENABLE_NODE, &pim_test_sg_keepalive_cmd);
 
@@ -11109,6 +11126,8 @@ void pim_cmd_init(void)
        install_element(VRF_NODE, &ip_msdp_mesh_group_source_cmd);
        install_element(CONFIG_NODE, &no_ip_msdp_mesh_group_source_cmd);
        install_element(VRF_NODE, &no_ip_msdp_mesh_group_source_cmd);
+       install_element(CONFIG_NODE, &no_ip_msdp_mesh_group_cmd);
+       install_element(VRF_NODE, &no_ip_msdp_mesh_group_cmd);
        install_element(VIEW_NODE, &show_ip_msdp_peer_detail_cmd);
        install_element(VIEW_NODE, &show_ip_msdp_peer_detail_vrf_all_cmd);
        install_element(VIEW_NODE, &show_ip_msdp_sa_detail_cmd);