actube/src/wtp/setup_conf.c

67 lines
1.6 KiB
C
Raw Normal View History

#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());
return 0;
}