2016-03-05 14:31:31 +01:00
|
|
|
|
|
|
|
#include "cw/capwap_items.h"
|
|
|
|
#include "cw/format.h"
|
|
|
|
|
|
|
|
#include "wtp.h"
|
|
|
|
#include "wtp_conf.h"
|
|
|
|
#include "wtp_interface.h"
|
|
|
|
|
|
|
|
|
|
|
|
int setup_conf(struct conn * conn)
|
|
|
|
{
|
|
|
|
conn->base_rmac = get_base_rmac();
|
|
|
|
|
|
|
|
/* Configure WTP Name */
|
|
|
|
struct mbag_item * n = mbag_get(conn->config,CW_ITEM_WTP_NAME);
|
|
|
|
if (!n) {
|
|
|
|
/* If no name was read from cfg, build a name from
|
|
|
|
* base rmac */
|
|
|
|
char name[32];
|
|
|
|
strcpy(name,WTP_DEFAULT_NAME_PREFIX);
|
|
|
|
int l = cw_format_hexu(name+strlen(WTP_DEFAULT_NAME_PREFIX),
|
|
|
|
bstr_data(conn->base_rmac),bstr_len(conn->base_rmac));
|
|
|
|
|
|
|
|
name[l+strlen(WTP_DEFAULT_NAME_PREFIX)]=0;
|
|
|
|
|
|
|
|
mbag_set_str(conn->config,CW_ITEM_WTP_NAME,name);
|
|
|
|
}
|
|
|
|
|
|
|
|
n = mbag_get(conn->config,CW_ITEM_LOCATION_DATA);
|
|
|
|
if (!n) {
|
|
|
|
mbag_set_str(conn->config,CW_ITEM_LOCATION_DATA,WTP_DEFAULT_LOCATION_DATA);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
n = mbag_get(conn->config,CW_ITEM_WTP_HARDWARE_VERSION);
|
|
|
|
if (!n) {
|
|
|
|
mbag_set_bstrv(conn->config, CW_ITEM_WTP_HARDWARE_VERSION,
|
|
|
|
CONF_DEFAULT_HARDWARE_VENDOR_ID,
|
|
|
|
(uint8_t*)CONF_DEFAULT_HARDWARE_VERSION,
|
|
|
|
strlen(CONF_DEFAULT_HARDWARE_VERSION));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
n = mbag_get(conn->config,CW_ITEM_WTP_BOOTLOADER_VERSION);
|
|
|
|
if (!n) {
|
|
|
|
mbag_set_bstrv(conn->config, CW_ITEM_WTP_BOOTLOADER_VERSION,
|
|
|
|
CONF_DEFAULT_BOOTLOADER_VENDOR_ID,
|
|
|
|
(uint8_t*)CONF_DEFAULT_BOOTLOADER_VERSION,
|
|
|
|
strlen(CONF_DEFAULT_BOOTLOADER_VERSION));
|
|
|
|
}
|
|
|
|
|
|
|
|
n = mbag_get(conn->config,CW_ITEM_WTP_SOFTWARE_VERSION);
|
|
|
|
if (!n) {
|
|
|
|
mbag_set_bstrv(conn->config, CW_ITEM_WTP_SOFTWARE_VERSION,
|
|
|
|
CONF_DEFAULT_SOFTWARE_VENDOR_ID,
|
|
|
|
(uint8_t*)CONF_DEFAULT_SOFTWARE_VERSION,
|
|
|
|
strlen(CONF_DEFAULT_SOFTWARE_VERSION));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-03-06 16:48:49 +01:00
|
|
|
mbag_set_byte(conn->config,CW_ITEM_ECN_SUPPORT,get_ecn_support());
|
2016-03-05 14:31:31 +01:00
|
|
|
|
2016-03-11 18:16:13 +01:00
|
|
|
n = mbag_get(conn->config,CW_ITEM_WTP_REBOOT_STATISTICS);
|
|
|
|
if (!n){
|
|
|
|
mbag_t rs =mbag_create();
|
|
|
|
mbag_set_mbag(conn->config, CW_ITEM_WTP_REBOOT_STATISTICS,rs);
|
|
|
|
|
|
|
|
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_AC_INITIATED_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_LINK_FAILURE_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_SW_FAILURE_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_HW_FAILURE_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_OTHER_FAILURE_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_UNKNOWN_FAILURE_COUNT,0);
|
|
|
|
mbag_set_dword(rs,CW_ITEM_REBOOT_LAST_FAILURE_TYPE, CW_REBOOT_TYPE_NOT_SUPPORTED);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-03-05 14:31:31 +01:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|