#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)); } mbag_set_byte(conn->config,CW_ITEM_ECN_SUPPORT,get_ecn_support()); 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); } return 0; }