Some refactoring + introduction of message_sets

Renamed CW_... to CAPWAP_...

FossilOrigin-Name: fa5322d9f5ca8a145cd828c1179501f50aad0cb6280efb76dc3779b19f2626e8
This commit is contained in:
7u83@mail.ru 2018-02-23 19:14:10 +00:00
parent 40de403b03
commit 096672b0aa
17 changed files with 160 additions and 57 deletions

View File

@ -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"/>
<BuildMatrix> <BuildMatrix>
<WorkspaceConfiguration Name="Debug" Selected="yes"> <WorkspaceConfiguration Name="Debug" Selected="yes">

View File

@ -90,14 +90,14 @@ static void wtpman_run_discovery(void *arg)
extern cw_actionlist_in_t the_tree; extern cw_actionlist_in_t the_tree;
wtpman->conn->capwap_state = CW_STATE_DISCOVERY; wtpman->conn->capwap_state = CAPWAP_STATE_DISCOVERY;
wtpman->conn->actions = &capwap_actions; wtpman->conn->actions = &capwap_actions;
wtpman->conn->outgoing = mbag_create(); wtpman->conn->outgoing = mbag_create();
wtpman->conn->incomming = mbag_create(); wtpman->conn->incomming = mbag_create();
while (!cw_timer_timeout(timer) while (!cw_timer_timeout(timer)
&& wtpman->conn->capwap_state == CW_STATE_DISCOVERY) { && wtpman->conn->capwap_state == CAPWAP_STATE_DISCOVERY) {
cw_read_messages(wtpman->conn); cw_read_messages(wtpman->conn);
} }
@ -120,7 +120,7 @@ int xprocess_message(struct conn *conn, uint8_t * rawmsg, int rawlen,
uint32_t type = cw_get_msg_type(msgptr); uint32_t type = cw_get_msg_type(msgptr);
cw_log(LOG_ERR, "Hey: %d", type); cw_log(LOG_ERR, "Hey: %d", type);
if (type == CAPWAP_MSG_DISCOVERY_REQUEST) if (type == CAPWAP_MSG_DISCOVERY_REQUEST)
conn->capwap_state = CW_STATE_DISCOVERY; conn->capwap_state = CAPWAP_STATE_DISCOVERY;
return process_message(conn, rawmsg, rawlen, from); return process_message(conn, rawmsg, rawlen, from);

View File

@ -220,7 +220,11 @@
#define CW_ELEM_DELETE_MAC_ACL_ENTRY 17 #define CW_ELEM_DELETE_MAC_ACL_ENTRY 17
#define CW_ELEM_DELETE_STATION 18 #define CW_ELEM_DELETE_STATION 18
#define CW_ELEM_RESERVED_19 19 #define CW_ELEM_RESERVED_19 19
#define CW_ELEM_DISCOVERY_TYPE 20 /**
* Indicates the AP's Discovery Type
* @see CAPWAPDIscoveryTypes
*/
#define CAPWAP_ELEM_DISCOVERY_TYPE 20
#define CW_ELEM_DUPLICATE_IPV4_ADDRESS 21 #define CW_ELEM_DUPLICATE_IPV4_ADDRESS 21
#define CW_ELEM_DUPLICATE_IPV6_ADRESS 22 #define CW_ELEM_DUPLICATE_IPV6_ADRESS 22
#define CW_ELEM_ECN_SUPPORT 53 #define CW_ELEM_ECN_SUPPORT 53
@ -239,8 +243,11 @@
#define CW_ELEM_SESSION_ID 35 #define CW_ELEM_SESSION_ID 35
#define CW_ELEM_STATISTICS_TIMER 36 #define CW_ELEM_STATISTICS_TIMER 36
#define CW_ELEM_VENDOR_SPECIFIC_PAYLOAD 37 #define CW_ELEM_VENDOR_SPECIFIC_PAYLOAD 37
#define CW_ELEM_WTP_BOARD_DATA 38 #define CAPWAP_ELEM_WTP_BOARD_DATA 38
#define CW_ELEM_WTP_DESCRIPTOR 39 /**
* The WTP Descriptor message element conteins information
* about the WTP */
#define CAPWAP_ELEM_WTP_DESCRIPTOR 39
#define CW_ELEM_WTP_FALLBACK 40 #define CW_ELEM_WTP_FALLBACK 40
#define CW_ELEM_WTP_FRAME_TUNNEL_MODE 41 #define CW_ELEM_WTP_FRAME_TUNNEL_MODE 41
#define CW_ELEM_RESERVED_42 42 #define CW_ELEM_RESERVED_42 42
@ -662,7 +669,7 @@ struct cw_ac_status {
enum capwap_states { enum capwap_states {
CW_STATE_NONE = 0, CW_STATE_NONE = 0,
/** Discovery State */ /** Discovery State */
CW_STATE_DISCOVERY, CAPWAP_STATE_DISCOVERY,
/** Join State */ /** Join State */
CW_STATE_JOIN, CW_STATE_JOIN,
/** Config State */ /** Config State */

View File

@ -16,7 +16,7 @@ cw_action_in_t capwap_80211_actions_ac_in[] = {
* Discovery Resquest * Discovery Resquest
*/ */
{0, 0, CW_STATE_DISCOVERY, CAPWAP_MSG_DISCOVERY_REQUEST, {0, 0, CAPWAP_STATE_DISCOVERY, CAPWAP_MSG_DISCOVERY_REQUEST,
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1} CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
, ,
/* -------------------------------------------------------- /* --------------------------------------------------------

View File

@ -13,7 +13,7 @@
cw_action_in_t capwap_80211_actions_wtp_in[] = { cw_action_in_t capwap_80211_actions_wtp_in[] = {
/* Discovery Response */ /* Discovery Response */
{0, 0, CW_STATE_DISCOVERY, CAPWAP_MSG_DISCOVERY_RESPONSE, {0, 0, CAPWAP_STATE_DISCOVERY, CAPWAP_MSG_DISCOVERY_RESPONSE,
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1} CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
, ,

View File

@ -25,7 +25,7 @@ struct cw_strlist_elem capwap_strings_elem[] = {
{CW_ELEM_DELETE_MAC_ACL_ENTRY, "Delete MAC ACL Entry"}, {CW_ELEM_DELETE_MAC_ACL_ENTRY, "Delete MAC ACL Entry"},
{CW_ELEM_DELETE_STATION, "Delete Station"}, {CW_ELEM_DELETE_STATION, "Delete Station"},
{CW_ELEM_RESERVED_19, "Reserved 19"}, {CW_ELEM_RESERVED_19, "Reserved 19"},
{CW_ELEM_DISCOVERY_TYPE, "Discovery Type"}, {CAPWAP_ELEM_DISCOVERY_TYPE, "Discovery Type"},
{CW_ELEM_DUPLICATE_IPV4_ADDRESS, "Duplicate IPv4 Address"}, {CW_ELEM_DUPLICATE_IPV4_ADDRESS, "Duplicate IPv4 Address"},
{CW_ELEM_DUPLICATE_IPV6_ADRESS, "Duplicate IPv6 Address"}, {CW_ELEM_DUPLICATE_IPV6_ADRESS, "Duplicate IPv6 Address"},
{CW_ELEM_ECN_SUPPORT, "ECN Support"}, {CW_ELEM_ECN_SUPPORT, "ECN Support"},
@ -44,8 +44,8 @@ struct cw_strlist_elem capwap_strings_elem[] = {
{CW_ELEM_SESSION_ID, "Session ID"}, {CW_ELEM_SESSION_ID, "Session ID"},
{CW_ELEM_STATISTICS_TIMER, "Statistics Timer"}, {CW_ELEM_STATISTICS_TIMER, "Statistics Timer"},
{CW_ELEM_VENDOR_SPECIFIC_PAYLOAD, "Vendor Specific Payload"}, {CW_ELEM_VENDOR_SPECIFIC_PAYLOAD, "Vendor Specific Payload"},
{CW_ELEM_WTP_BOARD_DATA, "WTP Board Data"}, {CAPWAP_ELEM_WTP_BOARD_DATA, "WTP Board Data"},
{CW_ELEM_WTP_DESCRIPTOR, "WTP Descriptor"}, {CAPWAP_ELEM_WTP_DESCRIPTOR, "WTP Descriptor"},
{CW_ELEM_WTP_FALLBACK, "WTP Fallback"}, {CW_ELEM_WTP_FALLBACK, "WTP Fallback"},
{CW_ELEM_WTP_FRAME_TUNNEL_MODE, "WTP Frame Tunnel Mode"}, {CW_ELEM_WTP_FRAME_TUNNEL_MODE, "WTP Frame Tunnel Mode"},
{CW_ELEM_RESERVED_42, "Reserved 42"}, {CW_ELEM_RESERVED_42, "Reserved 42"},

View File

@ -1,7 +1,7 @@
#include "capwap.h" #include "capwap.h"
struct cw_strlist_elem capwap_strings_state[] = { struct cw_strlist_elem capwap_strings_state[] = {
{ CW_STATE_DISCOVERY, "Discovery" }, { CAPWAP_STATE_DISCOVERY, "Discovery" },
{ CW_STATE_JOIN,"Join" }, { CW_STATE_JOIN,"Join" },
{ CW_STATE_RUN,"Run" }, { CW_STATE_RUN,"Run" },
{ CW_STATE_CONFIGURE,"Configure" }, { CW_STATE_CONFIGURE,"Configure" },

View File

@ -100,6 +100,40 @@
#define cw_get_hdr_flag_f(th) ((ntohl( *((uint32_t*)th)) & CAPWAP_FLAG_HDR_F ) ? 1:0) #define cw_get_hdr_flag_f(th) ((ntohl( *((uint32_t*)th)) & CAPWAP_FLAG_HDR_F ) ? 1:0)
#define cw_get_hdr_flag_t(th) ((ntohl( *((uint32_t*)th)) & CAPWAP_FLAG_HDR_T ) ? 1:0) #define cw_get_hdr_flag_t(th) ((ntohl( *((uint32_t*)th)) & CAPWAP_FLAG_HDR_T ) ? 1:0)
typedef struct{
int proto;
int vendor;
int id;
int mand;
}cw_messagedef_t;
typedef struct {
int type;
int * states;
cw_messagedef_t * elements;
}cw_message_t;
typedef struct {
int proto;
int vendor;
int id;
int min_len;
int max_len;
const char * name;
}cw_message_element_t;
typefe struct {
}cw_message_set;
/** /**
* Get length wireless specific data * Get length wireless specific data
* @param th Pointer to packet * @param th Pointer to packet

View File

@ -105,6 +105,6 @@ printf("Val: %s\n",buf);
} }
int l = d - dst-4; int l = d - dst-4;
return l + cw_put_elem_hdr(dst, CW_ELEM_WTP_BOARD_DATA, l ); return l + cw_put_elem_hdr(dst, CAPWAP_ELEM_WTP_BOARD_DATA, l );
} }

View File

@ -58,7 +58,7 @@ static void wtpinfo_readsubelems_wtp_board_data(struct wtpinfo * wtpinfo,uint8_t
int wtpinfo_readelem_wtp_board_data(struct wtpinfo *wtpinfo, int type, uint8_t *msgelem, int len) int wtpinfo_readelem_wtp_board_data(struct wtpinfo *wtpinfo, int type, uint8_t *msgelem, int len)
{ {
if (type!=CW_ELEM_WTP_BOARD_DATA) if (type!=CAPWAP_ELEM_WTP_BOARD_DATA)
return 0; return 0;
if (len<4){ if (len<4){
cw_dbg(DBG_ELEM,"Discarding WTP_BOARD_DATA msgelem, wrong size, type=%d, len=%d\n",type,len); cw_dbg(DBG_ELEM,"Discarding WTP_BOARD_DATA msgelem, wrong size, type=%d, len=%d\n",type,len);

View File

@ -26,6 +26,68 @@
#include "mod_capwap.h" #include "mod_capwap.h"
static cw_message_element_t elements[] = {
{
.id = CAPWAP_ELEM_DISCOVERY_TYPE,
.name = "Discovery Type",
//.start = cw_in_generic2,
//.item_id = "discovery_type",
.min_len = 1,
.max_len = 1
},
{
.id = CAPWAP_ELEM_WTP_BOARD_DATA,
// .start = cw_in_wtp_board_data,
// .item_id = CW_ITEM_WTP_BOARD_DATA,
},
{
.id = CAPWAP_ELEM_WTP_DESCRIPTOR,
//.start = capwap_in_wtp_descriptor,
//.item_id = "wtp_descriptor",
}
,
{
.id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
// .start = cw_in_generic2,
// .item_id = CW_ITEM_WTP_FRAME_TUNNEL_MODE,
.min_len = 1,
.max_len = 1
}
,
};
static cw_message_t messages[] = {
/* Discovery Request Message*/
{
.type = CAPWAP_MSG_DISCOVERY_REQUEST,
.states = (int[]){CAPWAP_STATE_DISCOVERY,0},
.elements = (cw_messagedef_t[]){
{0,0,CAPWAP_ELEM_DISCOVERY_TYPE,1},
{0,0,CAPWAP_ELEM_WTP_BOARD_DATA,1},
{0,0,CAPWAP_ELEM_WTP_DESCRIPTOR,1},
{0,0,CW_ELEM_WTP_FRAME_TUNNEL_MODE,1},
}
}
};
static cw_action_in_t actions_in[] = { static cw_action_in_t actions_in[] = {
@ -33,7 +95,7 @@ static cw_action_in_t actions_in[] = {
* Discovery Request * Discovery Request
*/ */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.end = cw_in_check_disc_req .end = cw_in_check_disc_req
} }
@ -41,9 +103,9 @@ static cw_action_in_t actions_in[] = {
/* Element Discovery Type */ /* Element Discovery Type */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_DISCOVERY_TYPE, .elem_id = CAPWAP_ELEM_DISCOVERY_TYPE,
.start = cw_in_generic2, .start = cw_in_generic2,
.item_id = "discovery_type", .item_id = "discovery_type",
.mand = 1, .mand = 1,
@ -54,9 +116,9 @@ static cw_action_in_t actions_in[] = {
/* Element WTP Board Data - Discovery Request */ /* Element WTP Board Data - Discovery Request */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_BOARD_DATA, .elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
.start = cw_in_wtp_board_data, .start = cw_in_wtp_board_data,
.item_id = CW_ITEM_WTP_BOARD_DATA, .item_id = CW_ITEM_WTP_BOARD_DATA,
.mand = 1, .mand = 1,
@ -65,9 +127,9 @@ static cw_action_in_t actions_in[] = {
/* Element WTP Descriptor - Discovery */ /* Element WTP Descriptor - Discovery */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.start = capwap_in_wtp_descriptor, .start = capwap_in_wtp_descriptor,
.item_id = "wtp_descriptor", .item_id = "wtp_descriptor",
.mand = 1, .mand = 1,
@ -77,7 +139,7 @@ static cw_action_in_t actions_in[] = {
/* Element WTP Frame Tunnel Mode */ /* Element WTP Frame Tunnel Mode */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE, .elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
.start = cw_in_generic2, .start = cw_in_generic2,
@ -90,7 +152,7 @@ static cw_action_in_t actions_in[] = {
/* Element WTP Mac Type */ /* Element WTP Mac Type */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_MAC_TYPE, .elem_id = CW_ELEM_WTP_MAC_TYPE,
.start = cw_in_generic2, .start = cw_in_generic2,
@ -103,7 +165,7 @@ static cw_action_in_t actions_in[] = {
/* MTU Discovery Padding */ /* MTU Discovery Padding */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_MTU_DISCOVERY_PADDING, .elem_id = CW_ELEM_MTU_DISCOVERY_PADDING,
.start = cw_in_mtu_discovery_padding, .start = cw_in_mtu_discovery_padding,
@ -112,7 +174,7 @@ static cw_action_in_t actions_in[] = {
/* Vendor Specific Payload */ /* Vendor Specific Payload */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_VENDOR_SPECIFIC_PAYLOAD, .elem_id = CW_ELEM_VENDOR_SPECIFIC_PAYLOAD,
.start = cw_in_vendor_specific_payload, .start = cw_in_vendor_specific_payload,
@ -148,7 +210,7 @@ static cw_action_in_t actions_in[] = {
{ {
.capwap_state = CW_STATE_JOIN, .capwap_state = CW_STATE_JOIN,
.msg_id = CAPWAP_MSG_JOIN_REQUEST, .msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_BOARD_DATA, .elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
.start = cw_in_wtp_board_data, .start = cw_in_wtp_board_data,
.item_id = CW_ITEM_WTP_BOARD_DATA, .item_id = CW_ITEM_WTP_BOARD_DATA,
.mand = 1, .mand = 1,
@ -159,7 +221,7 @@ static cw_action_in_t actions_in[] = {
{ {
.capwap_state = CW_STATE_JOIN, .capwap_state = CW_STATE_JOIN,
.msg_id = CAPWAP_MSG_JOIN_REQUEST, .msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.start = capwap_in_wtp_descriptor, .start = capwap_in_wtp_descriptor,
.item_id = CW_ITEM_WTP_DESCRIPTOR, .item_id = CW_ITEM_WTP_DESCRIPTOR,
.mand = 1, .mand = 1,

View File

@ -10,7 +10,7 @@ static cw_action_in_t actions_in[] = {
/* Message Discovery Response */ /* Message Discovery Response */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE,
.end = cw_in_check_disc_resp .end = cw_in_check_disc_resp
} }
@ -18,7 +18,7 @@ static cw_action_in_t actions_in[] = {
/* AC Descriptor - Discovery Response */ /* AC Descriptor - Discovery Response */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,
@ -31,7 +31,7 @@ static cw_action_in_t actions_in[] = {
/* AC Name - Discovery Response */ /* AC Name - Discovery Response */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,
@ -44,7 +44,7 @@ static cw_action_in_t actions_in[] = {
/* CAPWAP Control IPv4 Address - Discovery Response*/ /* CAPWAP Control IPv4 Address - Discovery Response*/
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,
@ -58,7 +58,7 @@ static cw_action_in_t actions_in[] = {
/* CAPWAP Control IPv6 Address - Discovery Response*/ /* CAPWAP Control IPv6 Address - Discovery Response*/
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,
@ -71,7 +71,7 @@ static cw_action_in_t actions_in[] = {
/* Vendor Specific Payload - Discovery Response*/ /* Vendor Specific Payload - Discovery Response*/
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE,
.elem_id = CW_ELEM_VENDOR_SPECIFIC_PAYLOAD, .elem_id = CW_ELEM_VENDOR_SPECIFIC_PAYLOAD,
.start = cw_in_vendor_specific_payload .start = cw_in_vendor_specific_payload
@ -85,7 +85,7 @@ static cw_action_in_t actions_in[] = {
* The Result Code is not defined as part * The Result Code is not defined as part
* of Discovery Response * of Discovery Response
*/ */
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,
@ -451,7 +451,7 @@ static cw_action_out_t actions_out[] = {
/* Discovery Type - Discovery Request */ /* Discovery Type - Discovery Request */
{ {
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_DISCOVERY_TYPE, .elem_id = CAPWAP_ELEM_DISCOVERY_TYPE,
.item_id = CW_ITEM_DISCOVERY_TYPE, .item_id = CW_ITEM_DISCOVERY_TYPE,
.out = cw_out_generic, .out = cw_out_generic,
.get = cw_out_get_outgoing, .get = cw_out_get_outgoing,
@ -462,7 +462,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Board Data - Discovery Request */ /* WTP Board Data - Discovery Request */
{ {
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_BOARD_DATA, .elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
.item_id = CW_ITEM_WTP_BOARD_DATA, .item_id = CW_ITEM_WTP_BOARD_DATA,
.out = cw_out_wtp_board_data, .out = cw_out_wtp_board_data,
.get = cw_out_get_config, .get = cw_out_get_config,
@ -473,7 +473,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Descriptor - Discover Request */ /* WTP Descriptor - Discover Request */
{ {
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.item_id = CW_ITEM_WTP_DESCRIPTOR, .item_id = CW_ITEM_WTP_DESCRIPTOR,
.out = capwap_out_wtp_descriptor, .out = capwap_out_wtp_descriptor,
//.get = cw_out_get_config, //.get = cw_out_get_config,
@ -523,7 +523,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Board Data - Join Request */ /* WTP Board Data - Join Request */
{ {
.msg_id = CAPWAP_MSG_JOIN_REQUEST, .msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_BOARD_DATA, .elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
.item_id = CW_ITEM_WTP_BOARD_DATA, .item_id = CW_ITEM_WTP_BOARD_DATA,
.out = cw_out_wtp_board_data, .out = cw_out_wtp_board_data,
.get = cw_out_get_config, .get = cw_out_get_config,
@ -534,7 +534,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Descriptor - Join Request */ /* WTP Descriptor - Join Request */
{ {
.msg_id = CAPWAP_MSG_JOIN_REQUEST, .msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.item_id = CW_ITEM_WTP_DESCRIPTOR, .item_id = CW_ITEM_WTP_DESCRIPTOR,
.out = cw_out_wtp_descriptor, .out = cw_out_wtp_descriptor,
.mand = 1 .mand = 1

View File

@ -27,7 +27,7 @@ static cw_action_in_t actions_ac_in[] = {
/* 802.11 Radio Information - Discovery Request */ /* 802.11 Radio Information - Discovery Request */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_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,

View File

@ -19,7 +19,7 @@ static cw_action_in_t actions_wtp_in[] = {
/* 802.11 Radio Inmformation - Discovery Response */ /* 802.11 Radio Inmformation - Discovery Response */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,

View File

@ -50,7 +50,7 @@ static cw_action_in_t actions_in[] = {
/* Message Discovery Request */ /* Message Discovery Request */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.end = cw_in_check_disc_req .end = cw_in_check_disc_req
} }
@ -58,9 +58,9 @@ static cw_action_in_t actions_in[] = {
/* Element WTP Descriptor */ /* Element WTP Descriptor */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.start = cisco_in_wtp_descriptor, .start = cisco_in_wtp_descriptor,
.item_id = "wtp_descriptor", .item_id = "wtp_descriptor",
.mand = 1, .mand = 1,
@ -69,7 +69,7 @@ static cw_action_in_t actions_in[] = {
/* Element Cisco RAD Name */ /* Element Cisco RAD Name */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.vendor_id = CW_VENDOR_ID_CISCO, .vendor_id = CW_VENDOR_ID_CISCO,
.elem_id = CW_CISCO_RAD_NAME, .elem_id = CW_CISCO_RAD_NAME,
@ -86,9 +86,9 @@ static cw_action_in_t actions_in[] = {
* firmware does not send this message element. * firmware does not send this message element.
*/ */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_BOARD_DATA, .elem_id = CAPWAP_ELEM_WTP_BOARD_DATA,
.start = cw_in_wtp_board_data, .start = cw_in_wtp_board_data,
.item_id = CW_ITEM_WTP_BOARD_DATA, .item_id = CW_ITEM_WTP_BOARD_DATA,
.mand = 0, .mand = 0,
@ -106,7 +106,7 @@ static cw_action_in_t actions_in[] = {
{ {
.capwap_state = CW_STATE_JOIN, .capwap_state = CW_STATE_JOIN,
.msg_id = CAPWAP_MSG_JOIN_REQUEST, .msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.start = cisco_in_wtp_descriptor, .start = cisco_in_wtp_descriptor,
.item_id = "wtp_descriptor", .item_id = "wtp_descriptor",
.mand = 1, .mand = 1,
@ -503,7 +503,7 @@ static cw_action_in_t actions80211_in[] = {
/* Cisco doe't sned this message element in discovery request, /* Cisco doe't sned this message element in discovery request,
so make it non-mandatory */ so make it non-mandatory */
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_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,

View File

@ -46,7 +46,7 @@ static cw_action_in_t actions_in[] = {
/* AC Descriptor - Discovery Response */ /* AC Descriptor - Discovery Response */
{ {
.capwap_state = CW_STATE_DISCOVERY, .capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, .msg_id = CAPWAP_MSG_DISCOVERY_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,
@ -269,7 +269,7 @@ static cw_action_out_t actions_out[]={
/* WTP Descriptor - Discovery */ /* WTP Descriptor - Discovery */
{ {
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.item_id = CW_ITEM_WTP_DESCRIPTOR, .item_id = CW_ITEM_WTP_DESCRIPTOR,
.out = cisco_out_wtp_descriptor, .out = cisco_out_wtp_descriptor,
.mand = 1 .mand = 1
@ -307,7 +307,7 @@ static cw_action_out_t actions_out[]={
/* WTP Descriptor - Join Request */ /* WTP Descriptor - Join Request */
{ {
.msg_id = CAPWAP_MSG_JOIN_REQUEST, .msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_DESCRIPTOR, .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR,
.item_id = CW_ITEM_WTP_DESCRIPTOR, .item_id = CW_ITEM_WTP_DESCRIPTOR,
.out = cisco_out_wtp_descriptor, .out = cisco_out_wtp_descriptor,
.mand = 1 .mand = 1

View File

@ -122,7 +122,7 @@ static int run_discovery(struct conn *conn)
// conn->incomming = mbag_create(); // conn->incomming = mbag_create();
conn->capwap_state = CW_STATE_DISCOVERY; conn->capwap_state = CAPWAP_STATE_DISCOVERY;
mbag_set_byte(conn->outgoing, CW_ITEM_DISCOVERY_TYPE, mbag_set_byte(conn->outgoing, CW_ITEM_DISCOVERY_TYPE,
CAPWAP_DISCOVERY_TYPE_UNKNOWN); CAPWAP_DISCOVERY_TYPE_UNKNOWN);
@ -136,7 +136,7 @@ static int run_discovery(struct conn *conn)
while (!cw_timer_timeout(timer) while (!cw_timer_timeout(timer)
&& conn->capwap_state == CW_STATE_DISCOVERY) { && conn->capwap_state == CAPWAP_STATE_DISCOVERY) {
mavl_del_all(conn->incomming); mavl_del_all(conn->incomming);
int rc = cw_read_from(conn); int rc = cw_read_from(conn);