From e184ea73111110f6a69e719a7b81cb5ddea25f15 Mon Sep 17 00:00:00 2001 From: Christian Hopps Date: Sun, 28 Feb 2021 11:49:40 -0500 Subject: [PATCH] pimd: correctly get interface name for error message This was found while doing libyang2 work (causes assert); however, it is also incorrect for libyang1 (empty canonical value for incorrectly referenced interface vs interface-name node). While here, fix 2 other incorrect uses of "." on a container node. Signed-off-by: Christian Hopps --- pimd/pim_nb_config.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pimd/pim_nb_config.c b/pimd/pim_nb_config.c index 5963a651d2..e933207c71 100644 --- a/pimd/pim_nb_config.c +++ b/pimd/pim_nb_config.c @@ -1181,7 +1181,7 @@ int routing_control_plane_protocols_control_plane_protocol_pim_address_family_ms case NB_EV_APPLY: vrf = nb_running_get_entry(args->dnode, NULL, true); pim = vrf->info; - mesh_group_name = yang_dnode_get_string(args->dnode, "."); + mesh_group_name = yang_dnode_get_string(args->dnode, "mesh-group-name"); result = ip_no_msdp_mesh_group_cmd_worker(pim, mesh_group_name, args->errmsg, @@ -2716,11 +2716,11 @@ int lib_interface_igmp_igmp_enable_modify(struct nb_cb_modify_args *args) switch (args->event) { case NB_EV_VALIDATE: if_dnode = yang_dnode_get_parent(args->dnode, "interface"); - ifp_name = yang_dnode_get_string(if_dnode, "."); mcast_if_count = yang_get_list_elements_count(if_dnode); /* Limiting mcast interfaces to number of VIFs */ if (mcast_if_count == MAXVIFS) { + ifp_name = yang_dnode_get_string(if_dnode, "name"); snprintf(args->errmsg, args->errmsg_len, "Max multicast interfaces(%d) Reached. Could not enable IGMP on interface %s", MAXVIFS, ifp_name); @@ -2991,7 +2991,7 @@ int lib_interface_igmp_address_family_static_group_create( case NB_EV_VALIDATE: if_dnode = yang_dnode_get_parent(args->dnode, "interface"); if (!is_pim_interface(if_dnode)) { - ifp_name = yang_dnode_get_string(if_dnode, "."); + ifp_name = yang_dnode_get_string(if_dnode, "name"); snprintf(args->errmsg, args->errmsg_len, "multicast not enabled on interface %s", ifp_name);