mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2026-01-28 01:47:18 +01:00
Remove unused linker function and minor issues
This commit is contained in:
parent
593060f1aa
commit
a66cb2c4e8
15 changed files with 49 additions and 257 deletions
|
|
@ -346,8 +346,10 @@ static void bb_add_flags_arr(struct blob_buf *bb, char *data)
|
|||
|
||||
if (*dm_falgs & DM_FLAG_REFERENCE)
|
||||
bb_add_string(bb, NULL, "Reference");
|
||||
else if (*dm_falgs & DM_FLAG_UNIQUE)
|
||||
if (*dm_falgs & DM_FLAG_UNIQUE)
|
||||
bb_add_string(bb, NULL, "Unique");
|
||||
if (*dm_falgs & DM_FLAG_LINKER)
|
||||
bb_add_string(bb, NULL, "Linker");
|
||||
|
||||
blobmsg_close_array(bb, flags_arr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1048,6 +1048,8 @@ static int get_ubus_value(struct dmctx *dmctx, struct dmnode *node)
|
|||
dm_falgs |= DM_FLAG_REFERENCE;
|
||||
} else if (DM_STRCMP(flag, "Unique") == 0) {
|
||||
dm_falgs |= DM_FLAG_UNIQUE;
|
||||
} else if (DM_STRCMP(flag, "Linker") == 0) {
|
||||
dm_falgs |= DM_FLAG_LINKER;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2411,9 +2413,6 @@ int dm_entry_get_reference_value(struct dmctx *dmctx)
|
|||
*****************/
|
||||
static int object_exists_check_obj(DMOBJECT_ARGS)
|
||||
{
|
||||
if (!get_linker)
|
||||
return FAULT_9005;
|
||||
|
||||
if (DM_STRCMP(node->current_object, dmctx->in_param) == 0) {
|
||||
dmctx->match = true;
|
||||
dmctx->stop = true;
|
||||
|
|
|
|||
|
|
@ -17,15 +17,6 @@ struct atm_args
|
|||
char *device;
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_atm_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = (data && ((struct atm_args *)data)->device) ? ((struct atm_args *)data)->device : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* INIT
|
||||
***************************************************************************/
|
||||
|
|
@ -389,7 +380,7 @@ static int set_atm_alias(char *refparam, struct dmctx *ctx, void *data, char *in
|
|||
/*** ATM. ***/
|
||||
DMOBJ tATMObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys*/
|
||||
{"Link", &DMWRITE, add_atm_link, delete_atm_link, NULL, browseAtmLinkInst, NULL, NULL, tATMLinkObj, tATMLinkParams, get_atm_linker, BBFDM_BOTH, NULL},
|
||||
{"Link", &DMWRITE, add_atm_link, delete_atm_link, NULL, browseAtmLinkInst, NULL, NULL, tATMLinkObj, tATMLinkParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -46,31 +46,6 @@ struct provider_bridge_args
|
|||
/**************************************************************************
|
||||
* LINKER FUNCTIONS
|
||||
***************************************************************************/
|
||||
static int get_linker_br_port(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
struct bridge_port_args *data_args = (struct bridge_port_args *)data;
|
||||
|
||||
if (!data_args)
|
||||
return -1;
|
||||
|
||||
if (data_args->is_management_port)
|
||||
dmuci_get_value_by_section_string(data_args->bridge_port_dmmap_sec, "port", linker);
|
||||
else
|
||||
*linker = dmstrdup(section_name(data_args->bridge_port_dmmap_sec));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_br_vlan(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
struct bridge_vlan_args *data_args = (struct bridge_vlan_args *)data;
|
||||
|
||||
if (!data_args)
|
||||
return -1;
|
||||
|
||||
dmuci_get_value_by_section_string(data_args->bridge_vlan_sec, "vid", linker);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_bridge(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
dmasprintf(linker, "%s", data ? ((struct bridge_args *)data)->br_inst : "");
|
||||
|
|
@ -291,7 +266,7 @@ static void remove_port_from_bridge_sections(struct uci_section *br_sec, struct
|
|||
}
|
||||
}
|
||||
|
||||
static void set_Provider_bridge_component(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, char *component)
|
||||
static void set_Provider_bridge_component(char *refparam, struct dmctx *ctx, void *data, char *instance, char *br_inst, char *component)
|
||||
{
|
||||
/* *value=Device.Bridging.Bridge.{i}.
|
||||
* In file dmmap_provider_bridge set "option svlan_br_inst {i}" or "list cvlan_br_inst {i}" in this(refered "provider_bridge" section)
|
||||
|
|
@ -300,10 +275,8 @@ static void set_Provider_bridge_component(char *refparam, struct dmctx *ctx, voi
|
|||
struct uci_section *network_bridge_sec_from = NULL, *network_bridge_sec_to = NULL;
|
||||
char pr_br_sec_name[64] = {0};
|
||||
char *br_sec_name = NULL;
|
||||
char *br_inst = NULL;
|
||||
|
||||
// Get candidate bridge instance
|
||||
adm_entry_get_linker_value(ctx, value, &br_inst);
|
||||
if (DM_STRLEN(br_inst) == 0)
|
||||
return;
|
||||
|
||||
|
|
@ -1689,12 +1662,13 @@ static int get_BridgingBridge_Status(char *refparam, struct dmctx *ctx, void *da
|
|||
/*#Device.Bridging.Bridge.{i}.Alias!UCI:dmmap_bridge/device,@i-1/bridge_alias*/
|
||||
static int get_BridgingBridge_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
return bbf_get_alias(ctx, ((struct bridge_args *)data)->bridge_dmmap_sec, "bridge_alias", instance, value);
|
||||
*value = dmstrdup(((struct bridge_args *)data)->br_inst);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_BridgingBridge_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
return bbf_set_alias(ctx, ((struct bridge_args *)data)->bridge_dmmap_sec, "bridge_alias", instance, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_BridgingBridge_Standard(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
|
|
@ -2929,18 +2903,21 @@ static int get_BridgingBridgeProviderBridge_SVLANcomponent(char *refparam, struc
|
|||
static int set_BridgingBridgeProviderBridge_SVLANcomponent(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
char *allowed_objects[] = {"Device.Bridging.Bridge.", NULL};
|
||||
struct dm_reference reference = {0};
|
||||
|
||||
bbf_get_reference_args(value, &reference);
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (bbfdm_validate_string(ctx, value, -1, 256, NULL, NULL))
|
||||
if (bbfdm_validate_string(ctx, reference.path, -1, 256, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
|
||||
if (dm_entry_validate_allowed_objects(ctx, value, allowed_objects))
|
||||
if (dm_validate_allowed_objects(ctx, &reference, allowed_objects))
|
||||
return FAULT_9007;
|
||||
|
||||
break;
|
||||
case VALUESET:
|
||||
set_Provider_bridge_component(refparam, ctx, data, instance, value, "SVLAN");
|
||||
set_Provider_bridge_component(refparam, ctx, data, instance, reference.value, "SVLAN");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -2973,28 +2950,31 @@ static int get_BridgingBridgeProviderBridge_CVLANcomponents(char *refparam, stru
|
|||
static int set_BridgingBridgeProviderBridge_CVLANcomponents(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
char *allowed_objects[] = {"Device.Bridging.Bridge.", NULL};
|
||||
struct dm_reference reference = {0};
|
||||
char *pch = NULL, *pchr = NULL;
|
||||
char buf[512] = {0};
|
||||
|
||||
DM_STRNCPY(buf, value, sizeof(buf));
|
||||
bbf_get_reference_args(value, &reference);
|
||||
|
||||
DM_STRNCPY(buf, reference.path, sizeof(buf));
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (bbfdm_validate_string_list(ctx, value, -1, -1, -1, -1, 256, NULL, NULL))
|
||||
if (bbfdm_validate_string_list(ctx, reference.path, -1, -1, -1, -1, 256, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
|
||||
// Validate each item in list and Check if bridge is present
|
||||
for (pch = strtok_r(buf, ",", &pchr); pch != NULL; pch = strtok_r(NULL, ",", &pchr)) {
|
||||
// Parse each Bridge path and validate:
|
||||
|
||||
if (dm_entry_validate_allowed_objects(ctx, pch, allowed_objects))
|
||||
if (dm_validate_allowed_objects(ctx, &reference, allowed_objects))
|
||||
return FAULT_9007;
|
||||
}
|
||||
|
||||
break;
|
||||
case VALUESET:
|
||||
for (pch = strtok_r(buf, ",", &pchr); pch != NULL; pch = strtok_r(NULL, ",", &pchr))
|
||||
set_Provider_bridge_component(refparam, ctx, data, instance, pch, "CVLAN");
|
||||
set_Provider_bridge_component(refparam, ctx, data, instance, reference.value, "CVLAN");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -3028,8 +3008,8 @@ DMLEAF tBridgingParams[] = {
|
|||
DMOBJ tBridgingBridgeObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"STP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingBridgeSTPParams, NULL, BBFDM_BOTH},
|
||||
{"Port", &DMWRITE, addObjBridgingBridgePort, delObjBridgingBridgePort, NULL, browseBridgingBridgePortInst, NULL, NULL, tBridgingBridgePortObj, tBridgingBridgePortParams, get_linker_br_port, BBFDM_BOTH, NULL},
|
||||
{"VLAN", &DMWRITE, addObjBridgingBridgeVLAN, delObjBridgingBridgeVLAN, NULL, browseBridgingBridgeVLANInst, NULL, NULL, NULL, tBridgingBridgeVLANParams, get_linker_br_vlan, BBFDM_BOTH, NULL},
|
||||
{"Port", &DMWRITE, addObjBridgingBridgePort, delObjBridgingBridgePort, NULL, browseBridgingBridgePortInst, NULL, NULL, tBridgingBridgePortObj, tBridgingBridgePortParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"VLAN", &DMWRITE, addObjBridgingBridgeVLAN, delObjBridgingBridgeVLAN, NULL, browseBridgingBridgeVLANInst, NULL, NULL, NULL, tBridgingBridgeVLANParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"VLANPort", &DMWRITE, addObjBridgingBridgeVLANPort, delObjBridgingBridgeVLANPort, NULL, browseBridgingBridgeVLANPortInst, NULL, NULL, NULL, tBridgingBridgeVLANPortParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
|
@ -3038,7 +3018,7 @@ DMLEAF tBridgingBridgeParams[] = {
|
|||
/* PARAM, permission, type, getvalue, setvalue, bbfdm_type, version*/
|
||||
{"Enable", &DMWRITE, DMT_BOOL, get_BridgingBridge_Enable, set_BridgingBridge_Enable, BBFDM_BOTH},
|
||||
{"Status", &DMREAD, DMT_STRING, get_BridgingBridge_Status, NULL, BBFDM_BOTH},
|
||||
{"Alias", &DMWRITE, DMT_STRING, get_BridgingBridge_Alias, set_BridgingBridge_Alias, BBFDM_BOTH, DM_FLAG_UNIQUE},
|
||||
{"Alias", &DMWRITE, DMT_STRING, get_BridgingBridge_Alias, set_BridgingBridge_Alias, BBFDM_BOTH, DM_FLAG_UNIQUE|DM_FLAG_LINKER},
|
||||
{"Standard", &DMWRITE, DMT_STRING, get_BridgingBridge_Standard, set_BridgingBridge_Standard, BBFDM_BOTH},
|
||||
{"PortNumberOfEntries", &DMREAD, DMT_UNINT, get_BridgingBridge_PortNumberOfEntries, NULL, BBFDM_BOTH},
|
||||
{"VLANNumberOfEntries", &DMREAD, DMT_UNINT, get_BridgingBridge_VLANNumberOfEntries, NULL, BBFDM_BOTH},
|
||||
|
|
@ -3132,7 +3112,7 @@ DMLEAF tBridgingProviderBridgeParams[] = {
|
|||
{"Enable", &DMWRITE, DMT_BOOL, get_BridgingBridgeProviderBridge_Enable, set_BridgingBridgeProviderBridge_Enable, BBFDM_BOTH},
|
||||
{"Status", &DMREAD, DMT_STRING, get_BridgingBridgeProviderBridge_Status, NULL, BBFDM_BOTH},
|
||||
{"Alias", &DMWRITE, DMT_STRING, get_BridgingBridgeProviderBridge_Alias, set_BridgingBridgeProviderBridge_Alias, BBFDM_BOTH},
|
||||
{"SVLANcomponent", &DMWRITE, DMT_STRING, get_BridgingBridgeProviderBridge_SVLANcomponent, set_BridgingBridgeProviderBridge_SVLANcomponent, BBFDM_BOTH},
|
||||
{"CVLANcomponents", &DMWRITE, DMT_STRING, get_BridgingBridgeProviderBridge_CVLANcomponents, set_BridgingBridgeProviderBridge_CVLANcomponents, BBFDM_BOTH},
|
||||
{"SVLANcomponent", &DMWRITE, DMT_STRING, get_BridgingBridgeProviderBridge_SVLANcomponent, set_BridgingBridgeProviderBridge_SVLANcomponent, BBFDM_BOTH, DM_FLAG_REFERENCE},
|
||||
{"CVLANcomponents", &DMWRITE, DMT_STRING, get_BridgingBridgeProviderBridge_CVLANcomponents, set_BridgingBridgeProviderBridge_CVLANcomponents, BBFDM_BOTH, DM_FLAG_REFERENCE},
|
||||
{0}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -61,17 +61,6 @@ struct dhcp_client_option_args {
|
|||
|
||||
static char *allowed_devices[] = {"All", "Known", "UnKnown", NULL};
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_dhcp_client_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
const struct client_args *args = data;
|
||||
|
||||
*linker = (char *)args->lease->hwaddr;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* INIT
|
||||
**************************************************************/
|
||||
|
|
@ -3382,7 +3371,7 @@ DMOBJ tDHCPv4ServerPoolObj[] = {
|
|||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"StaticAddress", &DMWRITE, addObjDHCPv4ServerPoolStaticAddress, delObjDHCPv4ServerPoolStaticAddress, NULL, browseDHCPv4ServerPoolStaticAddressInst, NULL, NULL, NULL, tDHCPv4ServerPoolStaticAddressParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Option", &DMWRITE, addObjDHCPv4ServerPoolOption, delObjDHCPv4ServerPoolOption, NULL, browseDHCPv4ServerPoolOptionInst, NULL, NULL, NULL, tDHCPv4ServerPoolOptionParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, browseDhcpClientInst, NULL, NULL, tDHCPv4ServerPoolClientObj, tDHCPv4ServerPoolClientParams, get_dhcp_client_linker, BBFDM_BOTH, NULL},
|
||||
{"Client", &DMREAD, NULL, NULL, NULL, browseDhcpClientInst, NULL, NULL, tDHCPv4ServerPoolClientObj, tDHCPv4ServerPoolClientParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,29 +22,6 @@ struct dsl_channel_args
|
|||
char *id;
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_dsl_line_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
if (data && ((struct dsl_line_args *)data)->id) {
|
||||
dmasprintf(linker, "line_%s", ((struct dsl_line_args *)data)->id);
|
||||
return 0;
|
||||
}
|
||||
*linker = "" ;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_dsl_channel_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
if (instance) {
|
||||
dmasprintf(linker, "dsl_channel_%s", instance);
|
||||
return 0;
|
||||
}
|
||||
*linker = "" ;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* INIT
|
||||
***************************************************************************/
|
||||
|
|
@ -1429,8 +1406,8 @@ static int get_DSLChannelStatsQuarterHour_XTUCCRCErrors(char *refparam, struct d
|
|||
/* *** Device.DSL. *** */
|
||||
DMOBJ tDSLObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Line", &DMREAD, NULL, NULL, NULL, browseDSLLineInst, NULL, NULL, tDSLLineObj, tDSLLineParams, get_dsl_line_linker, BBFDM_BOTH, NULL},
|
||||
{"Channel", &DMREAD, NULL, NULL, NULL, browseDSLChannelInst, NULL, NULL, tDSLChannelObj, tDSLChannelParams, get_dsl_channel_linker, BBFDM_BOTH, NULL},
|
||||
{"Line", &DMREAD, NULL, NULL, NULL, browseDSLLineInst, NULL, NULL, tDSLLineObj, tDSLLineParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Channel", &DMREAD, NULL, NULL, NULL, browseDSLChannelInst, NULL, NULL, tDSLChannelObj, tDSLChannelParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -322,27 +322,6 @@ static int browseEthernetRMONStatsInst(struct dmctx *dmctx, DMNODE *parent_node,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* LINKER
|
||||
**************************************************************/
|
||||
static int get_linker_interface(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = data ? ((struct eth_port_args *)data)->ifname : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_link(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
dmuci_get_value_by_section_string((struct uci_section *)data, "device", linker);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_vlan_term(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "name", linker);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* ADD & DEL OBJ
|
||||
**************************************************************/
|
||||
|
|
@ -1800,9 +1779,9 @@ static int get_EthernetRMONStats_Packets1024to1518Bytes(char *refparam, struct d
|
|||
/* *** Device.Ethernet. *** */
|
||||
DMOBJ tEthernetObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseEthernetInterfaceInst, NULL, NULL, tEthernetInterfaceObj, tEthernetInterfaceParams, get_linker_interface, BBFDM_BOTH, NULL},
|
||||
{"Link", &DMWRITE, addObjEthernetLink, delObjEthernetLink, NULL, browseEthernetLinkInst, NULL, NULL, tEthernetLinkObj, tEthernetLinkParams, get_linker_link, BBFDM_BOTH, NULL},
|
||||
{"VLANTermination", &DMWRITE, addObjEthernetVLANTermination, delObjEthernetVLANTermination, NULL, browseEthernetVLANTerminationInst, NULL, NULL, tEthernetVLANTerminationObj, tEthernetVLANTerminationParams, get_linker_vlan_term, BBFDM_BOTH, NULL},
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseEthernetInterfaceInst, NULL, NULL, tEthernetInterfaceObj, tEthernetInterfaceParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Link", &DMWRITE, addObjEthernetLink, delObjEthernetLink, NULL, browseEthernetLinkInst, NULL, NULL, tEthernetLinkObj, tEthernetLinkParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"VLANTermination", &DMWRITE, addObjEthernetVLANTermination, delObjEthernetVLANTermination, NULL, browseEthernetVLANTerminationInst, NULL, NULL, tEthernetVLANTerminationObj, tEthernetVLANTerminationParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"RMONStats", &DMREAD, NULL, NULL, "ubus:ethernet->rmonstats", browseEthernetRMONStatsInst, NULL, NULL, NULL, tEthernetRMONStatsParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,20 +17,6 @@ struct fast_line_args
|
|||
char *id;
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
|
||||
static int get_fast_line_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
if (instance) {
|
||||
dmasprintf(linker, "fast_line_%s", instance);
|
||||
return 0;
|
||||
}
|
||||
*linker = "" ;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* INIT
|
||||
***************************************************************************/
|
||||
|
|
@ -888,7 +874,7 @@ static int get_FASTLineStatsQuarterHour_SuccessTIGA(char *refparam, struct dmctx
|
|||
/* *** Device.FAST. *** */
|
||||
DMOBJ tFASTObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Line", &DMREAD, NULL, NULL, NULL, browseFASTLineInst, NULL, NULL, tFASTLineObj, tFASTLineParams, get_fast_line_linker, BBFDM_BOTH, NULL},
|
||||
{"Line", &DMREAD, NULL, NULL, NULL, browseFASTLineInst, NULL, NULL, tFASTLineObj, tFASTLineParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -37,30 +37,6 @@ static int init_interface_ip_args(struct intf_ip_args *args, struct uci_section
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_linker_ip_interface(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = (data) ? dmstrdup(section_name((struct uci_section *)data)) : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_ipv6_prefix(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
char *assign = NULL;
|
||||
|
||||
dmuci_get_value_by_section_string(((struct intf_ip_args *)data)->dmmap_sec, "assign", &assign);
|
||||
if (assign && DM_LSTRCMP(assign, "0") == 0) {
|
||||
char *address = dmjson_get_value(((struct intf_ip_args *)data)->interface_obj, 3, "assigned", "lan", "address");
|
||||
char *mask = dmjson_get_value(((struct intf_ip_args *)data)->interface_obj, 3, "assigned", "lan", "mask");
|
||||
dmasprintf(linker, "%s/%s", address, mask);
|
||||
} else {
|
||||
*linker = "";
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* COMMON Functions
|
||||
**************************************************************/
|
||||
|
|
@ -2224,7 +2200,7 @@ static int operate_IPInterface_Reset(char *refparam, struct dmctx *ctx, void *da
|
|||
/* *** Device.IP. *** */
|
||||
DMOBJ tIPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Interface", &DMWRITE, addObjIPInterface, delObjIPInterface, NULL, browseIPInterfaceInst, NULL, NULL, tIPInterfaceObj, tIPInterfaceParams, get_linker_ip_interface, BBFDM_BOTH, NULL},
|
||||
{"Interface", &DMWRITE, addObjIPInterface, delObjIPInterface, NULL, browseIPInterfaceInst, NULL, NULL, tIPInterfaceObj, tIPInterfaceParams, NULL, BBFDM_BOTH, NULL},
|
||||
#if defined(BBF_TR143) || defined(BBF_TR471)
|
||||
{"Diagnostics", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPDiagnosticsObj, tIPDiagnosticsParams, NULL, BBFDM_BOTH, NULL},
|
||||
#endif
|
||||
|
|
@ -2249,7 +2225,7 @@ DMOBJ tIPInterfaceObj[] = {
|
|||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"IPv4Address", &DMWRITE, addObjIPInterfaceIPv4Address, delObjIPInterfaceIPv4Address, NULL, browseIPInterfaceIPv4AddressInst, NULL, NULL, NULL, tIPInterfaceIPv4AddressParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"IPv6Address", &DMWRITE, addObjIPInterfaceIPv6Address, delObjIPInterfaceIPv6Address, NULL, browseIPInterfaceIPv6AddressInst, NULL, NULL, NULL, tIPInterfaceIPv6AddressParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"IPv6Prefix", &DMWRITE, addObjIPInterfaceIPv6Prefix, delObjIPInterfaceIPv6Prefix, NULL, browseIPInterfaceIPv6PrefixInst, NULL, NULL, NULL, tIPInterfaceIPv6PrefixParams, get_linker_ipv6_prefix, BBFDM_BOTH, NULL},
|
||||
{"IPv6Prefix", &DMWRITE, addObjIPInterfaceIPv6Prefix, delObjIPInterfaceIPv6Prefix, NULL, browseIPInterfaceIPv6PrefixInst, NULL, NULL, NULL, tIPInterfaceIPv6PrefixParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Stats", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tIPInterfaceStatsParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1155,22 +1155,6 @@ static int set_PPPInterfacePPPoE_ServiceName(char *refparam, struct dmctx *ctx,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_linker_ppp_interface(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
if (((struct ppp_args *)data)->iface_s) {
|
||||
*linker = get_device(section_name(((struct ppp_args *)data)->iface_s));
|
||||
if (DM_STRLEN(*linker) == 0)
|
||||
dmuci_get_value_by_section_string(((struct ppp_args *)data)->iface_s, "device", linker);
|
||||
} else {
|
||||
dmuci_get_value_by_section_string(((struct ppp_args *)data)->dmmap_s, "device", linker);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* OPERATE COMMANDS
|
||||
*************************************************************/
|
||||
|
|
@ -1195,7 +1179,7 @@ static int operate_PPPInterface_Reset(char *refparam, struct dmctx *ctx, void *d
|
|||
/* *** Device.PPP. *** */
|
||||
DMOBJ tPPPObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Interface", &DMWRITE, add_ppp_interface, delete_ppp_interface, NULL, browseInterfaceInst, NULL, NULL, tPPPInterfaceObj, tPPPInterfaceParams, get_linker_ppp_interface, BBFDM_BOTH, NULL},
|
||||
{"Interface", &DMWRITE, add_ppp_interface, delete_ppp_interface, NULL, browseInterfaceInst, NULL, NULL, tPPPInterfaceObj, tPPPInterfaceParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -18,15 +18,6 @@ struct ptm_args
|
|||
char *device;
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_ptm_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = (data && ((struct ptm_args *)data)->device) ? ((struct ptm_args *)data)->device : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* INIT
|
||||
***************************************************************************/
|
||||
|
|
@ -259,7 +250,7 @@ static int get_ptm_stats_pack_sent(char *refparam, struct dmctx *ctx, void *data
|
|||
/* *** Device.PTM. *** */
|
||||
DMOBJ tPTMObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Link", &DMWRITE, add_ptm_link, delete_ptm_link, NULL, browsePtmLinkInst, NULL, NULL, tPTMLinkObj, tPTMLinkParams, get_ptm_linker, BBFDM_BOTH, NULL},
|
||||
{"Link", &DMWRITE, add_ptm_link, delete_ptm_link, NULL, browsePtmLinkInst, NULL, NULL, tPTMLinkObj, tPTMLinkParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -941,30 +941,6 @@ static int get_USBUSBHostsHostDeviceConfigurationInterface_InterfaceProtocol(cha
|
|||
return read_sysfs_usb_port(data, "bInterfaceProtocol", value);
|
||||
}
|
||||
|
||||
static int get_linker_usb_port(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
struct usb_port *port = (struct usb_port *)data;
|
||||
if (port && port->folder_name) {
|
||||
*linker = dmstrdup(port->folder_name);
|
||||
return 0;
|
||||
} else {
|
||||
*linker = "";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int get_linker_usb_host_device(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
struct usb_port *port = (struct usb_port *)data;
|
||||
if(port && port->folder_name) {
|
||||
*linker = dmstrdup(port->folder_name);
|
||||
return 0;
|
||||
} else {
|
||||
*linker = "";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**********************************************************************************************************************************
|
||||
* OBJ & PARAM DEFINITION
|
||||
***********************************************************************************************************************************/
|
||||
|
|
@ -972,7 +948,7 @@ static int get_linker_usb_host_device(char *refparam, struct dmctx *dmctx, void
|
|||
DMOBJ tUSBObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Interface", &DMREAD, NULL, NULL, NULL, browseUSBInterfaceInst, NULL, NULL, tUSBInterfaceObj, tUSBInterfaceParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Port", &DMREAD, NULL, NULL, NULL, browseUSBPortInst, NULL, NULL, NULL, tUSBPortParams, get_linker_usb_port, BBFDM_BOTH, NULL},
|
||||
{"Port", &DMREAD, NULL, NULL, NULL, browseUSBPortInst, NULL, NULL, NULL, tUSBPortParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"USBHosts", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tUSBUSBHostsObj, tUSBUSBHostsParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
|
@ -1056,7 +1032,7 @@ DMLEAF tUSBUSBHostsParams[] = {
|
|||
/* *** Device.USB.USBHosts.Host.{i}. *** */
|
||||
DMOBJ tUSBUSBHostsHostObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceInst, NULL, NULL, tUSBUSBHostsHostDeviceObj, tUSBUSBHostsHostDeviceParams, get_linker_usb_host_device, BBFDM_BOTH},
|
||||
{"Device", &DMREAD, NULL, NULL, NULL, browseUSBUSBHostsHostDeviceInst, NULL, NULL, tUSBUSBHostsHostDeviceObj, tUSBUSBHostsHostDeviceParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -49,35 +49,6 @@ struct wifi_enp_args
|
|||
char *ifname;
|
||||
};
|
||||
|
||||
/**************************************************************************
|
||||
* LINKER
|
||||
***************************************************************************/
|
||||
static int get_linker_Wifi_Radio(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = (data && (((struct wifi_radio_args *)data)->sections)->config_section) ? section_name((((struct wifi_radio_args *)data)->sections)->config_section) : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_Wifi_Ssid(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct wifi_ssid_args *)data)->dmmap_s, "ap_section_name", linker);
|
||||
if (DM_STRLEN(*linker) == 0)
|
||||
*linker = dmstrdup(instance);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_Wifi_AccessPoint(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = (data && ((struct wifi_acp_args *)data)->ifname) ? ((struct wifi_acp_args *)data)->ifname : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_linker_associated_device(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
*linker = data ? dmjson_get_value((json_object *)data, 1, "macaddr") : "";
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* INIT
|
||||
***************************************************************************/
|
||||
|
|
@ -3604,9 +3575,9 @@ DMOBJ tWiFiObj[] = {
|
|||
#ifdef BBF_WIFI_DATAELEMENTS
|
||||
{"DataElements", &DMREAD, NULL, NULL, "file:/etc/init.d/decollector", NULL, NULL, NULL, tWiFiDataElementsObj, NULL, NULL, BBFDM_BOTH, NULL},
|
||||
#endif
|
||||
{"Radio", &DMREAD, NULL, NULL, "file:/etc/config/wireless", browseWifiRadioInst, NULL, NULL, tWiFiRadioObj, tWiFiRadioParams, get_linker_Wifi_Radio, BBFDM_BOTH, NULL},
|
||||
{"SSID", &DMWRITE, add_wifi_ssid, delete_wifi_ssid, "file:/etc/config/wireless", browseWifiSsidInst, NULL, NULL, tWiFiSSIDObj, tWiFiSSIDParams, get_linker_Wifi_Ssid, BBFDM_BOTH, NULL},
|
||||
{"AccessPoint", &DMWRITE, add_wifi_accesspoint, delete_wifi_accesspoint, "file:/etc/config/wireless", browseWifiAccessPointInst, NULL, NULL, tWiFiAccessPointObj, tWiFiAccessPointParams, get_linker_Wifi_AccessPoint, BBFDM_BOTH, NULL},
|
||||
{"Radio", &DMREAD, NULL, NULL, "file:/etc/config/wireless", browseWifiRadioInst, NULL, NULL, tWiFiRadioObj, tWiFiRadioParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"SSID", &DMWRITE, add_wifi_ssid, delete_wifi_ssid, "file:/etc/config/wireless", browseWifiSsidInst, NULL, NULL, tWiFiSSIDObj, tWiFiSSIDParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"AccessPoint", &DMWRITE, add_wifi_accesspoint, delete_wifi_accesspoint, "file:/etc/config/wireless", browseWifiAccessPointInst, NULL, NULL, tWiFiAccessPointObj, tWiFiAccessPointParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"NeighboringWiFiDiagnostic", &DMREAD, NULL, NULL, "file:/etc/config/wireless", NULL, NULL, NULL, tWiFiNeighboringWiFiDiagnosticObj, tWiFiNeighboringWiFiDiagnosticParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"EndPoint", &DMWRITE, addObjWiFiEndPoint, delObjWiFiEndPoint, "file:/etc/config/wireless", browseWiFiEndPointInst, NULL, NULL, tWiFiEndPointObj, tWiFiEndPointParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
|
|
@ -3758,7 +3729,7 @@ DMLEAF tWiFiSSIDStatsParams[] = {
|
|||
DMOBJ tWiFiAccessPointObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{"Security", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointSecurityParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"AssociatedDevice", &DMREAD, NULL, NULL, NULL, browse_wifi_associated_device, NULL, NULL, tWiFiAccessPointAssociatedDeviceObj, tWiFiAccessPointAssociatedDeviceParams, get_linker_associated_device, BBFDM_BOTH, NULL},
|
||||
{"AssociatedDevice", &DMREAD, NULL, NULL, NULL, browse_wifi_associated_device, NULL, NULL, tWiFiAccessPointAssociatedDeviceObj, tWiFiAccessPointAssociatedDeviceParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"WPS", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointWPSParams, NULL, BBFDM_BOTH, NULL},
|
||||
{"Accounting", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiAccessPointAccountingParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
|
|
|
|||
|
|
@ -3268,13 +3268,13 @@ static int operate_WiFiDataElementsNetwork_SetPreferredBackhauls(char *refparam,
|
|||
break;
|
||||
}
|
||||
|
||||
adm_entry_get_linker_value(ctx, device_path, &linker);
|
||||
adm_entry_get_reference_value(ctx, device_path, &linker);
|
||||
if (linker == NULL || *linker == '\0') {
|
||||
status = "Error_Invalid_Input";
|
||||
break;
|
||||
}
|
||||
|
||||
struct uci_section *s = get_origin_section_from_config("mapcontroller", "node", linker);
|
||||
struct uci_section *s = get_dup_section_in_config_opt("mapcontroller", "node", "agent_id", linker);
|
||||
if (*(operate_args[i].arg1) != '\0')
|
||||
dmuci_set_value_by_section(s, "backhaul_ul_macaddr", operate_args[i].arg1);
|
||||
|
||||
|
|
@ -3701,7 +3701,7 @@ DMOBJ tWiFiDataElementsNetworkDeviceObj[] = {
|
|||
|
||||
DMLEAF tWiFiDataElementsNetworkDeviceParams[] = {
|
||||
/* PARAM, permission, type, getvalue, setvalue, bbfdm_type, version*/
|
||||
{"ID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDevice_ID, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE},
|
||||
{"ID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDevice_ID, NULL, BBFDM_BOTH, DM_FLAG_UNIQUE|DM_FLAG_LINKER},
|
||||
{"MultiAPCapabilities", &DMREAD, DMT_BASE64, get_WiFiDataElementsNetworkDevice_MultiAPCapabilities, NULL, BBFDM_BOTH},
|
||||
{"CollectionInterval", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDevice_CollectionInterval, NULL, BBFDM_BOTH},
|
||||
{"ReportUnsuccessfulAssociations", &DMWRITE, DMT_BOOL, get_WiFiDataElementsNetworkDevice_ReportUnsuccessfulAssociations, set_WiFiDataElementsNetworkDevice_ReportUnsuccessfulAssociations, BBFDM_BOTH},
|
||||
|
|
|
|||
11
libbbfdm/dmtree/vendor/iopsys/tr181/ethernet.c
vendored
11
libbbfdm/dmtree/vendor/iopsys/tr181/ethernet.c
vendored
|
|
@ -32,15 +32,6 @@ static int browseEthernetMACVLANInst(struct dmctx *dmctx, DMNODE *parent_node, v
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* LINKER
|
||||
**************************************************************/
|
||||
static int get_linker_mac_vlan(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "name", linker);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************
|
||||
* ADD & DEL OBJ
|
||||
**************************************************************/
|
||||
|
|
@ -292,7 +283,7 @@ static int get_EthernetMACVLANStats_MulticastPacketsReceived(char *refparam, str
|
|||
***********************************************************************************************************************************/
|
||||
DMOBJ tIOPSYS_EthernetObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys, version*/
|
||||
{BBF_VENDOR_PREFIX"MACVLAN", &DMWRITE, addObjEthernetMACVLAN, delObjEthernetMACVLAN, NULL, browseEthernetMACVLANInst, NULL, NULL, tEthernetMACVLANObj, tEthernetMACVLANParams, get_linker_mac_vlan, BBFDM_BOTH, NULL},
|
||||
{BBF_VENDOR_PREFIX"MACVLAN", &DMWRITE, addObjEthernetMACVLAN, delObjEthernetMACVLAN, NULL, browseEthernetMACVLANInst, NULL, NULL, tEthernetMACVLANObj, tEthernetMACVLANParams, NULL, BBFDM_BOTH, NULL},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue