From 2a88a4c5af30df54221eca006c0542978ed9d9f6 Mon Sep 17 00:00:00 2001 From: sverma Date: Tue, 13 Oct 2020 19:14:15 +0530 Subject: [PATCH] bbf: Added support for Device.WiFi.DataElements.Network. --- bin/Makefile.am | 1 + dmtree/tr181/wifi-dataelements.c | 1326 ++++++++++++++++++++++++++++++ dmtree/tr181/wifi-dataelements.h | 46 ++ dmtree/tr181/wifi.c | 2 + json/tr181.json | 1196 +++++++++++++++++++++++++-- 5 files changed, 2512 insertions(+), 59 deletions(-) create mode 100644 dmtree/tr181/wifi-dataelements.c create mode 100644 dmtree/tr181/wifi-dataelements.h diff --git a/bin/Makefile.am b/bin/Makefile.am index c4eb15b1..13be7b59 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -58,6 +58,7 @@ libbbfdm_la_SOURCES += \ ../dmtree/tr181/x_iopsys_eu_owsd.c \ ../dmtree/tr181/x_iopsys_eu_buttons.c \ ../dmtree/tr181/wifi.c \ + ../dmtree/tr181/wifi-dataelements.c \ ../dmtree/tr181/ethernet.c \ ../dmtree/tr181/atm.c \ ../dmtree/tr181/ptm.c \ diff --git a/dmtree/tr181/wifi-dataelements.c b/dmtree/tr181/wifi-dataelements.c new file mode 100644 index 00000000..7d558941 --- /dev/null +++ b/dmtree/tr181/wifi-dataelements.c @@ -0,0 +1,1326 @@ +/* + * Copyright (C) 2020 iopsys Software Solutions AB + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1 + * as published by the Free Software Foundation + * + * Author: Saurabh Verma + * + */ + +#include "dmentry.h" +#include "wifi-dataelements.h" + +/************************************************************************** + * SET AND GET ALIAS + ***************************************************************************/ +/*#Device.WiFi.DataElements.Network.ID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.ID*/ +static int get_WiFiDataElementsNetwork_ID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + int i; + json_object *res, *data_arr = NULL, *data_obj = NULL, *net_obj = NULL; + + dmubus_call("wifi.dataelements.collector", "dump", UBUS_ARGS{}, 0, &res); + DM_ASSERT(res, *value = ""); + dmjson_foreach_obj_in_array(res, data_arr, data_obj, i, 1, "data") { + json_object_object_get_ex(data_obj, "wfa-dataelements:Network", &net_obj); + *value = dmjson_get_value(net_obj, 1, "ID"); + } + return 0; +} + +static int set_WiFiDataElementsNetwork_ID(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) +{ + switch (action) { + case VALUECHECK: + if (dm_validate_string(value, -1, -1, NULL, 0, NULL, 0)) + return FAULT_9007; + break; + case VALUESET: + //TODO + break; + } + return 0; +} + +/*#Device.WiFi.DataElements.Network.TimeStamp!UBUS:wifi.dataelements.collector/dump//description*/ +static int get_WiFiDataElementsNetwork_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + int i; + json_object *res, *data_arr = NULL, *data_obj = NULL, *net_obj = NULL; + + dmubus_call("wifi.dataelements.collector", "dump", UBUS_ARGS{}, 0, &res); + DM_ASSERT(res, *value = ""); + dmjson_foreach_obj_in_array(res, data_arr, data_obj, i, 1, "data") { + json_object_object_get_ex(data_obj, "wfa-dataelements:Network", &net_obj); + *value = dmjson_get_value(net_obj, 1, "TimeStamp"); + } + return 0; +} + +/*#Device.WiFi.DataElements.Network.ControllerID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.ControllerID*/ +static int get_WiFiDataElementsNetwork_ControllerID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + int i; + json_object *res, *data_arr = NULL, *data_obj = NULL, *net_obj = NULL; + + dmubus_call("wifi.dataelements.collector", "dump", UBUS_ARGS{}, 0, &res); + DM_ASSERT(res, *value = ""); + dmjson_foreach_obj_in_array(res, data_arr, data_obj, i, 1, "data") { + json_object_object_get_ex(data_obj, "wfa-dataelements:Network", &net_obj); + *value = dmjson_get_value(net_obj, 1, "ControllerID"); + } + return 0; +} + +static int set_WiFiDataElementsNetwork_ControllerID(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) +{ + switch (action) { + case VALUECHECK: + if (dm_validate_string(value, -1, -1, NULL, 0, NULL, 0)) + return FAULT_9007; + break; + case VALUESET: + //TODO + break; + } + return 0; +} + +/*#Device.WiFi.DataElements.Network.DeviceNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[@i-1].wfa-dataelements:Network.NumberOfDevices*/ +static int get_WiFiDataElementsNetwork_DeviceNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + int i; + json_object *res, *data_arr = NULL, *data_obj = NULL, *net_obj = NULL; + + dmubus_call("wifi.dataelements.collector", "dump", UBUS_ARGS{}, 0, &res); + DM_ASSERT(res, *value = ""); + dmjson_foreach_obj_in_array(res, data_arr, data_obj, i, 1, "data") { + json_object_object_get_ex(data_obj, "wfa-dataelements:Network", &net_obj); + *value = dmjson_get_value(net_obj, 1, "NumberOfDevices"); + } + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.ID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].ID*/ +static int get_WiFiDataElementsNetworkDevice_ID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ID"); + return 0; +} + +static int get_WiFiDataElementsNetworkDevice_MultiAPCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.CollectionInterval!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].CollectionInterval*/ +static int get_WiFiDataElementsNetworkDevice_CollectionInterval(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "CollectionInterval"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.RadioNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].NumberOfRadios*/ +static int get_WiFiDataElementsNetworkDevice_RadioNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfRadios"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].ID*/ +static int get_WiFiDataElementsNetworkDeviceRadio_ID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ID"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Enabled!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Enabled*/ +static int get_WiFiDataElementsNetworkDeviceRadio_Enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Enabled"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Noise!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Noise*/ +static int get_WiFiDataElementsNetworkDeviceRadio_Noise(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Noise"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Utilization!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Utilization*/ +static int get_WiFiDataElementsNetworkDeviceRadio_Utilization(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Utilization"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Transmit!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Transmit*/ +static int get_WiFiDataElementsNetworkDeviceRadio_Transmit(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Transmit"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ReceiveSelf!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].ReceiveSelf*/ +static int get_WiFiDataElementsNetworkDeviceRadio_ReceiveSelf(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ReceiveSelf"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ReceiveOther!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].RecieveOther*/ +static int get_WiFiDataElementsNetworkDeviceRadio_ReceiveOther(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "RecieveOther"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfileNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfCurrOpClass*/ +static int get_WiFiDataElementsNetworkDeviceRadio_CurrentOperatingClassProfileNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfCurrOpClass"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTANumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfUnassocSta*/ +static int get_WiFiDataElementsNetworkDeviceRadio_UnassociatedSTANumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfUnassocSta"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSSNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfBSS*/ +static int get_WiFiDataElementsNetworkDeviceRadio_BSSNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfBSS"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResultNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfScanRes*/ +static int get_WiFiDataElementsNetworkDeviceRadio_ScanResultNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + int num_scanres = 0; + json_object *scanres_arr = NULL; + + json_object_object_get_ex((json_object *)data, "ScanResultList", &scanres_arr); + if (scanres_arr) + num_scanres = json_object_array_length(scanres_arr); + + dmasprintf(value, "%d", num_scanres); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BackhaulSta.MACAddress!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BackhaulSta.MACAddress*/ +static int get_WiFiDataElementsNetworkDeviceRadioBackhaulSta_MACAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + json_object *backsta_obj = NULL; + + if (data) { + json_object_object_get_ex((json_object *)data, "BackhaulSta", &backsta_obj); + if (backsta_obj) + *value = dmjson_get_value(backsta_obj, 1, "MACAddress"); + } + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.HTCapabilities!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.HTCapabilities*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilities_HTCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + json_object *caps_obj = NULL; + + json_object_object_get_ex((json_object *)data, "Capabilites", &caps_obj); + if (caps_obj) + *value = dmjson_get_value(caps_obj, 1, "HTCapabilities"); + + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.VHTCapabilities!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.VHTCapabilities*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilities_VHTCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + json_object *caps_obj = NULL; + + json_object_object_get_ex((json_object *)data, "Capabilites", &caps_obj); + if (caps_obj) + *value = dmjson_get_value(caps_obj, 1, "VHTCapabilities"); + + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.HECapabilities!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.HECapabilities*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilities_HECapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + json_object *caps_obj = NULL; + + json_object_object_get_ex((json_object *)data, "Capabilites", &caps_obj); + if (caps_obj) + *value = dmjson_get_value(caps_obj, 1, "HECapabilities"); + + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfileNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.NumberOfOpClass*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilities_CapableOperatingClassProfileNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + json_object *caps_obj = NULL; + + json_object_object_get_ex((json_object *)data, "Capabilites", &caps_obj); + if (caps_obj) + *value = dmjson_get_value(caps_obj, 1, "NumberOfOpClass"); + + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}.Class!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].Class*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_Class(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Class"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}.MaxTxPower!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].MaxTxPower*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_MaxTxPower(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "MaxTxPower"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}.NonOperable!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].NonOperable*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_NonOperable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NonOperable"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}.NumberOfNonOperChan!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].NumberOfNonOperChan*/ +static int get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_NumberOfNonOperChan(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfNonOperChan"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Class!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].Class*/ +static int get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_Class(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Class"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Channel!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].Channel*/ +static int get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_Channel(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Channel"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.TxPower!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].TxPower*/ +static int get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_TxPower(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "TxPower"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.TimeStamp!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].TimeStamp*/ +static int get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "TimeStamp"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.BSSID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].BSSID*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_BSSID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "BSSID"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.SSID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].SSID*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_SSID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "SSID"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.Enabled!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].Enabled*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_Enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Enabled"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.LastChange!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].LastChange*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_LastChange(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "LastChange"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.TimeStamp!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].TimeStamp*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "TimeStamp"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.UnicastBytesSent!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].UnicastBytesSent*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_UnicastBytesSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "UnicastBytesSent"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.UnicastBytesReceived!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].UnicastBytesReceived*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_UnicastBytesReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "UnicastBytesReceived"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MulticastBytesSent!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].MulticastBytesSent*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_MulticastBytesSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "MulticastBytesSent"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MulticastBytesReceived!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].MulticastBytesReceived*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_MulticastBytesReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "MulticastBytesReceived"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.BroadcastBytesSent!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].BroadcastBytesSent*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_BroadcastBytesSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "BroadcastBytesSent"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.BroadcastBytesReceived!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].BroadcastBytesReceived*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_BroadcastBytesReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "BroadcastBytesReceived"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.EstServiceParametersBE!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersBE*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersBE(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "EstServiceParametersBE"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.EstServiceParametersBK!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersBK*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersBK(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "EstServiceParametersBK"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.EstServiceParametersVI!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersVI*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersVI(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "EstServiceParametersVI"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.EstServiceParametersVO!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersVO*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersVO(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "EstServiceParametersVO"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STANumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].NumberofSTA*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSS_STANumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberofSTA"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MACAddress!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].MACAddress*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_MACAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "MACAddress"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.TimeStamp!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].TimeStamp*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "TimeStamp"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.HTCapabilities!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].HTCapabilities*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_HTCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "HTCapabilities"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.VHTCapabilities!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].VHTCapabilities*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_VHTCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "VHTCapabilities"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.HECapabilities!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].HECapabilities*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_HECapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "HECapabilities"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.LastDataDownlinkRate!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].LastDataDownlinkRate*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_LastDataDownlinkRate(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "LastDataDownlinkRate"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.LastDataUplinkRate!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].LastDataUplinkRate*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_LastDataUplinkRate(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "LastDataUplinkRate"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.UtilizationReceive!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].UtilizationReceive*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_UtilizationReceive(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "UtilizationReceive"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.UtilizationTransmit!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].UtilizationTransmit*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_UtilizationTransmit(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "UtilizationTransmit"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.EstMACDataRateDownlink!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].EstMACDataRateDownlink*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_EstMACDataRateDownlink(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "EstMACDataRateDownlink"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.EstMACDataRateUplink!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].EstMACDataRateUplink*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_EstMACDataRateUplink(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "EstMACDataRateUplink"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.SignalStrength!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].SignalStrength*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_SignalStrength(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "SignalStrength"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.LastConnectTime!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].LastConnectTime*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_LastConnectTime(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "LastConnectTime"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.BytesSent!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].BytesSent*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_BytesSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "BytesSent"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.BytesReceived!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].BytesReceived*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_BytesReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "BytesReceived"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.PacketsSent!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].PacketsSent*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_PacketsSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "PacketsSent"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.PacketsReceived!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].PacketsReceived*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_PacketsReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "PacketsReceived"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.ErrorsSent!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].ErrorsSent*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_ErrorsSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ErrorsSent"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.ErrorsReceived!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].ErrorsReceived*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_ErrorsReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ErrorsReceived"); + return 0; +} + +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_RetransCount(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MeasurementReport!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].Measurementreport*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_MeasurementReport(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Measurementreport"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.NumberOfMeasureReports!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].NumberOfMeasureReports*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_NumberOfMeasureReports(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfMeasureReports"); + return 0; +} + +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_IPV4Address(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_IPV6Address(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.Hostname!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].Hostname*/ +static int get_WiFiDataElementsNetworkDeviceRadioBSSSTA_Hostname(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Hostname"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.TimeStamp!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].TimeStamp*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResult_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "TimeStamp"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScanNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].NumberOfOpClassScans*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResult_OpClassScanNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfOpClassScans"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.OperatingClass!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].OperatingClass*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScan_OperatingClass(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "OperatingClass"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScanNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].NumberOfChannelScans*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScan_ChannelScanNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberOfChannelScans"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.Channel!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].Channel*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_Channel(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Channel"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.TimeStamp!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].TimeStamp*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "TimeStamp"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.Utilization!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].Utilization*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_Utilization(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Utilization"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.Noise!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].Noise*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_Noise(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "Noise"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSSNumberOfEntries!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NumberofNeighbors*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_NeighborBSSNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "NumberofNeighbors"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.BSSID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].BSSID*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_BSSID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "BSSID"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.SSID!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].SSID*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_SSID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "SSID"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.SignalStrength!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].SignalStrengh*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_SignalStrength(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "SignalStrengh"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.ChannelBandwidth!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].ChannelBandwidth*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_ChannelBandwidth(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ChannelBandwidth"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.ChannelUtilization!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].ChannelUtilization*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_ChannelUtilization(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "ChannelUtilization"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.StationCount!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].StationCount*/ +static int get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_StationCount(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "StationCount"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTA.{i}.MACAddress!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].UnassociatedStaList[@i-1].MACAddress*/ +static int get_WiFiDataElementsNetworkDeviceRadioUnassociatedSTA_MACAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "MACAddress"); + return 0; +} + +/*#Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTA.{i}.SignalStrength!UBUS:wifi.dataelements.collector/dump//data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].UnassociatedStaList[@i-1].SignalStrength*/ +static int get_WiFiDataElementsNetworkDeviceRadioUnassociatedSTA_SignalStrength(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + *value = dmjson_get_value((json_object *)data, 1, "SignalStrength"); + return 0; +} + +static int get_WiFiDataElementsAssociationEvent_AssociationEventDataNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_BSSID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_MACAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_StatusCode(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_HTCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_VHTCapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_HECapabilities(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsAssociationEventAssociationEventData_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEvent_DisassociationEventDataNumberOfEntries(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_BSSID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_MACAddress(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_ReasonCode(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_BytesSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_BytesReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_PacketsSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_PacketsReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_ErrorsSent(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_ErrorsReceived(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_RetransCount(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +static int get_WiFiDataElementsDisassociationEventDisassociationEventData_TimeStamp(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value) +{ + //TODO + return 0; +} + +/************************************************************* + * ENTRY METHOD + **************************************************************/ +static int browseWiFiDataElementsNetworkDeviceInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + int i, j, id = 0; + char *inst = NULL, *max_inst = NULL; + json_object *res = NULL, *data_arr = NULL, *data_obj = NULL, *net_obj = NULL; + json_object *dev_arr = NULL, *dev_obj = NULL; + + dmubus_call("wifi.dataelements.collector", "dump", UBUS_ARGS{}, 0, &res); + if (res) { + dmjson_foreach_obj_in_array(res, data_arr, data_obj, i, 1, "data") { + json_object_object_get_ex(data_obj, "wfa-dataelements:Network", &net_obj); + dmjson_foreach_obj_in_array(net_obj, dev_arr, dev_obj, j, 1, "DeviceList") { + inst = handle_update_instance(1, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)dev_obj, inst) == DM_STOP) + break; + } + } + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *radio_arr = NULL, *radio_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, radio_arr, radio_obj, i, 1, "RadioList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)radio_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfileInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *opclass_arr = NULL, *opclass_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, opclass_arr, opclass_obj, i, 1, "CurrentOperatingClasses") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)opclass_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioBSSInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *bss_arr = NULL, *bss_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, bss_arr, bss_obj, i, 1, "BSSList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)bss_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioScanResultInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *scanres_arr = NULL, *scanres_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, scanres_arr, scanres_obj, i, 1, "ScanResultList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)scanres_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioUnassociatedSTAInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *unassoc_arr = NULL, *unassoc_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, unassoc_arr, unassoc_obj, i, 1, "UnassociatedStaList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)unassoc_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfileInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *caps_obj = NULL, *opclass_arr = NULL, *opclass_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + json_object_object_get_ex((json_object *)prev_data, "Capabilites", &caps_obj); + if (caps_obj) { + dmjson_foreach_obj_in_array(caps_obj, opclass_arr, opclass_obj, i, 1, "OperatingClasses") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)opclass_obj, inst) == DM_STOP) + break; + } + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioBSSSTAInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *sta_arr = NULL, *sta_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, sta_arr, sta_obj, i, 1, "STAList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)sta_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *opclass_scan_arr = NULL, *opclass_scan_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, opclass_scan_arr, opclass_scan_obj, i, 1, "OpClassScanList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)opclass_scan_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *chscan_arr = NULL, *chscan_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, chscan_arr, chscan_obj, i, 1, "ChannelScanList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)chscan_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSSInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + json_object *neigh_arr = NULL, *neigh_obj = NULL; + char *inst = NULL, *max_inst = NULL; + int id = 0, i = 0; + + dmjson_foreach_obj_in_array((json_object *)prev_data, neigh_arr, neigh_obj, i, 1, "NeighborList") { + inst = handle_update_instance(2, dmctx, &max_inst, update_instance_without_section, 1, ++id); + if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)neigh_obj, inst) == DM_STOP) + break; + } + return 0; +} + +static int browseWiFiDataElementsAssociationEventAssociationEventDataInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + //TODO + return 0; +} + +static int browseWiFiDataElementsDisassociationEventDisassociationEventDataInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance) +{ + //TODO + return 0; +} + +/* *** Device.WiFi.DataElements. *** */ +DMOBJ tWiFiDataElementsObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"Network", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkObj, tWiFiDataElementsNetworkParams, NULL, BBFDM_BOTH}, +{"AssociationEvent", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiDataElementsAssociationEventObj, tWiFiDataElementsAssociationEventParams, NULL, BBFDM_BOTH}, +{"DisassociationEvent", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiDataElementsDisassociationEventObj, tWiFiDataElementsDisassociationEventParams, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network. *** */ +DMOBJ tWiFiDataElementsNetworkObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"Device", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceInst, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceObj, tWiFiDataElementsNetworkDeviceParams, NULL, BBFDM_BOTH, (const char *[]){"ID", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"ID", &DMWRITE, DMT_STRING, get_WiFiDataElementsNetwork_ID, set_WiFiDataElementsNetwork_ID, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsNetwork_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{"ControllerID", &DMWRITE, DMT_STRING, get_WiFiDataElementsNetwork_ControllerID, set_WiFiDataElementsNetwork_ControllerID, NULL, NULL, BBFDM_BOTH}, +{"DeviceNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetwork_DeviceNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"Radio", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioInst, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioObj, tWiFiDataElementsNetworkDeviceRadioParams, NULL, BBFDM_BOTH, (const char *[]){"ID", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"ID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDevice_ID, NULL, NULL, NULL, BBFDM_BOTH}, +{"MultiAPCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDevice_MultiAPCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"CollectionInterval", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDevice_CollectionInterval, NULL, NULL, NULL, BBFDM_BOTH}, +{"RadioNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDevice_RadioNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceRadioObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"BackhaulSta", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioBackhaulStaParams, NULL, BBFDM_BOTH}, +{"Capabilities", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioCapabilitiesObj, tWiFiDataElementsNetworkDeviceRadioCapabilitiesParams, NULL, BBFDM_BOTH}, +{"CurrentOperatingClassProfile", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfileInst, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfileParams, NULL, BBFDM_BOTH, (const char *[]){"Class", NULL}}, +{"BSS", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioBSSInst, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioBSSObj, tWiFiDataElementsNetworkDeviceRadioBSSParams, NULL, BBFDM_BOTH, (const char *[]){"BSSID", NULL}}, +{"ScanResult", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioScanResultInst, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioScanResultObj, tWiFiDataElementsNetworkDeviceRadioScanResultParams, NULL, BBFDM_BOTH}, +{"UnassociatedSTA", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioUnassociatedSTAInst, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioUnassociatedSTAParams, NULL, BBFDM_BOTH, (const char *[]){"MACAddress", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceRadioParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"ID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadio_ID, NULL, NULL, NULL, BBFDM_BOTH}, +{"Enabled", &DMREAD, DMT_BOOL, get_WiFiDataElementsNetworkDeviceRadio_Enabled, NULL, NULL, NULL, BBFDM_BOTH}, +{"Noise", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_Noise, NULL, NULL, NULL, BBFDM_BOTH}, +{"Utilization", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_Utilization, NULL, NULL, NULL, BBFDM_BOTH}, +{"Transmit", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_Transmit, NULL, NULL, NULL, BBFDM_BOTH}, +{"ReceiveSelf", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_ReceiveSelf, NULL, NULL, NULL, BBFDM_BOTH}, +{"ReceiveOther", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_ReceiveOther, NULL, NULL, NULL, BBFDM_BOTH}, +{"CurrentOperatingClassProfileNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_CurrentOperatingClassProfileNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{"UnassociatedSTANumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_UnassociatedSTANumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{"BSSNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_BSSNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{"ScanResultNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadio_ScanResultNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BackhaulSta. *** */ +DMLEAF tWiFiDataElementsNetworkDeviceRadioBackhaulStaParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"MACAddress", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBackhaulSta_MACAddress, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceRadioCapabilitiesObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"CapableOperatingClassProfile", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfileInst, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfileParams, NULL, BBFDM_BOTH, (const char *[]){"Class", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceRadioCapabilitiesParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"HTCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioCapabilities_HTCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"VHTCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioCapabilities_VHTCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"HECapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioCapabilities_HECapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"CapableOperatingClassProfileNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioCapabilities_CapableOperatingClassProfileNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}. *** */ +DMLEAF tWiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfileParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"Class", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_Class, NULL, NULL, NULL, BBFDM_BOTH}, +{"MaxTxPower", &DMREAD, DMT_INT, get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_MaxTxPower, NULL, NULL, NULL, BBFDM_BOTH}, +{"NonOperable", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_NonOperable, NULL, NULL, NULL, BBFDM_BOTH}, +{"NumberOfNonOperChan", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfile_NumberOfNonOperChan, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}. *** */ +DMLEAF tWiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfileParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"Class", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_Class, NULL, NULL, NULL, BBFDM_BOTH}, +{"Channel", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_Channel, NULL, NULL, NULL, BBFDM_BOTH}, +{"TxPower", &DMREAD, DMT_INT, get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_TxPower, NULL, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfile_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceRadioBSSObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"STA", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioBSSSTAInst, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioBSSSTAParams, NULL, BBFDM_BOTH, (const char *[]){"MACAddress", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceRadioBSSParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"BSSID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_BSSID, NULL, NULL, NULL, BBFDM_BOTH}, +{"SSID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_SSID, NULL, NULL, NULL, BBFDM_BOTH}, +{"Enabled", &DMREAD, DMT_BOOL, get_WiFiDataElementsNetworkDeviceRadioBSS_Enabled, NULL, NULL, NULL, BBFDM_BOTH}, +{"LastChange", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_LastChange, NULL, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{"UnicastBytesSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_UnicastBytesSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"UnicastBytesReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_UnicastBytesReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"MulticastBytesSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_MulticastBytesSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"MulticastBytesReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_MulticastBytesReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"BroadcastBytesSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_BroadcastBytesSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"BroadcastBytesReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_BroadcastBytesReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"EstServiceParametersBE", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersBE, NULL, NULL, NULL, BBFDM_BOTH}, +{"EstServiceParametersBK", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersBK, NULL, NULL, NULL, BBFDM_BOTH}, +{"EstServiceParametersVI", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersVI, NULL, NULL, NULL, BBFDM_BOTH}, +{"EstServiceParametersVO", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSS_EstServiceParametersVO, NULL, NULL, NULL, BBFDM_BOTH}, +{"STANumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSS_STANumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}. *** */ +DMLEAF tWiFiDataElementsNetworkDeviceRadioBSSSTAParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"MACAddress", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_MACAddress, NULL, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{"HTCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_HTCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"VHTCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_VHTCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"HECapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_HECapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"LastDataDownlinkRate", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_LastDataDownlinkRate, NULL, NULL, NULL, BBFDM_BOTH}, +{"LastDataUplinkRate", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_LastDataUplinkRate, NULL, NULL, NULL, BBFDM_BOTH}, +{"UtilizationReceive", &DMREAD, DMT_UNLONG, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_UtilizationReceive, NULL, NULL, NULL, BBFDM_BOTH}, +{"UtilizationTransmit", &DMREAD, DMT_UNLONG, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_UtilizationTransmit, NULL, NULL, NULL, BBFDM_BOTH}, +{"EstMACDataRateDownlink", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_EstMACDataRateDownlink, NULL, NULL, NULL, BBFDM_BOTH}, +{"EstMACDataRateUplink", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_EstMACDataRateUplink, NULL, NULL, NULL, BBFDM_BOTH}, +{"SignalStrength", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_SignalStrength, NULL, NULL, NULL, BBFDM_BOTH}, +{"LastConnectTime", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_LastConnectTime, NULL, NULL, NULL, BBFDM_BOTH}, +{"BytesSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_BytesSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"BytesReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_BytesReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"PacketsSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_PacketsSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"PacketsReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_PacketsReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"ErrorsSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_ErrorsSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"ErrorsReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_ErrorsReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"RetransCount", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_RetransCount, NULL, NULL, NULL, BBFDM_BOTH}, +{"MeasurementReport", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_MeasurementReport, NULL, NULL, NULL, BBFDM_BOTH}, +{"NumberOfMeasureReports", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_NumberOfMeasureReports, NULL, NULL, NULL, BBFDM_BOTH}, +{"IPV4Address", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_IPV4Address, NULL, NULL, NULL, BBFDM_BOTH}, +{"IPV6Address", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_IPV6Address, NULL, NULL, NULL, BBFDM_BOTH}, +{"Hostname", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioBSSSTA_Hostname, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"OpClassScan", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanInst, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanObj, tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanParams, NULL, BBFDM_BOTH, (const char *[]){"OperatingClass", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioScanResult_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{"OpClassScanNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResult_OpClassScanNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"ChannelScan", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanInst, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanObj, tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanParams, NULL, BBFDM_BOTH, (const char *[]){"Channel", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"OperatingClass", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScan_OperatingClass, NULL, NULL, NULL, BBFDM_BOTH}, +{"ChannelScanNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScan_ChannelScanNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}. *** */ +DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"NeighborBSS", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSSInst, NULL, NULL, NULL, NULL, tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSSParams, NULL, BBFDM_BOTH, (const char *[]){"BSSID", NULL}}, +{0} +}; + +DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"Channel", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_Channel, NULL, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{"Utilization", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_Utilization, NULL, NULL, NULL, BBFDM_BOTH}, +{"Noise", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_Noise, NULL, NULL, NULL, BBFDM_BOTH}, +{"NeighborBSSNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScan_NeighborBSSNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}. *** */ +DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSSParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"BSSID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_BSSID, NULL, NULL, NULL, BBFDM_BOTH}, +{"SSID", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_SSID, NULL, NULL, NULL, BBFDM_BOTH}, +{"SignalStrength", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_SignalStrength, NULL, NULL, NULL, BBFDM_BOTH}, +{"ChannelBandwidth", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_ChannelBandwidth, NULL, NULL, NULL, BBFDM_BOTH}, +{"ChannelUtilization", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_ChannelUtilization, NULL, NULL, NULL, BBFDM_BOTH}, +{"StationCount", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSS_StationCount, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTA.{i}. *** */ +DMLEAF tWiFiDataElementsNetworkDeviceRadioUnassociatedSTAParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"MACAddress", &DMREAD, DMT_STRING, get_WiFiDataElementsNetworkDeviceRadioUnassociatedSTA_MACAddress, NULL, NULL, NULL, BBFDM_BOTH}, +{"SignalStrength", &DMREAD, DMT_UNINT, get_WiFiDataElementsNetworkDeviceRadioUnassociatedSTA_SignalStrength, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.AssociationEvent. *** */ +DMOBJ tWiFiDataElementsAssociationEventObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"AssociationEventData", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsAssociationEventAssociationEventDataInst, NULL, NULL, NULL, NULL, tWiFiDataElementsAssociationEventAssociationEventDataParams, NULL, BBFDM_BOTH}, +{0} +}; + +DMLEAF tWiFiDataElementsAssociationEventParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"AssociationEventDataNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsAssociationEvent_AssociationEventDataNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}. *** */ +DMLEAF tWiFiDataElementsAssociationEventAssociationEventDataParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"BSSID", &DMREAD, DMT_STRING, get_WiFiDataElementsAssociationEventAssociationEventData_BSSID, NULL, NULL, NULL, BBFDM_BOTH}, +{"MACAddress", &DMREAD, DMT_STRING, get_WiFiDataElementsAssociationEventAssociationEventData_MACAddress, NULL, NULL, NULL, BBFDM_BOTH}, +{"StatusCode", &DMREAD, DMT_UNINT, get_WiFiDataElementsAssociationEventAssociationEventData_StatusCode, NULL, NULL, NULL, BBFDM_BOTH}, +{"HTCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsAssociationEventAssociationEventData_HTCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"VHTCapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsAssociationEventAssociationEventData_VHTCapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"HECapabilities", &DMREAD, DMT_STRING, get_WiFiDataElementsAssociationEventAssociationEventData_HECapabilities, NULL, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsAssociationEventAssociationEventData_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.DisassociationEvent. *** */ +DMOBJ tWiFiDataElementsDisassociationEventObj[] = { +/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"DisassociationEventData", &DMREAD, NULL, NULL, NULL, browseWiFiDataElementsDisassociationEventDisassociationEventDataInst, NULL, NULL, NULL, NULL, tWiFiDataElementsDisassociationEventDisassociationEventDataParams, NULL, BBFDM_BOTH}, +{0} +}; + +DMLEAF tWiFiDataElementsDisassociationEventParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"DisassociationEventDataNumberOfEntries", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEvent_DisassociationEventDataNumberOfEntries, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; + +/* *** Device.WiFi.DataElements.DisassociationEvent.DisassociationEventData.{i}. *** */ +DMLEAF tWiFiDataElementsDisassociationEventDisassociationEventDataParams[] = { +/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/ +{"BSSID", &DMREAD, DMT_STRING, get_WiFiDataElementsDisassociationEventDisassociationEventData_BSSID, NULL, NULL, NULL, BBFDM_BOTH}, +{"MACAddress", &DMREAD, DMT_STRING, get_WiFiDataElementsDisassociationEventDisassociationEventData_MACAddress, NULL, NULL, NULL, BBFDM_BOTH}, +{"ReasonCode", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_ReasonCode, NULL, NULL, NULL, BBFDM_BOTH}, +{"BytesSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_BytesSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"BytesReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_BytesReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"PacketsSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_PacketsSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"PacketsReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_PacketsReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"ErrorsSent", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_ErrorsSent, NULL, NULL, NULL, BBFDM_BOTH}, +{"ErrorsReceived", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_ErrorsReceived, NULL, NULL, NULL, BBFDM_BOTH}, +{"RetransCount", &DMREAD, DMT_UNINT, get_WiFiDataElementsDisassociationEventDisassociationEventData_RetransCount, NULL, NULL, NULL, BBFDM_BOTH}, +{"TimeStamp", &DMREAD, DMT_STRING, get_WiFiDataElementsDisassociationEventDisassociationEventData_TimeStamp, NULL, NULL, NULL, BBFDM_BOTH}, +{0} +}; diff --git a/dmtree/tr181/wifi-dataelements.h b/dmtree/tr181/wifi-dataelements.h new file mode 100644 index 00000000..8040b6ba --- /dev/null +++ b/dmtree/tr181/wifi-dataelements.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020 iopsys Software Solutions AB + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1 + * as published by the Free Software Foundation + * + * Author: Saurabh Verma + * + */ + +#ifndef __WIFI_DATAELEMENTS_H +#define __WIFI_DATAELEMENTS_H + +#include + +extern DMOBJ tWiFiDataElementsObj[]; +extern DMOBJ tWiFiDataElementsNetworkObj[]; +extern DMLEAF tWiFiDataElementsNetworkParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceRadioObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioParams[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioBackhaulStaParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceRadioCapabilitiesObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioCapabilitiesParams[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioCapabilitiesCapableOperatingClassProfileParams[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioCurrentOperatingClassProfileParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceRadioBSSObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioBSSParams[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioBSSSTAParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanParams[]; +extern DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanObj[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanParams[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSSParams[]; +extern DMLEAF tWiFiDataElementsNetworkDeviceRadioUnassociatedSTAParams[]; +extern DMOBJ tWiFiDataElementsAssociationEventObj[]; +extern DMLEAF tWiFiDataElementsAssociationEventParams[]; +extern DMLEAF tWiFiDataElementsAssociationEventAssociationEventDataParams[]; +extern DMOBJ tWiFiDataElementsDisassociationEventObj[]; +extern DMLEAF tWiFiDataElementsDisassociationEventParams[]; +extern DMLEAF tWiFiDataElementsDisassociationEventDisassociationEventDataParams[]; +#endif diff --git a/dmtree/tr181/wifi.c b/dmtree/tr181/wifi.c index fe9ee4e0..29070cfa 100644 --- a/dmtree/tr181/wifi.c +++ b/dmtree/tr181/wifi.c @@ -15,6 +15,7 @@ #include "wepkey.h" #include "wifi.h" #include "os.h" +#include "wifi-dataelements.h" /************************************************************************** @@ -2196,6 +2197,7 @@ int set_neighboring_wifi_diagnostics_diagnostics_state(char *refparam, struct dm /* *** Device.WiFi. *** */ DMOBJ tWiFiObj[] = { /* OBJ, permission, addobj, delobj, checkdep, browseinstobj, forced_inform, notification, nextdynamicobj, nextobj, leaf, linker, bbfdm_type*/ +{"DataElements", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tWiFiDataElementsObj, NULL, NULL, BBFDM_BOTH}, {"Radio", &DMREAD, NULL, NULL, NULL, browseWifiRadioInst, NULL, NULL, NULL, tWiFiRadioObj, tWiFiRadioParams, get_linker_Wifi_Radio, BBFDM_BOTH, (const char *[]){"Name", "Alias", NULL}}, {"SSID", &DMWRITE, add_wifi_ssid, delete_wifi_ssid, NULL, browseWifiSsidInst, NULL, NULL, NULL, tWiFiSSIDObj, tWiFiSSIDParams, get_linker_Wifi_Ssid, BBFDM_BOTH, (const char *[]){"Name", "Alias", "BSSID", NULL}}, {"AccessPoint", &DMWRITE, add_wifi_accesspoint, delete_wifi_accesspoint, NULL, browseWifiAccessPointInst, NULL, NULL, NULL, tWiFiAccessPointObj, tWiFiAccessPointParams, NULL, BBFDM_BOTH, (const char *[]){"SSIDReference", "Alias", NULL}}, diff --git a/json/tr181.json b/json/tr181.json index a38c10be..76be80e8 100644 --- a/json/tr181.json +++ b/json/tr181.json @@ -27662,8 +27662,19 @@ "cwmp", "usp" ], - "access": false, - "array": false, + "access": false, + "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0]" + } + } + ], "Device.WiFi.DataElements.Network.": { "type": "object", "protocols": [ @@ -27671,7 +27682,18 @@ "usp" ], "access": false, - "array": false, + "array": false, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network" + } + } + ], "ID": { "type": "string", "read": true, @@ -27680,7 +27702,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.ID" + } + } + ] }, "TimeStamp": { "type": "string", @@ -27690,7 +27723,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.TimeStamp" + } + } + ] }, "ControllerID": { "type": "string", @@ -27700,7 +27744,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.ControllerID" + } + } + ] }, "DeviceNumberOfEntries": { "type": "unsignedInt", @@ -27710,7 +27765,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.NumberOfDevices" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.": { "type": "object", @@ -27739,6 +27805,17 @@ ], "pattern": [ "([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])" + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].ID" + } + } ] }, "MultiAPCapabilities": { @@ -27766,7 +27843,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "milliseconds" + "unit": "milliseconds", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].CollectionInterval" + } + } + ] }, "RadioNumberOfEntries": { "type": "unsignedInt", @@ -27776,7 +27864,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].NumberOfRadios" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.": { "type": "object", @@ -27789,6 +27888,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList" + } + } + ], "ID": { "type": "base64", "read": true, @@ -27803,6 +27913,17 @@ "min": 6, "max": 6 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].ID" + } + } ] }, "Enabled": { @@ -27813,7 +27934,18 @@ "cwmp", "usp" ], - "datatype": "boolean" + "datatype": "boolean", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Enabled" + } + } + ] }, "Noise": { "type": "unsignedInt", @@ -27828,6 +27960,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Noise" + } + } ] }, "Utilization": { @@ -27844,6 +27987,17 @@ "min": 0, "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Utilization" + } + } ] }, "Transmit": { @@ -27860,6 +28014,17 @@ "min": 0, "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Transmit" + } + } ] }, "ReceiveSelf": { @@ -27875,6 +28040,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].ReceiveSelf" + } + } ] }, "ReceiveOther": { @@ -27891,6 +28067,17 @@ "min": 0, "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].RecieveOther" + } + } ] }, "CurrentOperatingClassProfileNumberOfEntries": { @@ -27901,7 +28088,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfCurrOpClass" + } + } + ] }, "UnassociatedSTANumberOfEntries": { "type": "unsignedInt", @@ -27911,7 +28109,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfUnassocSta" + } + } + ] }, "BSSNumberOfEntries": { "type": "unsignedInt", @@ -27921,7 +28130,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfBSS" + } + } + ] }, "ScanResultNumberOfEntries": { "type": "unsignedInt", @@ -27931,7 +28151,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].NumberOfScanRes" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BackhaulSta.": { "type": "object", @@ -27957,6 +28188,17 @@ ], "pattern": [ "([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])" + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BackhaulSta.MACAddress" + } + } ] } }, @@ -27982,6 +28224,17 @@ "min": 1, "max": 1 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.HTCapabilities" + } + } ] }, "VHTCapabilities": { @@ -27998,6 +28251,17 @@ "min": 2, "max": 6 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.VHTCapabilities" + } + } ] }, "HECapabilities": { @@ -28014,6 +28278,17 @@ "min": 4, "max": 14 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.HECapabilities" + } + } ] }, "CapableOperatingClassProfileNumberOfEntries": { @@ -28024,7 +28299,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.NumberOfOpClass" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}.": { "type": "object", @@ -28037,6 +28323,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses" + } + } + ], "Class": { "type": "unsignedInt", "read": true, @@ -28050,6 +28347,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].Class" + } + } ] }, "MaxTxPower": { @@ -28067,7 +28375,18 @@ "max": 127 } ], - "unit": "dBm" + "unit": "dBm", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].MaxTxPower" + } + } + ] }, "NonOperable": { "type": "string", @@ -28084,7 +28403,18 @@ "max": 255 } ] - } + }, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].NonOperable" + } + } + ] }, "NumberOfNonOperChan": { "type": "unsignedInt", @@ -28094,7 +28424,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].Capabilites.OperatingClasses[@i-1].NumberOfNonOperChan" + } + } + ] } } }, @@ -28109,6 +28450,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses" + } + } + ], "Class": { "type": "unsignedInt", "read": true, @@ -28122,6 +28474,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].Class" + } + } ] }, "Channel": { @@ -28137,6 +28500,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].Channel" + } + } ] }, "TxPower": { @@ -28154,7 +28528,18 @@ "max": 127 } ], - "unit": "dBm" + "unit": "dBm", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].TxPower" + } + } + ] }, "TimeStamp": { "type": "string", @@ -28164,7 +28549,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].CurrentOperatingClasses[@i-1].TimeStamp" + } + } + ] } }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.": { @@ -28178,6 +28574,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList" + } + } + ], "BSSID": { "type": "string", "read": true, @@ -28194,6 +28601,17 @@ ], "pattern": [ "([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])" + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].BSSID" + } + } ] }, "SSID": { @@ -28204,7 +28622,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].SSID" + } + } + ] }, "Enabled": { "type": "boolean", @@ -28214,7 +28643,18 @@ "cwmp", "usp" ], - "datatype": "boolean" + "datatype": "boolean", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].Enabled" + } + } + ] }, "LastChange": { "type": "unsignedInt", @@ -28225,7 +28665,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "seconds" + "unit": "seconds", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].LastChange" + } + } + ] }, "TimeStamp": { "type": "string", @@ -28235,7 +28686,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].TimeStamp" + } + } + ] }, "UnicastBytesSent": { "type": "unsignedInt", @@ -28245,7 +28707,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].UnicastBytesSent" + } + } + ] }, "UnicastBytesReceived": { "type": "unsignedInt", @@ -28255,7 +28728,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].UnicastBytesReceived" + } + } + ] }, "MulticastBytesSent": { "type": "unsignedInt", @@ -28265,7 +28749,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].MulticastBytesSent" + } + } + ] }, "MulticastBytesReceived": { "type": "unsignedInt", @@ -28275,7 +28770,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].MulticastBytesReceived" + } + } + ] }, "BroadcastBytesSent": { "type": "unsignedInt", @@ -28285,7 +28791,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].BroadcastBytesSent" + } + } + ] }, "BroadcastBytesReceived": { "type": "unsignedInt", @@ -28295,7 +28812,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].BroadcastBytesReceived" + } + } + ] }, "EstServiceParametersBE": { "type": "base64", @@ -28311,6 +28839,17 @@ "min": 0, "max": 3 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersBE" + } + } ] }, "EstServiceParametersBK": { @@ -28327,6 +28866,17 @@ "min": 0, "max": 3 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersBK" + } + } ] }, "EstServiceParametersVI": { @@ -28343,6 +28893,17 @@ "min": 0, "max": 3 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersVI" + } + } ] }, "EstServiceParametersVO": { @@ -28359,6 +28920,17 @@ "min": 0, "max": 3 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].EstServiceParametersVO" + } + } ] }, "STANumberOfEntries": { @@ -28369,7 +28941,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].NumberofSTA" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.": { "type": "object", @@ -28382,6 +28965,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList" + } + } + ], "MACAddress": { "type": "string", "read": true, @@ -28398,6 +28992,17 @@ ], "pattern": [ "([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])" + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].MACAddress" + } + } ] }, "TimeStamp": { @@ -28408,7 +29013,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].TimeStamp" + } + } + ] }, "HTCapabilities": { "type": "base64", @@ -28424,6 +29040,17 @@ "min": 1, "max": 1 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].HTCapabilities" + } + } ] }, "VHTCapabilities": { @@ -28440,6 +29067,17 @@ "min": 2, "max": 6 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].VHTCapabilities" + } + } ] }, "HECapabilities": { @@ -28456,6 +29094,17 @@ "min": 4, "max": 14 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].HECapabilities" + } + } ] }, "LastDataDownlinkRate": { @@ -28467,7 +29116,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "kbps" + "unit": "kbps", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].LastDataDownlinkRate" + } + } + ] }, "LastDataUplinkRate": { "type": "unsignedInt", @@ -28478,7 +29138,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "kbps" + "unit": "kbps", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].LastDataUplinkRate" + } + } + ] }, "UtilizationReceive": { "type": "unsignedLong", @@ -28489,7 +29160,18 @@ "usp" ], "datatype": "unsignedLong", - "unit": "milliseconds" + "unit": "milliseconds", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].UtilizationReceive" + } + } + ] }, "UtilizationTransmit": { "type": "unsignedLong", @@ -28500,7 +29182,18 @@ "usp" ], "datatype": "unsignedLong", - "unit": "milliseconds" + "unit": "milliseconds", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].UtilizationTransmit" + } + } + ] }, "EstMACDataRateDownlink": { "type": "unsignedInt", @@ -28511,7 +29204,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "Mbps" + "unit": "Mbps", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].EstMACDataRateDownlink" + } + } + ] }, "EstMACDataRateUplink": { "type": "unsignedInt", @@ -28522,7 +29226,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "Mbps" + "unit": "Mbps", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].EstMACDataRateUplink" + } + } + ] }, "SignalStrength": { "type": "unsignedInt", @@ -28538,7 +29253,18 @@ "max": 255 } ], - "unit": "dBm" + "unit": "dBm", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].SignalStrength" + } + } + ] }, "LastConnectTime": { "type": "unsignedInt", @@ -28549,7 +29275,18 @@ "usp" ], "datatype": "unsignedInt", - "unit": "seconds" + "unit": "seconds", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].LastConnectTime" + } + } + ] }, "BytesSent": { "type": "unsignedInt", @@ -28559,7 +29296,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].BytesSent" + } + } + ] }, "BytesReceived": { "type": "unsignedInt", @@ -28569,7 +29317,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].BytesReceived" + } + } + ] }, "PacketsSent": { "type": "unsignedInt", @@ -28579,7 +29338,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].PacketsSent" + } + } + ] }, "PacketsReceived": { "type": "unsignedInt", @@ -28589,7 +29359,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].PacketsReceived" + } + } + ] }, "ErrorsSent": { "type": "unsignedInt", @@ -28599,7 +29380,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].ErrorsSent" + } + } + ] }, "ErrorsReceived": { "type": "unsignedInt", @@ -28609,7 +29401,18 @@ "cwmp", "usp" ], - "datatype": "StatsCounter64" + "datatype": "StatsCounter64", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].ErrorsReceived" + } + } + ] }, "RetransCount": { "type": "unsignedInt", @@ -28631,7 +29434,18 @@ ], "list": { "datatype": "base64" - } + }, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].Measurementreport" + } + } + ] }, "NumberOfMeasureReports": { "type": "unsignedInt", @@ -28641,7 +29455,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].NumberOfMeasureReports" + } + } + ] }, "IPV4Address": { "type": "string", @@ -28684,7 +29509,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].STAList[@i-1].Hostname" + } + } + ] } } }, @@ -28696,6 +29532,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList" + } + } + ], "TimeStamp": { "type": "string", "read": true, @@ -28704,7 +29551,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].TimeStamp" + } + } + ] }, "OpClassScanNumberOfEntries": { "type": "unsignedInt", @@ -28714,7 +29572,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].NumberOfOpClassScans" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.": { "type": "object", @@ -28727,6 +29596,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList" + } + } + ], "OperatingClass": { "type": "unsignedInt", "read": true, @@ -28740,6 +29620,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].OperatingClass" + } + } ] }, "ChannelScanNumberOfEntries": { @@ -28750,7 +29641,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].NumberOfChannelScans" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.": { "type": "object", @@ -28763,6 +29665,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList" + } + } + ], "Channel": { "type": "unsignedInt", "read": true, @@ -28776,6 +29689,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].Channel" + } + } ] }, "TimeStamp": { @@ -28786,7 +29710,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].TimeStamp" + } + } + ] }, "Utilization": { "type": "unsignedInt", @@ -28801,6 +29736,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].Utilization" + } + } ] }, "Noise": { @@ -28816,6 +29762,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].Noise" + } + } ] }, "NeighborBSSNumberOfEntries": { @@ -28826,7 +29783,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NumberofNeighbors" + } + } + ] }, "Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}.": { "type": "object", @@ -28839,6 +29807,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList" + } + } + ], "BSSID": { "type": "string", "read": true, @@ -28855,6 +29834,17 @@ ], "pattern": [ "([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])" + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].BSSID" + } + } ] }, "SSID": { @@ -28865,7 +29855,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].SSID" + } + } + ] }, "SignalStrength": { "type": "unsignedInt", @@ -28881,7 +29882,18 @@ "max": 255 } ], - "unit": "dBm" + "unit": "dBm", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].SignalStrengh" + } + } + ] }, "ChannelBandwidth": { "type": "string", @@ -28891,7 +29903,18 @@ "cwmp", "usp" ], - "datatype": "string" + "datatype": "string", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].ChannelBandwidth" + } + } + ] }, "ChannelUtilization": { "type": "unsignedInt", @@ -28906,6 +29929,17 @@ { "max": 255 } + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].ChannelUtilization" + } + } ] }, "StationCount": { @@ -28916,7 +29950,18 @@ "cwmp", "usp" ], - "datatype": "unsignedInt" + "datatype": "unsignedInt", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].BSSList[@i-1].ScanResultList[@i-1].OpClassScanList[@i-1].ChannelScanList[@i-1].NeighborList[@i-1].StationCount" + } + } + ] } } } @@ -28933,6 +29978,17 @@ ], "access": false, "array": true, + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].UnassociatedStaList" + } + } + ], "MACAddress": { "type": "string", "read": true, @@ -28949,6 +30005,17 @@ ], "pattern": [ "([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])" + ], + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].UnassociatedStaList[@i-1].MACAddress" + } + } ] }, "SignalStrength": { @@ -28965,7 +30032,18 @@ "max": 255 } ], - "unit": "dBm" + "unit": "dBm", + "mapping": [ + { + "type": "ubus", + "ubus": { + "object": "wifi.dataelements.collector", + "method": "dump", + "args": {}, + "key": "data[0].wfa-dataelements:Network.DeviceList[@i-1].RadioList[@i-1].UnassociatedStaList[@i-1].SignalStrength" + } + } + ] } } }