diff --git a/src/ac/ac_main.c b/src/ac/ac_main.c index 7ce603aa..7ba4d994 100644 --- a/src/ac/ac_main.c +++ b/src/ac/ac_main.c @@ -135,8 +135,11 @@ cw_action_t discovery_actions[] = { { CW_VENDOR_ID_CISCO,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_CISCO_RAD_NAME, cw_in_wtp_name,0 }, + +{ 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_WTP_BOARD_DATA, + cw_in_wtp_board_data,0 }, + /* -{ 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_WTP_BOARD_DATA}, { 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_WTP_DESCRIPTOR}, { 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_WTP_FRAME_TUNNEL_MODE}, { 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_WTP_MAC_TYPE}, diff --git a/src/capwap/capwap.h b/src/capwap/capwap.h index beb83158..aa96a022 100644 --- a/src/capwap/capwap.h +++ b/src/capwap/capwap.h @@ -163,7 +163,7 @@ struct capwap_ctrlhdr #define CW_ELEM_AC_IPV6_LIST 3 #define CW_ELEM_AC_NAME 4 #define CW_ELEM_AC_NAME_WITH_PRIORITY 5 -#define CW_ELEM_AC_NAME_WITH_INDEX 5 /* Draft 7 inaming */ +#define CW_ELEM_AC_NAME_WITH_INDEX 5 /* Draft 7 naming */ #define CW_ELEM_AC_TIMESTAMP 6 #define CW_ELEM_ADD_MAC_ACL_ENTRY 7 #define CW_ELEM_ADD_STATION 8 @@ -173,7 +173,7 @@ struct capwap_ctrlhdr #define CWMSGELEM_CAPWAP_LOCAL_IPV4_ADDRESS 30 #define CWMSGELEM_CAPWAP_LOCAL_IPV6_ADDRESS 50 #define CW_ELEM_CAPWAP_TIMERS 12 -#define CW_ELEM_CAPWAP_TRANSPORT_PROTOCOL 51 /* not in draft 7 */ +#define CW_ELEM_CAPWAP_TRANSPORT_PROTOCOL 51 /* not in draft 7 */ #define CW_ELEM_DATA_TRANSFER_DATA 13 #define CW_ELEM_DATA_TRANSFER_MODE 14 #define CW_ELEM_DECRYPTION_ERROR_REPORT 15 @@ -717,7 +717,7 @@ extern struct cw_strlist capwap_strings_vendor[]; #define cw_strmsg(id) cw_strlist_get_str(capwap_strings_msg,id) #define cw_strstate(id) cw_strlist_get_str(capwap_strings_state,id) -#define cw_strvendor(id) cw_strlist_get_str(cawpap_strings_vendor,id) +#define cw_strvendor(id) cw_strlist_get_str(capwap_strings_vendor,id) int cw_process_msg(struct conn * conn,uint8_t * rawmsg,int len); @@ -725,6 +725,7 @@ int cw_process_msg(struct conn * conn,uint8_t * rawmsg,int len); extern int cw_in_vendor_specific_payload(struct conn *conn,struct cw_action * a,uint8_t *data,int len); extern int cw_in_wtp_name(struct conn *conn,struct cw_action * a,uint8_t *data,int len); +extern int cw_in_wtp_board_data(struct conn *conn, struct cw_action *a, uint8_t * data, int len); #endif diff --git a/src/capwap/cw_in_vendor_specific_payload.c b/src/capwap/cw_in_vendor_specific_payload.c index 938a584c..a72c7814 100644 --- a/src/capwap/cw_in_vendor_specific_payload.c +++ b/src/capwap/cw_in_vendor_specific_payload.c @@ -1,5 +1,6 @@ #include "capwap.h" +#include "cw_log.h" /** * @file * @brief Implementation of Vendor Specific Payload @@ -19,10 +20,10 @@ int cw_in_vendor_specific_payload(struct conn *conn,struct cw_action * a,uint8_t af = cw_actionlist_get(conn->msgtr,&as); - - if (!af) { - printf("Msg unknown\n"); + cw_log(DBG_ELEM,"Can't handle Vendor Specific Payload %s/%d, in msg %d (%s) in %s state.", + cw_strvendor(as.vendor_id), + as.elem_id,as.msg_id,cw_strmsg(as.msg_id),cw_strstate(as.capwap_state)); return 0; } diff --git a/src/capwap/cw_in_wtp_board_data.c b/src/capwap/cw_in_wtp_board_data.c index ad045463..caba3763 100644 --- a/src/capwap/cw_in_wtp_board_data.c +++ b/src/capwap/cw_in_wtp_board_data.c @@ -71,6 +71,7 @@ static void readsubelems_wtp_board_data(cw_itemstore_t itemstore, uint8_t * msge */ int cw_in_wtp_board_data(struct conn *conn, struct cw_action *a, uint8_t * data, int len) { + printf("Jau Board Data\n"); if (len < 4) { cw_dbg(DBG_ELEM_ERR, "Discarding WTP_BOARD_DATA msgelem, wrong size, type=%d, len=%d", a->elem_id,