More work to get radio operational state working

FossilOrigin-Name: 5a8166b800110991971de4c0d46c8c20e16981a41eeb45ab7c6a8b8819d0472a
This commit is contained in:
7u83@mail.ru
2016-04-12 05:47:55 +00:00
parent cd316e35bb
commit 009bc16908
4 changed files with 95 additions and 80 deletions

View File

@ -38,29 +38,6 @@ struct cw_actiondef capwap_actions;
int handle_update_req(struct conn *conn, struct cw_action_in *a, uint8_t * data,
int len, struct sockaddr *from)
{
MAVLITER_DEFINE(it, conn->incomming);
mavliter_foreach(&it) {
mbag_item_t *item = mavliter_get(&it);
// printf("MBAG ITEM GOT: %s\n",item->id);
if (item->id == CW_ITEM_LOCATION_DATA) {
printf("Location Data %s\n",mbag_get_str(conn->incomming,CW_ITEM_LOCATION_DATA,"ups"));
}
}
cw_dbg(DBG_INFO, "Saving configuration ...");
cfg_to_json();
// exit(0);
return 0;
}
const char *t = CW_ITEM_WTP_NAME;
@ -128,14 +105,15 @@ int main()
dtls_init();
the_conn = conn_create_noq(-1, NULL);
struct conn *conn = the_conn;
conn->radios = mbag_i_create();
conn->radios_upd=conn->radios;
conn->radios_upd=mbag_i_create();
mbag_i_set_mbag(conn->radios,0,mbag_create());
// mbag_i_set_mbag(conn->radios,1,mbag_create());
// mbag_set_mbag(conn->radios,0xff,mbag_create());
mbag_i_set_mbag(conn->radios_upd,0,mbag_create());
@ -159,42 +137,22 @@ int main()
exit(0);
}
printf("add capwap80211\n");
int rc = mod->register_actions(&capwap_actions,MOD_MODE_BINDINGS);
printf("Out reg = %d\n",rc);
conn->detected = 1;
conn->dtls_verify_peer=0;
conn->dtls_mtu = 2000;
/*
MAVLITER_DEFINE(it,capwap_actions.strelem);
mavliter_foreach(&it){
struct cw_str *s = mavliter_get(&it);
}
*/
////cw_register_actions_capwap_80211_wtp(&capwap_actions);
conn->actions = &capwap_actions;
conn->outgoing = mbag_create();
conn->incomming = mbag_create();
conn->local = mbag_create();
// conn->base_rmac = get_base_rmac();
// conn->capwap_mode = CW_MODE_CAPWAP;
//conn->capwap_mode = CW_MODE_CISCO;
conn->config = mbag_create();
the_conn->strict_capwap = 0;
conn->config = mbag_create();
cfg_from_json(conn);
setup_conf(conn);
@ -226,29 +184,6 @@ printf("Setting to 8 %p %p\n",mri,r);
mod_init_config(mod,conn->config);
cfg_to_json();
// mbag_t board_data = mbag_create();
// mbag_set_dword(board_data, CW_ITEM_WTP_BOARD_VENDOR, conf_vendor_id);
// mbag_set_bstrn(board_data, CW_ITEM_WTP_BOARD_MACADDRESS, conf_macaddress,
// conf_macaddress_len);
// mbag_set_bstr16n(board_data, CW_ITEM_WTP_BOARD_SERIALNO,
// bstr_data(conf_serial_no), bstr_len(conf_serial_no));
// mbag_set_bstr16n(board_data, CW_ITEM_WTP_BOARD_MODELNO, bstr_data(conf_model_no),
// bstr_len(conf_model_no));
// mbag_set_mbag(conn->config, CW_ITEM_WTP_BOARD_DATA, board_data);
// mbag_set_bstrv(conn->config, CW_ITEM_WTP_SOFTWARE_VERSION, sw);
// printf("Board_data %p\n", board_data);
mbag_t mb = mbag_get_mbag(conn->config, CW_ITEM_WTP_BOARD_DATA, NULL);
printf("mbag %p\n", mb);
@ -258,20 +193,15 @@ printf("Setting to 8 %p %p\n",mri,r);
cw_acpriolist_set(acprios, "AC8new", strlen("AC8new"), 12);
//mbag_set_str(conn->config,CW_ITEM_LOCATION_DATA,"Berlin");
//mbag_set_str(conn->config,CW_ITEM_WTP_NAME,"WTP Tube");
mbag_set_byte(conn->local, CW_ITEM_WTP_MAC_TYPE, 0);
mbag_set_byte(conn->local, CW_ITEM_WTP_FRAME_TUNNEL_MODE, 0);
conn->wbid=1;
cw_set_msg_end_callback(conn->actions,CW_STATE_RUN,CW_MSG_CONFIGURATION_UPDATE_REQUEST,handle_update_req);
//cw_set_msg_end_callback(conn,CW_STATE_CONFIGURE,CW_MSG_CONFIGURATION_STATUS_RESPONSE,handle_update_req);
// cw_set_msg_end_callback(conn->actions,CW_STATE_RUN,CW_MSG_CONFIGURATION_UPDATE_REQUEST,handle_update_req);
if (!discovery())
@ -279,8 +209,6 @@ cw_set_msg_end_callback(conn->actions,CW_STATE_RUN,CW_MSG_CONFIGURATION_UPDATE_R
if (!join())
return -1;
// mavl_del_all(conn->incomming);
// conn->incomming = conn->config;
if (!configure())
return -1;