Rename CW_ -> CAPWAP_
FossilOrigin-Name: 815905c068277bbfc6cf94cea5cbf44bb71258d56d748028b865ab76346ba085
This commit is contained in:
parent
f0e838de0a
commit
ad79d0a3a4
@ -3,9 +3,9 @@
|
|||||||
<Project Name="ac" Path="ac.project" Active="No"/>
|
<Project Name="ac" Path="ac.project" Active="No"/>
|
||||||
<Project Name="wtp" Path="wtp.project" Active="No"/>
|
<Project Name="wtp" Path="wtp.project" Active="No"/>
|
||||||
<Project Name="mod_cipwap" Path="mod_cipwap.project" Active="No"/>
|
<Project Name="mod_cipwap" Path="mod_cipwap.project" Active="No"/>
|
||||||
<Project Name="mod_capwap" Path="mod_capwap.project" Active="No"/>
|
<Project Name="mod_capwap" Path="mod_capwap.project" Active="Yes"/>
|
||||||
<Project Name="mod_cisco" Path="mod_cisco.project" Active="No"/>
|
<Project Name="mod_cisco" Path="mod_cisco.project" Active="No"/>
|
||||||
<Project Name="libcw" Path="libcw.project" Active="Yes"/>
|
<Project Name="libcw" Path="libcw.project" Active="No"/>
|
||||||
<Project Name="mod_capwap80211" Path="mod_capwap80211.project" Active="No"/>
|
<Project Name="mod_capwap80211" Path="mod_capwap80211.project" Active="No"/>
|
||||||
<Project Name="mod_fortinet" Path="mod_fortinet.project" Active="No"/>
|
<Project Name="mod_fortinet" Path="mod_fortinet.project" Active="No"/>
|
||||||
<BuildMatrix>
|
<BuildMatrix>
|
||||||
|
@ -189,7 +189,7 @@ static int wtpman_join(void *arg, time_t timer)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
wtpman->conn->capwap_state = CW_STATE_JOIN;
|
wtpman->conn->capwap_state = CAPWAP_STATE_JOIN;
|
||||||
// wtpman->conn->actions = &capwap_actions;
|
// wtpman->conn->actions = &capwap_actions;
|
||||||
|
|
||||||
// wtpman->conn->itemstore = mbag_create();
|
// wtpman->conn->itemstore = mbag_create();
|
||||||
@ -198,7 +198,7 @@ static int wtpman_join(void *arg, time_t timer)
|
|||||||
cw_dbg(DBG_INFO, "Join State - %s", sock_addr2str(&conn->addr));
|
cw_dbg(DBG_INFO, "Join State - %s", sock_addr2str(&conn->addr));
|
||||||
|
|
||||||
int rc;
|
int rc;
|
||||||
while (!cw_timer_timeout(timer) && wtpman->conn->capwap_state == CW_STATE_JOIN) {
|
while (!cw_timer_timeout(timer) && wtpman->conn->capwap_state == CAPWAP_STATE_JOIN) {
|
||||||
rc = cw_read_messages(wtpman->conn);
|
rc = cw_read_messages(wtpman->conn);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
break;
|
break;
|
||||||
@ -212,7 +212,7 @@ static int wtpman_join(void *arg, time_t timer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (wtpman->conn->capwap_state == CW_STATE_JOIN) {
|
if (wtpman->conn->capwap_state == CAPWAP_STATE_JOIN) {
|
||||||
cw_dbg(DBG_MSG_ERR, "No join request from %s after %d seconds, WTP died.",
|
cw_dbg(DBG_MSG_ERR, "No join request from %s after %d seconds, WTP died.",
|
||||||
sock_addr2str(&wtpman->conn->addr), wtpman->conn->wait_dtls);
|
sock_addr2str(&wtpman->conn->addr), wtpman->conn->wait_dtls);
|
||||||
|
|
||||||
@ -723,6 +723,7 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr)
|
|||||||
// struct sockaddr *from);
|
// struct sockaddr *from);
|
||||||
|
|
||||||
wtpman->conn = conn_create(sockfd, srcaddr, 100);
|
wtpman->conn = conn_create(sockfd, srcaddr, 100);
|
||||||
|
wtpman->conn->receiver = CW_RECEIVER_AC;
|
||||||
|
|
||||||
wtpman->conn->data_sock = socklist[socklistindex].data_sockfd;
|
wtpman->conn->data_sock = socklist[socklistindex].data_sockfd;
|
||||||
sock_copyaddr(&wtpman->conn->data_addr, (struct sockaddr *) &wtpman->conn->addr);
|
sock_copyaddr(&wtpman->conn->data_addr, (struct sockaddr *) &wtpman->conn->addr);
|
||||||
|
@ -675,7 +675,7 @@ enum capwap_states {
|
|||||||
/** Discovery State */
|
/** Discovery State */
|
||||||
CAPWAP_STATE_DISCOVERY,
|
CAPWAP_STATE_DISCOVERY,
|
||||||
/** Join State */
|
/** Join State */
|
||||||
CW_STATE_JOIN,
|
CAPWAP_STATE_JOIN,
|
||||||
/** Config State */
|
/** Config State */
|
||||||
CW_STATE_CONFIGURE,
|
CW_STATE_CONFIGURE,
|
||||||
/** Image Data Upload */
|
/** Image Data Upload */
|
||||||
|
@ -23,7 +23,7 @@ cw_action_in_t capwap_80211_actions_ac_in[] = {
|
|||||||
* Discovery Resquest
|
* Discovery Resquest
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{0, 0, CW_STATE_JOIN, CAPWAP_MSG_JOIN_REQUEST,
|
{0, 0, CAPWAP_STATE_JOIN, CAPWAP_MSG_JOIN_REQUEST,
|
||||||
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
|
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
|
||||||
,
|
,
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ cw_action_in_t capwap_80211_actions_wtp_in[] = {
|
|||||||
,
|
,
|
||||||
|
|
||||||
/* Join Response */
|
/* Join Response */
|
||||||
{0, 0, CW_STATE_JOIN, CAPWAP_MSG_JOIN_RESPONSE,
|
{0, 0, CAPWAP_STATE_JOIN, CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
|
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
|
||||||
,
|
,
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
struct cw_strlist_elem capwap_strings_state[] = {
|
struct cw_strlist_elem capwap_strings_state[] = {
|
||||||
{ CAPWAP_STATE_DISCOVERY, "Discovery" },
|
{ CAPWAP_STATE_DISCOVERY, "Discovery" },
|
||||||
{ CW_STATE_JOIN,"Join" },
|
{ CAPWAP_STATE_JOIN,"Join" },
|
||||||
{ CW_STATE_RUN,"Run" },
|
{ CW_STATE_RUN,"Run" },
|
||||||
{ CW_STATE_CONFIGURE,"Configure" },
|
{ CW_STATE_CONFIGURE,"Configure" },
|
||||||
{ CW_STATE_IMAGE_DATA,"Image Data" },
|
{ CW_STATE_IMAGE_DATA,"Image Data" },
|
||||||
|
@ -82,6 +82,8 @@ struct conn {
|
|||||||
uint8_t session_id[16];
|
uint8_t session_id[16];
|
||||||
|
|
||||||
|
|
||||||
|
int receiver;
|
||||||
|
|
||||||
/** base_mac */
|
/** base_mac */
|
||||||
bstr_t base_rmac;
|
bstr_t base_rmac;
|
||||||
|
|
||||||
|
@ -288,11 +288,42 @@ static int process_elements(struct conn *conn, uint8_t * rawmsg, int len,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printf("Receivers: %d %d\n",message->receiver,conn->receiver);
|
||||||
|
|
||||||
|
/* Throw away unexpected messages */
|
||||||
|
if (!(message->receiver & conn->receiver)) {
|
||||||
|
cw_dbg(DBG_MSG_ERR,
|
||||||
|
"Message type %d (%s) unexpected/illegal in %s State, discarding.",
|
||||||
|
search.type, cw_strmsg(search.type),
|
||||||
|
cw_strstate(conn->capwap_state));
|
||||||
|
errno = EAGAIN;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check if current state is in state of message */
|
||||||
|
int *i = message->states;
|
||||||
|
for (i=message->states; *i; i++){
|
||||||
|
if(*i==conn->capwap_state)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!*i){
|
||||||
|
/* Message found, but it was in wrong state */
|
||||||
|
cw_dbg(DBG_MSG_ERR,
|
||||||
|
"Message type %d (%s) not allowed in %s State.", search.type,
|
||||||
|
cw_strmsg(search.type), cw_strstate(conn->capwap_state));
|
||||||
|
result_code = CAPWAP_RESULT_MSG_INVALID_IN_CURRENT_STATE;
|
||||||
|
cw_send_error_response(conn, rawmsg, result_code);
|
||||||
|
errno = EAGAIN;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// afm = cw_actionlist_in_get(conn->actions->in, &as);
|
// afm = cw_actionlist_in_get(conn->actions->in, &as);
|
||||||
|
|
||||||
if (!afm) {
|
if (!afm) {
|
||||||
/* Throw away unexpected response messages */
|
// Throw away unexpected response messages
|
||||||
if (!(as.msg_id & 1)) {
|
if (!(as.msg_id & 1)) {
|
||||||
cw_dbg(DBG_MSG_ERR,
|
cw_dbg(DBG_MSG_ERR,
|
||||||
"Message type %d (%s) unexpected/illegal in %s State, discarding.",
|
"Message type %d (%s) unexpected/illegal in %s State, discarding.",
|
||||||
|
@ -133,9 +133,14 @@ typedef struct{
|
|||||||
int op;
|
int op;
|
||||||
}cw_msgelemprops_t;
|
}cw_msgelemprops_t;
|
||||||
|
|
||||||
|
#define CW_RECEIVER_AC 1
|
||||||
|
#define CW_RECEIVER_WTP 1
|
||||||
|
|
||||||
struct cw_MsgDef{
|
struct cw_MsgDef{
|
||||||
int type;
|
int type; /**< Message type */
|
||||||
int * states;
|
int * states; /**< states in wich the message is allowed */
|
||||||
|
int receiver; /**< Who can receive this message */
|
||||||
|
|
||||||
cw_msgelemprops_t * elements;
|
cw_msgelemprops_t * elements;
|
||||||
const char * name;
|
const char * name;
|
||||||
};
|
};
|
||||||
|
@ -16,7 +16,7 @@ int cw_in_check_cfg_update_req(struct conn *conn, struct cw_action_in *a, uint8_
|
|||||||
if (n) {
|
if (n) {
|
||||||
if ( conn->strict_capwap ){
|
if ( conn->strict_capwap ){
|
||||||
cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a);
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
return CW_RESULT_MISSING_MAND_ELEM;
|
return CW_RESULT_MISSING_MAND_ELEM;
|
||||||
}
|
}
|
||||||
cw_dbg_missing_mand(DBG_RFC,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_RFC,conn,mlist,n,a);
|
||||||
|
@ -35,7 +35,7 @@ int cw_in_check_disc_req(struct conn *conn, struct cw_action_in *a, uint8_t * da
|
|||||||
|
|
||||||
|
|
||||||
/* ok, send response */
|
/* ok, send response */
|
||||||
conn->capwap_state = CW_STATE_JOIN;
|
conn->capwap_state = CAPWAP_STATE_JOIN;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ int cw_in_check_img_data_req_ac(struct conn *conn, struct cw_action_in *a, uint8
|
|||||||
int n = cw_check_missing_mand(mlist,conn,a);
|
int n = cw_check_missing_mand(mlist,conn,a);
|
||||||
if (n) {
|
if (n) {
|
||||||
cw_dbg_missing_mand(DBG_ELEM,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_ELEM,conn,mlist,n,a);
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
return CW_RESULT_MISSING_MAND_ELEM;
|
return CW_RESULT_MISSING_MAND_ELEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ int cw_in_check_img_data_req_wtp(struct conn *conn, struct cw_action_in *a, uint
|
|||||||
int n = cw_check_missing_mand(mlist,conn,a);
|
int n = cw_check_missing_mand(mlist,conn,a);
|
||||||
if (n) {
|
if (n) {
|
||||||
cw_dbg_missing_mand(DBG_ELEM,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_ELEM,conn,mlist,n,a);
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
return CW_RESULT_MISSING_MAND_ELEM;
|
return CW_RESULT_MISSING_MAND_ELEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ int cw_in_check_img_data_resp(struct conn *conn, struct cw_action_in *a, uint8_t
|
|||||||
int n = cw_check_missing_mand(mlist,conn,a);
|
int n = cw_check_missing_mand(mlist,conn,a);
|
||||||
if (n) {
|
if (n) {
|
||||||
cw_dbg_missing_mand(DBG_ELEM,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_ELEM,conn,mlist,n,a);
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
errno=EAGAIN;
|
errno=EAGAIN;
|
||||||
return -1; //CW_RESULT_MISSING_MAND_ELEM;
|
return -1; //CW_RESULT_MISSING_MAND_ELEM;
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ int cw_in_check_join_req(struct conn *conn, struct cw_action_in *a, uint8_t * da
|
|||||||
if (n) {
|
if (n) {
|
||||||
if ( conn->strict_capwap ){
|
if ( conn->strict_capwap ){
|
||||||
cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a);
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
return CW_RESULT_MISSING_MAND_ELEM;
|
return CW_RESULT_MISSING_MAND_ELEM;
|
||||||
}
|
}
|
||||||
cw_dbg_missing_mand(DBG_RFC,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_RFC,conn,mlist,n,a);
|
||||||
@ -32,7 +32,7 @@ int cw_in_check_join_req(struct conn *conn, struct cw_action_in *a, uint8_t * da
|
|||||||
connlist_unlock(conn->connlist);
|
connlist_unlock(conn->connlist);
|
||||||
if (cc){
|
if (cc){
|
||||||
cw_dbg(DBG_ELEM_ERR,"Session already in use %s",format_bin2hex(conn->session_id,16));
|
cw_dbg(DBG_ELEM_ERR,"Session already in use %s",format_bin2hex(conn->session_id,16));
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
return CW_RESULT_JOIN_FAILURE_SESSION_ALREADY_IN_USE;
|
return CW_RESULT_JOIN_FAILURE_SESSION_ALREADY_IN_USE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ int cw_in_check_join_resp(struct conn *conn, struct cw_action_in *a, uint8_t * d
|
|||||||
int n = cw_check_missing_mand(mlist,conn,a);
|
int n = cw_check_missing_mand(mlist,conn,a);
|
||||||
if (n && conn->strict_capwap) {
|
if (n && conn->strict_capwap) {
|
||||||
cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a);
|
cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a);
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
errno=EAGAIN;
|
errno=EAGAIN;
|
||||||
return -1; //CW_RESULT_MISSING_MAND_ELEM;
|
return -1; //CW_RESULT_MISSING_MAND_ELEM;
|
||||||
}
|
}
|
||||||
|
@ -136,6 +136,8 @@ void cw_msgset_add(cw_MsgSet_t * set,
|
|||||||
next->name=message->name;
|
next->name=message->name;
|
||||||
if (message->states)
|
if (message->states)
|
||||||
next->states=message->states;
|
next->states=message->states;
|
||||||
|
if (message->receiver)
|
||||||
|
next->receiver=message->receiver;
|
||||||
|
|
||||||
update_message(next,message, set);
|
update_message(next,message, set);
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ typedef struct cw_MsgData{
|
|||||||
int type;
|
int type;
|
||||||
const char * name;
|
const char * name;
|
||||||
int * states;
|
int * states;
|
||||||
|
int receiver;
|
||||||
mavl_t elements_tree;
|
mavl_t elements_tree;
|
||||||
mlist_t elements_list;
|
mlist_t elements_list;
|
||||||
};
|
};
|
||||||
|
@ -212,7 +212,7 @@ struct cw_Mod * cw_mod_load(const char * mod_name){
|
|||||||
filename = cw_filename(mod_path,mod_filename,".so");
|
filename = cw_filename(mod_path,mod_filename,".so");
|
||||||
if (filename==NULL)
|
if (filename==NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
cw_log(LOG_ERROR,"DLOPEN now !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||||
/* Open the DLL */
|
/* Open the DLL */
|
||||||
void * handle;
|
void * handle;
|
||||||
handle = dlopen(filename,RTLD_NOW);
|
handle = dlopen(filename,RTLD_NOW);
|
||||||
|
@ -101,8 +101,8 @@ static cw_msgdef_t messages[] = {
|
|||||||
/* Discovery Request Message*/
|
/* Discovery Request Message*/
|
||||||
{
|
{
|
||||||
.name = "Discovery Request",
|
.name = "Discovery Request",
|
||||||
// .type = CAPWAP_MSG_DISCOVERY_REQUEST,
|
.type = CAPWAP_MSG_DISCOVERY_REQUEST,
|
||||||
.type = 7,
|
.receiver = CW_RECEIVER_AC,
|
||||||
.states = (int[]){CAPWAP_STATE_DISCOVERY,0},
|
.states = (int[]){CAPWAP_STATE_DISCOVERY,0},
|
||||||
.elements = (cw_msgelemprops_t []){
|
.elements = (cw_msgelemprops_t []){
|
||||||
{&_DISCOVERY_TYPE,1},
|
{&_DISCOVERY_TYPE,1},
|
||||||
@ -119,6 +119,7 @@ static cw_msgdef_t messages[] = {
|
|||||||
{
|
{
|
||||||
.name = "Discovery Response",
|
.name = "Discovery Response",
|
||||||
.type = CAPWAP_MSG_DISCOVERY_RESPONSE,
|
.type = CAPWAP_MSG_DISCOVERY_RESPONSE,
|
||||||
|
.receiver = CW_RECEIVER_WTP,
|
||||||
.states = (int[]){CAPWAP_STATE_DISCOVERY,0},
|
.states = (int[]){CAPWAP_STATE_DISCOVERY,0},
|
||||||
.elements = (cw_msgelemprops_t[]){
|
.elements = (cw_msgelemprops_t[]){
|
||||||
{&_AC_DESCRIPTOR,1},
|
{&_AC_DESCRIPTOR,1},
|
||||||
@ -300,7 +301,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
* Join Request
|
* Join Request
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.end = cw_in_check_join_req
|
.end = cw_in_check_join_req
|
||||||
}
|
}
|
||||||
@ -308,7 +309,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Location Data - Join Request */
|
/* Location Data - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id =CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id =CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_LOCATION_DATA,
|
.elem_id = CW_ELEM_LOCATION_DATA,
|
||||||
.item_id = CW_ITEM_LOCATION_DATA,
|
.item_id = CW_ITEM_LOCATION_DATA,
|
||||||
@ -321,7 +322,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Element WTP Board Data - Join Request */
|
/* Element WTP Board Data - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
|
.elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
|
||||||
.start = cw_in_wtp_board_data,
|
.start = cw_in_wtp_board_data,
|
||||||
@ -332,7 +333,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Element WTP Descriptor - Join Request */
|
/* Element WTP Descriptor - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
|
.elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
|
||||||
.start = capwap_in_wtp_descriptor,
|
.start = capwap_in_wtp_descriptor,
|
||||||
@ -343,7 +344,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Element WTP Name - Join Request */
|
/* Element WTP Name - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_NAME,
|
.elem_id = CW_ELEM_WTP_NAME,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
@ -356,7 +357,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Element Session ID - Join Request */
|
/* Element Session ID - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_SESSION_ID,
|
.elem_id = CW_ELEM_SESSION_ID,
|
||||||
.start = capwap_in_session_id,
|
.start = capwap_in_session_id,
|
||||||
@ -369,7 +370,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* WTP Frame Tunnel Mode - Join Request */
|
/* WTP Frame Tunnel Mode - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
|
.elem_id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
@ -382,7 +383,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* WTP Mac Type - Join Request */
|
/* WTP Mac Type - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CAPWAP_ELEM_WTP_MAC_TYPE,
|
.elem_id = CAPWAP_ELEM_WTP_MAC_TYPE,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
@ -400,7 +401,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* ECN Support - Join Request */
|
/* ECN Support - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_ECN_SUPPORT,
|
.elem_id = CW_ELEM_ECN_SUPPORT,
|
||||||
.item_id = CW_ITEM_ECN_SUPPORT,
|
.item_id = CW_ITEM_ECN_SUPPORT,
|
||||||
@ -414,7 +415,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Local IPv4 Address - Join Request */
|
/* Local IPv4 Address - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_CAPWAP_LOCAL_IPV4_ADDRESS,
|
.elem_id = CW_ELEM_CAPWAP_LOCAL_IPV4_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
||||||
@ -427,7 +428,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Local IPv6 Address - Join Request */
|
/* Local IPv6 Address - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_CAPWAP_LOCAL_IPV6_ADDRESS,
|
.elem_id = CW_ELEM_CAPWAP_LOCAL_IPV6_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
||||||
@ -442,7 +443,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* CAPWAP Transport Protocol - Join Request */
|
/* CAPWAP Transport Protocol - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_CAPWAP_TRANSPORT_PROTOCOL,
|
.elem_id = CW_ELEM_CAPWAP_TRANSPORT_PROTOCOL,
|
||||||
.item_id = CW_ITEM_CAPWAP_TRANSPORT_PROTOCOL,
|
.item_id = CW_ITEM_CAPWAP_TRANSPORT_PROTOCOL,
|
||||||
@ -454,7 +455,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Maximum Message Length - Join Request */
|
/* Maximum Message Length - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_MAXIMUM_MESSAGE_LENGTH,
|
.elem_id = CW_ELEM_MAXIMUM_MESSAGE_LENGTH,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
@ -466,7 +467,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* WTP Reboot Statistics - Join Request */
|
/* WTP Reboot Statistics - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_REBOOT_STATISTICS,
|
.elem_id = CW_ELEM_WTP_REBOOT_STATISTICS,
|
||||||
.start = cw_in_wtp_reboot_statistics,
|
.start = cw_in_wtp_reboot_statistics,
|
||||||
@ -478,7 +479,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Vendor Specific Payload - Join Request*/
|
/* Vendor Specific Payload - Join Request*/
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CAPWAP_ELEM_VENDOR_SPECIFIC_PAYLOAD,
|
.elem_id = CAPWAP_ELEM_VENDOR_SPECIFIC_PAYLOAD,
|
||||||
.start = cw_in_vendor_specific_payload,
|
.start = cw_in_vendor_specific_payload,
|
||||||
|
@ -102,14 +102,14 @@ static cw_action_in_t actions_in[] = {
|
|||||||
* Message Join Response
|
* Message Join Response
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.end = cw_in_check_generic_resp
|
.end = cw_in_check_generic_resp
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
/* Result Code - Join Response */
|
/* Result Code - Join Response */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_RESULT_CODE,
|
.elem_id = CW_ELEM_RESULT_CODE,
|
||||||
.item_id = CW_ITEM_RESULT_CODE,
|
.item_id = CW_ITEM_RESULT_CODE,
|
||||||
@ -122,7 +122,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* AC Descriptor - Join Response */
|
/* AC Descriptor - Join Response */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CAPWAP_ELEM_AC_DESCRIPTOR,
|
.elem_id = CAPWAP_ELEM_AC_DESCRIPTOR,
|
||||||
.item_id = CW_ITEM_AC_DESCRIPTOR,
|
.item_id = CW_ITEM_AC_DESCRIPTOR,
|
||||||
@ -135,7 +135,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* AC Name - Join Response */
|
/* AC Name - Join Response */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_AC_NAME,
|
.elem_id = CW_ELEM_AC_NAME,
|
||||||
.item_id = CW_ITEM_AC_NAME,
|
.item_id = CW_ITEM_AC_NAME,
|
||||||
@ -148,7 +148,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* ECN Support - Join Response */
|
/* ECN Support - Join Response */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_ECN_SUPPORT,
|
.elem_id = CW_ELEM_ECN_SUPPORT,
|
||||||
.item_id = CW_ITEM_ECN_SUPPORT,
|
.item_id = CW_ITEM_ECN_SUPPORT,
|
||||||
@ -161,7 +161,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* CAPWAP Control IPv4 Address - Join Response*/
|
/* CAPWAP Control IPv4 Address - Join Response*/
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_CAPWAP_CONTROL_IPV4_ADDRESS,
|
.elem_id = CW_ELEM_CAPWAP_CONTROL_IPV4_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_CONTROL_IP_ADDRESS_LIST,
|
.item_id = CW_ITEM_CAPWAP_CONTROL_IP_ADDRESS_LIST,
|
||||||
@ -174,7 +174,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* CAPWAP Control IPv6 Address - Join Response*/
|
/* CAPWAP Control IPv6 Address - Join Response*/
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_CAPWAP_CONTROL_IPV6_ADDRESS,
|
.elem_id = CW_ELEM_CAPWAP_CONTROL_IPV6_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_CONTROL_IP_ADDRESS_LIST,
|
.item_id = CW_ITEM_CAPWAP_CONTROL_IP_ADDRESS_LIST,
|
||||||
@ -188,7 +188,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Maximum Message Length - Join Response */
|
/* Maximum Message Length - Join Response */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_MAXIMUM_MESSAGE_LENGTH,
|
.elem_id = CW_ELEM_MAXIMUM_MESSAGE_LENGTH,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
|
@ -45,7 +45,7 @@ static cw_action_in_t actions_ac_in[] = {
|
|||||||
|
|
||||||
/* 802.11 Radio Information - Join Request */
|
/* 802.11 Radio Information - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION,
|
.elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION,
|
||||||
.item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION,
|
.item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION,
|
||||||
|
@ -36,7 +36,7 @@ static cw_action_in_t actions_wtp_in[] = {
|
|||||||
|
|
||||||
/* 802.11 Radio Inmformation - Join Response */
|
/* 802.11 Radio Inmformation - Join Response */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION,
|
.elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION,
|
||||||
.item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION,
|
.item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION,
|
||||||
|
@ -160,7 +160,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* WTP Descriptor - Join Request */
|
/* WTP Descriptor - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
|
.elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
|
||||||
.start = cisco_in_wtp_descriptor,
|
.start = cisco_in_wtp_descriptor,
|
||||||
@ -172,7 +172,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
/* Session ID - Join Request */
|
/* Session ID - Join Request */
|
||||||
{
|
{
|
||||||
/* Cisco uses 4 byte session ids */
|
/* Cisco uses 4 byte session ids */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_SESSION_ID,
|
.elem_id = CW_ELEM_SESSION_ID,
|
||||||
.start = capwap_in_session_id,
|
.start = capwap_in_session_id,
|
||||||
@ -185,7 +185,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Local IPv4 Address - Join Request */
|
/* Local IPv4 Address - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_IPV4_IP_ADDRESS,
|
.elem_id = CW_ELEM_WTP_IPV4_IP_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
||||||
@ -198,7 +198,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Local IPv6 Address - Join Request */
|
/* Local IPv6 Address - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_IPV6_IP_ADDRESS,
|
.elem_id = CW_ELEM_WTP_IPV6_IP_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
||||||
@ -213,7 +213,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
{
|
{
|
||||||
/* Cisco (using draft 7) does nothing know
|
/* Cisco (using draft 7) does nothing know
|
||||||
* about ECN support, so make it non-mandatory */
|
* about ECN support, so make it non-mandatory */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_ECN_SUPPORT,
|
.elem_id = CW_ELEM_ECN_SUPPORT,
|
||||||
.item_id = CW_ITEM_ECN_SUPPORT,
|
.item_id = CW_ITEM_ECN_SUPPORT,
|
||||||
|
@ -66,7 +66,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
/* ECN Support - Join Response */
|
/* ECN Support - Join Response */
|
||||||
{
|
{
|
||||||
/* Make ECN Support non-mand */
|
/* Make ECN Support non-mand */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_ECN_SUPPORT,
|
.elem_id = CW_ELEM_ECN_SUPPORT,
|
||||||
.item_id = CW_ITEM_ECN_SUPPORT,
|
.item_id = CW_ITEM_ECN_SUPPORT,
|
||||||
@ -80,7 +80,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
/* AC Descriptor - Join Response */
|
/* AC Descriptor - Join Response */
|
||||||
{
|
{
|
||||||
/* Cisco's AC Descriptor */
|
/* Cisco's AC Descriptor */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
.msg_id = CAPWAP_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CAPWAP_ELEM_AC_DESCRIPTOR,
|
.elem_id = CAPWAP_ELEM_AC_DESCRIPTOR,
|
||||||
.item_id = CW_ITEM_AC_DESCRIPTOR,
|
.item_id = CW_ITEM_AC_DESCRIPTOR,
|
||||||
|
@ -80,7 +80,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* WTP Descriptor - Join Request */
|
/* WTP Descriptor - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_REQUEST,
|
.msg_id = CW_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_DESCRIPTOR,
|
.elem_id = CW_ELEM_WTP_DESCRIPTOR,
|
||||||
.start = cisco_in_wtp_descriptor,
|
.start = cisco_in_wtp_descriptor,
|
||||||
@ -92,7 +92,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
/* Session ID - Join Request */
|
/* Session ID - Join Request */
|
||||||
{
|
{
|
||||||
/* Cisco uses 4 byte session ids */
|
/* Cisco uses 4 byte session ids */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_REQUEST,
|
.msg_id = CW_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_SESSION_ID,
|
.elem_id = CW_ELEM_SESSION_ID,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
@ -105,7 +105,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Local IPv4 Address - Join Request */
|
/* Local IPv4 Address - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_REQUEST,
|
.msg_id = CW_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_IPV4_IP_ADDRESS,
|
.elem_id = CW_ELEM_WTP_IPV4_IP_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
||||||
@ -118,7 +118,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
|
|
||||||
/* Local IPv6 Address - Join Request */
|
/* Local IPv6 Address - Join Request */
|
||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_REQUEST,
|
.msg_id = CW_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_WTP_IPV6_IP_ADDRESS,
|
.elem_id = CW_ELEM_WTP_IPV6_IP_ADDRESS,
|
||||||
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
.item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS,
|
||||||
@ -133,7 +133,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
{
|
{
|
||||||
/* Cisco (using draft 7) does nothing know
|
/* Cisco (using draft 7) does nothing know
|
||||||
* about ECN support, so make it non-mandatory */
|
* about ECN support, so make it non-mandatory */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_REQUEST,
|
.msg_id = CW_MSG_JOIN_REQUEST,
|
||||||
.elem_id = CW_ELEM_ECN_SUPPORT,
|
.elem_id = CW_ELEM_ECN_SUPPORT,
|
||||||
.item_id = CW_ITEM_ECN_SUPPORT,
|
.item_id = CW_ITEM_ECN_SUPPORT,
|
||||||
|
@ -60,7 +60,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
/* ECN Support - Join Response */
|
/* ECN Support - Join Response */
|
||||||
{
|
{
|
||||||
/* Make ECN Support non-mand */
|
/* Make ECN Support non-mand */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_RESPONSE,
|
.msg_id = CW_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_ECN_SUPPORT,
|
.elem_id = CW_ELEM_ECN_SUPPORT,
|
||||||
.item_id = CW_ITEM_ECN_SUPPORT,
|
.item_id = CW_ITEM_ECN_SUPPORT,
|
||||||
@ -74,7 +74,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
/* AC Descriptor - Join Response */
|
/* AC Descriptor - Join Response */
|
||||||
{
|
{
|
||||||
/* Cisco's AC Descriptor */
|
/* Cisco's AC Descriptor */
|
||||||
.capwap_state = CW_STATE_JOIN,
|
.capwap_state = CAPWAP_STATE_JOIN,
|
||||||
.msg_id = CW_MSG_JOIN_RESPONSE,
|
.msg_id = CW_MSG_JOIN_RESPONSE,
|
||||||
.elem_id = CW_ELEM_AC_DESCRIPTOR,
|
.elem_id = CW_ELEM_AC_DESCRIPTOR,
|
||||||
.item_id = CW_ITEM_AC_DESCRIPTOR,
|
.item_id = CW_ITEM_AC_DESCRIPTOR,
|
||||||
|
@ -260,6 +260,6 @@ int discovery()
|
|||||||
printf("Radios = %d\n",conn->radios->count);
|
printf("Radios = %d\n",conn->radios->count);
|
||||||
|
|
||||||
cw_run_discovery(conn, "255.255.255.255");
|
cw_run_discovery(conn, "255.255.255.255");
|
||||||
conn->capwap_state=CW_STATE_JOIN;
|
conn->capwap_state=CAPWAP_STATE_JOIN;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ acinfo.result_code=99;
|
|||||||
int run_join_d(struct sockaddr *sa)
|
int run_join_d(struct sockaddr *sa)
|
||||||
{
|
{
|
||||||
struct conn *conn = get_conn();
|
struct conn *conn = get_conn();
|
||||||
conn->capwap_state = CW_STATE_JOIN;
|
conn->capwap_state = CAPWAP_STATE_JOIN;
|
||||||
|
|
||||||
int sockfd;
|
int sockfd;
|
||||||
int rc;
|
int rc;
|
||||||
|
Loading…
Reference in New Issue
Block a user