mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Ticket refs #2930: TR-181: Invalid Device.InterfaceStack.{i}.LowerAlias values
This commit is contained in:
parent
902cb572a0
commit
ae78994eea
1 changed files with 79 additions and 34 deletions
|
|
@ -21,12 +21,12 @@ struct interfacestack_data {
|
|||
/*************************************************************
|
||||
* ENTRY METHOD
|
||||
**************************************************************/
|
||||
static char *get_instance_by_section(int mode, char *dmmap_config, char *section, struct uci_section *s, char *instance_option, char *alias_option)
|
||||
static char *get_instance_by_section(int mode, char *dmmap_config, char *section, struct uci_section *s, char *option, char *value, char *instance_option, char *alias_option)
|
||||
{
|
||||
struct uci_section *dmmap_section;
|
||||
char *instance = "";
|
||||
|
||||
get_dmmap_section_of_config_section(dmmap_config, section, section_name(s), &dmmap_section);
|
||||
get_dmmap_section_of_config_section_eq(dmmap_config, section, option, value, &dmmap_section);
|
||||
|
||||
if (mode == INSTANCE_MODE_NUMBER)
|
||||
dmuci_get_value_by_section_string(dmmap_section, instance_option, &instance);
|
||||
|
|
@ -83,7 +83,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
continue;
|
||||
|
||||
// The higher layer is Device.IP.Interface.{i}.
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "ip_int_instance", "ip_int_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "section_name", section_name(s), "ip_int_instance", "ip_int_alias");
|
||||
if (*layer_inst == '\0')
|
||||
continue;
|
||||
snprintf(buf_higherlayer, sizeof(buf_higherlayer), "Device.IP.Interface.%s.", layer_inst);
|
||||
|
|
@ -96,7 +96,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
|
||||
if (strstr(proto, "ppp")) {
|
||||
// The lower layer is Device.PPP.Interface.{i}.
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "ppp_int_instance", "ppp_int_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "section_name", section_name(s), "ppp_int_instance", "ppp_int_alias");
|
||||
if (*layer_inst == '\0')
|
||||
continue;
|
||||
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "Device.PPP.Interface.%s.", layer_inst);
|
||||
|
|
@ -110,7 +110,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
if (device[0] != '\0') {
|
||||
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cVLANTermination%c", dmroot, dm_delim, dm_delim, dm_delim), device, &value);
|
||||
loweralias = get_alias_by_section("dmmap_network", "device", s, "vlan_term_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "section_name", section_name(s), "vlan_term_instance", "vlan_term_alias");
|
||||
if (value != NULL)
|
||||
found = 1;
|
||||
}
|
||||
|
|
@ -123,7 +123,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
if (vid) *vid = '\0';
|
||||
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, &value);
|
||||
loweralias = get_alias_by_section("dmmap", "link", s, "link_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "link_instance", "link_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "section_name", section_name(s), "link_instance", "link_alias");
|
||||
if (value == NULL)
|
||||
value = "";
|
||||
}
|
||||
|
|
@ -159,7 +159,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
continue;
|
||||
|
||||
// The higher layer is Device.PPP.Interface.{i}.
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "ppp_int_instance", "ppp_int_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "section_name", section_name(s), "ppp_int_instance", "ppp_int_alias");
|
||||
if (*layer_inst == '\0')
|
||||
continue;
|
||||
snprintf(buf_higherlayer, sizeof(buf_higherlayer), "Device.PPP.Interface.%s.", layer_inst);
|
||||
|
|
@ -177,7 +177,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
if (device[0] != '\0') {
|
||||
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cVLANTermination%c", dmroot, dm_delim, dm_delim, dm_delim), device, &value);
|
||||
loweralias = get_alias_by_section("dmmap_network", "device", s, "vlan_term_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "section_name", section_name(s), "vlan_term_instance", "vlan_term_alias");
|
||||
if (value != NULL)
|
||||
found = 1;
|
||||
}
|
||||
|
|
@ -190,14 +190,17 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
if (vid) *vid = '\0';
|
||||
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, &value);
|
||||
loweralias = get_alias_by_section("dmmap", "link", s, "link_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "link_instance", "link_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "section_name", section_name(s), "link_instance", "link_alias");
|
||||
if (value == NULL)
|
||||
value = "";
|
||||
}
|
||||
|
||||
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "%s", value);
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
|
||||
if (*layer_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -226,7 +229,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
continue;
|
||||
|
||||
// The higher layer is Device.Ethernet.VLANTermination.{i}.
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
|
||||
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "section_name", section_name(s), "vlan_term_instance", "vlan_term_alias");
|
||||
if (*layer_inst == '\0')
|
||||
continue;
|
||||
|
||||
|
|
@ -234,7 +237,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
|
||||
higheralias = get_alias_by_section("dmmap_network", "device", s, "vlan_term_alias");
|
||||
if (*higheralias == '\0')
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
|
||||
if (*layer_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
|
||||
|
||||
|
|
@ -252,7 +258,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
|
||||
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "%s", value);
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
|
||||
if (*layer_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -284,7 +293,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
|
||||
dmuci_get_value_by_section_string(s, "link_alias", &higheralias);
|
||||
if (*higheralias == '\0')
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
|
||||
if (*layer_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
|
||||
|
||||
|
|
@ -326,7 +338,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
|
||||
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "%s", value);
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
|
||||
if (*layer_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -353,7 +368,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
if (strcmp(type, "bridge") != 0)
|
||||
continue;
|
||||
|
||||
char *br_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "bridge_instance", "bridge_alias");
|
||||
char *br_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "section_name", section_name(s), "bridge_instance", "bridge_alias");
|
||||
if (*br_inst == '\0')
|
||||
continue;
|
||||
|
||||
|
|
@ -372,7 +387,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
dmuci_get_value_by_section_string(port, "bridge_port_alias", &higheralias);
|
||||
dmuci_get_value_by_section_string(port, "bridge_port_instance", &bridge_port_inst);
|
||||
if (*higheralias == '\0')
|
||||
snprintf(buf_mngr, sizeof(buf_mngr), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_mngr, sizeof(buf_mngr), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_mngr, sizeof(buf_mngr), "%s", higheralias);
|
||||
|
||||
|
|
@ -402,7 +420,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
dmuci_get_value_by_section_string(sd, "bridge_port_alias", &loweralias);
|
||||
dmuci_get_value_by_section_string(sd, "bridge_port_instance", &bridge_port_inst);
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -422,7 +443,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
goto end;
|
||||
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -436,7 +460,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *port_s = NULL;
|
||||
uci_foreach_option_eq("ports", "ethport", "ifname", device, port_s) {
|
||||
loweralias = get_alias_by_section("dmmap_ports", "ethport", port_s, "eth_port_alias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "eth_port_instance", "eth_port_alias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "section_name", section_name(port_s), "eth_port_instance", "eth_port_alias");
|
||||
break;
|
||||
}
|
||||
found = 1;
|
||||
|
|
@ -451,7 +475,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *wl_s = NULL;
|
||||
uci_foreach_option_eq("wireless", "wifi-iface", "ifname", device, wl_s) {
|
||||
loweralias = get_alias_by_section("dmmap_wireless", "wifi-iface", wl_s, "ssidalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_wireless", "wifi-iface", wl_s, "ssidinstance", "ssidalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_wireless", "wifi-iface", wl_s, "section_name", section_name(wl_s), "ssidinstance", "ssidalias");
|
||||
break;
|
||||
}
|
||||
found = 1;
|
||||
|
|
@ -469,7 +493,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *dsl_s = NULL;
|
||||
uci_foreach_option_eq("dsl", "atm-device", "device", device, dsl_s) {
|
||||
loweralias = get_alias_by_section("dmmap_dsl", "atm-device", dsl_s, "atmlinkalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_dsl", "atm-device", dsl_s, "atmlinkinstance", "atmlinkalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_dsl", "atm-device", dsl_s, "section_name", section_name(dsl_s), "atmlinkinstance", "atmlinkalias");
|
||||
break;
|
||||
}
|
||||
found = 1;
|
||||
|
|
@ -487,7 +511,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *dsl_s = NULL;
|
||||
uci_foreach_option_eq("dsl", "ptm-device", "device", device, dsl_s) {
|
||||
loweralias = get_alias_by_section("dmmap_dsl", "ptm-device", dsl_s, "ptmlinkalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_dsl", "ptm-device", dsl_s, "ptmlinkinstance", "ptmlinkalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_dsl", "ptm-device", dsl_s, "section_name", section_name(dsl_s), "ptmlinkinstance", "ptmlinkalias");
|
||||
break;
|
||||
}
|
||||
found = 1;
|
||||
|
|
@ -505,13 +529,16 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *port_s = NULL;
|
||||
uci_foreach_option_eq("ports", "ethport", "ifname", device, port_s) {
|
||||
loweralias = get_alias_by_section("dmmap_ports", "ethport", port_s, "eth_port_alias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "eth_port_instance", "eth_port_alias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "section_name", section_name(port_s), "eth_port_instance", "eth_port_alias");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -536,7 +563,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
// The lower layer is Device.WiFi.Radio.{i}.
|
||||
if(strcmp(package, "wireless") == 0) {
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -553,7 +583,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
uci_foreach_sections("wireless", "wifi-device", ss) {
|
||||
if(strcmp(section_name(ss), device) == 0) {
|
||||
loweralias = get_alias_by_section("dmmap_wireless", "wifi-device", ss, "radioalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_wireless", "wifi-device", ss, "radioinstance", "radioalias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_wireless", "wifi-device", ss, "section_name", section_name(ss), "radioinstance", "radioalias");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -563,7 +593,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
vb = "";
|
||||
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -586,7 +619,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
// The lower layer is Device.DSL.Channel.{i}.
|
||||
if(strcmp(package, "dsl:atm") == 0) {
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -598,11 +634,14 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *dsl_s = NULL;
|
||||
uci_path_foreach_sections(bbfdm, "dmmap", "dsl_channel", dsl_s) {
|
||||
dmuci_get_value_by_section_string(dsl_s, "dsl_channel_alias", &loweralias);
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "dsl_channel", dsl_s, "dsl_channel_instance", "dsl_channel_alias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "dsl_channel", dsl_s, "section_name", section_name(dsl_s), "dsl_channel_instance", "dsl_channel_alias");
|
||||
}
|
||||
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -626,7 +665,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
// The lower layer is Device.DSL.Line.{i}.
|
||||
if(strcmp(package, "dsl:ptm") == 0) {
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
|
||||
|
||||
|
|
@ -638,11 +680,14 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
|
|||
struct uci_section *dsl_s = NULL;
|
||||
uci_path_foreach_sections(bbfdm, "dmmap", "dsl_line", dsl_s) {
|
||||
dmuci_get_value_by_section_string(dsl_s, "dsl_line_alias", &loweralias);
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "dsl_line", dsl_s, "dsl_line_instance", "dsl_line_alias");
|
||||
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "dsl_line", dsl_s, "id", "0", "dsl_line_instance", "dsl_line_alias");
|
||||
}
|
||||
|
||||
if (*loweralias == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
if (*bridge_port_inst == '\0')
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", "");
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
|
||||
else
|
||||
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue