diff --git a/dmtree/tr181/x_iopsys_eu_igmp.c b/dmtree/tr181/x_iopsys_eu_igmp.c index 47a98c50..84c1b7db 100644 --- a/dmtree/tr181/x_iopsys_eu_igmp.c +++ b/dmtree/tr181/x_iopsys_eu_igmp.c @@ -7,7 +7,7 @@ * * Author Rahul Thakur * - */ + */ #include "dmentry.h" #include "x_iopsys_eu_igmp.h" @@ -590,7 +590,7 @@ static int get_igmp_snooping_interface(char *refparam, struct dmctx *ctx, void * uci_path_foreach_option_eq(bbfdm, "dmmap_bridge_port", "bridge_port", "bridge_key", br_inst, port) { dmuci_get_value_by_section_string(port, "mg_port", &mg); if (strcmp(mg, "true") == 0) { - snprintf(linker, sizeof(linker), "%s+", section_name(port)); + snprintf(linker, sizeof(linker), "br_%s:%s+", br_inst, section_name(port)); adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); break; diff --git a/dmtree/tr181/x_iopsys_eu_mld.c b/dmtree/tr181/x_iopsys_eu_mld.c index cb41d90b..ae0a40b3 100644 --- a/dmtree/tr181/x_iopsys_eu_mld.c +++ b/dmtree/tr181/x_iopsys_eu_mld.c @@ -590,7 +590,7 @@ static int get_mld_snooping_interface(char *refparam, struct dmctx *ctx, void *d uci_path_foreach_option_eq(bbfdm, "dmmap_bridge_port", "bridge_port", "bridge_key", br_inst, port) { dmuci_get_value_by_section_string(port, "mg_port", &mg); if (strcmp(mg, "true") == 0) { - snprintf(linker, sizeof(linker), "%s+", section_name(port)); + snprintf(linker, sizeof(linker), "br_%s:%s+", br_inst, section_name(port)); adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); break; diff --git a/libbbf_api/dmcommon.c b/libbbf_api/dmcommon.c index 8e71c201..7186d460 100644 --- a/libbbf_api/dmcommon.c +++ b/libbbf_api/dmcommon.c @@ -800,7 +800,7 @@ void synchronize_specific_config_sections_with_dmmap_mcast_iface(char *package, if (proxy_iface != NULL) { struct uci_element *e; uci_foreach_element(proxy_iface, e) { - char *p_ifname = strdup(e->name); + char *p_ifname = dmstrdup(e->name); int found = 0; uci_path_foreach_option_eq(bbfdm, dmmap_package, dmmap_sec, "ifname", p_ifname, d_sec) { @@ -831,7 +831,7 @@ void synchronize_specific_config_sections_with_dmmap_mcast_iface(char *package, if (snooping_iface != NULL) { struct uci_element *e; uci_foreach_element(snooping_iface, e) { - char *s_ifname = strdup(e->name); + char *s_ifname = dmstrdup(e->name); int found = 0; uci_path_foreach_option_eq(bbfdm, dmmap_package, dmmap_sec, "ifname", s_ifname, d_sec) { @@ -901,7 +901,7 @@ void synchronize_specific_config_sections_with_dmmap_filter(char *package, char if (l != NULL) { struct uci_element *e; uci_foreach_element(l, e) { - char *ip_addr = strdup(e->name); + char *ip_addr = dmstrdup(e->name); int found = 0; uci_path_foreach_option_eq(bbfdm, dmmap_package, dmmap_sec, "ipaddr", ip_addr, d_sec) {