Configuration Update Request implemented

FossilOrigin-Name: 512ddfe97e9f76c9db9e3d40d6ec54b48951d9aaec609b63994cab263e9dae1f
This commit is contained in:
7u83@mail.ru
2018-04-18 09:00:44 +00:00
parent d786fa1928
commit 25776eaacf
8 changed files with 93 additions and 22 deletions

View File

@ -32,7 +32,7 @@ endif
#SRC=$(wildcard *.c)
SRC=wtp_main.c discovery.c join.c configure.c
SRC=wtp_main.c discovery.c join.c configure.c run.c
OBJS=$(patsubst %.c,%.o,$(SRC))
OBJS:=$(patsubst %.o,$(OBJDIR)/%.o,$(OBJS))

View File

@ -10,7 +10,7 @@
#include "cw/dtls.h"
#include "cw/sock.h"
#include "cw/cw_util.h"
#include "cw/capwap_items.h"
#include "wtp_conf.h"
@ -29,6 +29,7 @@
int update =0;
/*
int handle_update_req(struct conn *conn, struct cw_action_in *a, uint8_t * data,
int len, struct sockaddr *from)
{
@ -53,16 +54,19 @@ cw_dbg(DBG_X,"Saving configuration ...");
}
*/
/*
static void update_radio(struct conn * conn, int rid, mbag_t radio_upd, mbag_t radio,mbag_t iresult )
{
printf("Updating radio with rid %d\n",rid);
}
*/
/*
static void update_radios(struct conn * conn, mbag_t result)
{
MAVLITER_DEFINE (it,conn->radios_upd);
@ -81,20 +85,21 @@ static void update_radios(struct conn * conn, mbag_t result)
}
}
*/
static void do_update(struct conn * conn)
{
int rc;
if (!update)
return;
update=0;
mbag_t result = mbag_create();
/* mbag_t result = mbag_create();
update_radios(conn,result);
cw_dbg(DBG_INFO, "Saving configuration ...");
cfg_to_json();
*/ cw_dbg(DBG_INFO, "Saving configuration ...");
/* cfg_to_json();*/
/* Change State ... */
int rc = cw_send_request(conn,CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST);
rc = cw_send_request(conn,CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST);
if ( !cw_result_is_ok(rc) ) {
cw_strresult(rc);
return ;
@ -107,18 +112,21 @@ static void do_update(struct conn * conn)
int run()
int run(struct conn * conn)
{
struct conn *conn = get_conn();
conn->capwap_state = CW_STATE_RUN;
conn->msg_end=handle_update_req;
/* conn->msg_end=handle_update_req;*/
do {
int echo_interval = mbag_get_word(conn->config,CW_ITEM_CAPWAP_TIMERS,CW_TIMERS)&0xff;
int echo_interval = cw_ktv_get_byte(conn->local_cfg,"capwap-timers/echo-interval",CAPWAP_ECHO_INTERVAL);
/*mbag_get_word(conn->config,CW_ITEM_CAPWAP_TIMERS,CW_TIMERS)&0xff;*/
time_t timer = cw_timer_start(echo_interval);
int rc;
@ -135,7 +143,7 @@ int run()
break;
cw_dbg(DBG_X,"We hav a message processed");
/*cw_dbg(DBG_X,"We hav a message processed");*/
do_update(conn);
@ -162,13 +170,13 @@ int run()
} while (conn->capwap_state == CW_STATE_RUN);
/*
// int rc = cw_send_request(conn,CW_MSG_CHANGE_STATE_EVENT_REQUEST);
// if ( !cw_rcok(rc) ) {
// cw_strresult(rc);
// }
*/
return 0;
}
@ -231,7 +239,7 @@ struct cwrmsg * send_request(struct conn * conn,struct cwmsg *cwmsg)
*/
//extern struct conn * get_conn();
/*//extern struct conn * get_conn();*/
/*
int run(struct conn * conn)

View File

@ -221,6 +221,7 @@ exit(0);
configure(conn);
run(conn);
cw_discovery_free_results(&dis);