diff --git a/src/ac/wtpman.c b/src/ac/wtpman.c index 4df58717..09711a3e 100644 --- a/src/ac/wtpman.c +++ b/src/ac/wtpman.c @@ -374,44 +374,6 @@ static void *wtpman_main(void *arg) } } - - - - - - - - - - - - - - - - - - - - - - - /* dtls is established, goto join state */ -/* - conn->capwap_state = CAPWAP_STATE_JOIN; - if (!wtpman_join(wtpman)) { - wtpman_remove(wtpman); - return NULL; - } - - - - cw_dbg(DBG_INFO, "WTP from %s has joined with session id: %s", - sock_addr2str_p(&conn->addr, sock_buf), - format_bin2hex(conn->session_id, 16)); - -*/ - exit(0); return NULL; @@ -433,20 +395,7 @@ void wtpman_destroy(struct wtpman *wtpman) static void copy(struct cw_ElemHandlerParams * params) { -// struct wtpman * wtpman; - //struct cw_Conn * conn; - //wtpman = (struct wtpman*)params->conn->data; - //conn = (struct cw_Conn*)params->conn; - - -// cw_dbg(DBG_X,"------------- Here is the config we ve got from WTP ---------------- "); -// cw_cfg_dump(params->cfg); -// cw_dbg(DBG_X,"------------- This was the config we ve got from WTP ---------------- "); -// cw_dbg(DBG_X,"Now copying:"); -// cw_cfg_copy(params->cfg,conn->local_cfg,0,""); cw_cfg_copy(params->cfg, params->conn->remote_cfg,DBG_CFG_UPDATES,"GlobalCfg"); - -// cw_dbg(DBG_X,"Copying done."); } static int discovery_cb(struct cw_ElemHandlerParams * params, uint8_t * elems_ptr, int elems_len) @@ -499,6 +448,8 @@ static int update_cb(struct cw_ElemHandlerParams * params, uint8_t * elems_ptr, static int event_cb(struct cw_ElemHandlerParams * params, uint8_t * elems_ptr, int elems_len) { struct cw_Conn * conn = (struct cw_Conn*)params->conn; + struct wtpman * wtpman = (struct wtpman *)conn->data; + char filename[200]; @@ -507,9 +458,8 @@ static int event_cb(struct cw_ElemHandlerParams * params, uint8_t * elems_ptr, i copy(params); const char * wtpname = cw_cfg_get(conn->remote_cfg,"capwap/wtp-name","default"); - sprintf(filename,"wtp-event-%s.ckv",wtpname); - cw_cfg_save(filename,conn->remote_cfg,NULL); -//stop(); + sprintf(filename,"wtp-event-%d-%s.ckv",wtpman->ctr++,wtpname); + cw_cfg_save(filename,params->cfg,NULL); return 0; } @@ -530,6 +480,8 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr, if (!wtpman) return 0; + wtpman->ctr=0; + if (socklist[socklistindex].type != SOCKLIST_UNICAST_SOCKET) { int port = sock_getport(&socklist[socklistindex].addr); diff --git a/src/ac/wtpman.h b/src/ac/wtpman.h index f7bbfc0f..252746ce 100644 --- a/src/ac/wtpman.h +++ b/src/ac/wtpman.h @@ -41,7 +41,7 @@ struct wtpman { cw_Cfg_t * wtp_cfg; - + int ctr; }; /* diff --git a/src/cw/Makefile b/src/cw/Makefile index e2cc1b08..1f447a28 100644 --- a/src/cw/Makefile +++ b/src/cw/Makefile @@ -24,7 +24,6 @@ CWSRC=\ cw_in_generic_indexed_enum.c\ cw_out_generic_indexed_enum.c\ cw_in_generic_enum.c\ - cw_out_generic_struct.c\ cw_out_idx_generic_struct.c\ cw_init_data_keep_alive_msg.c\ cw_inline.c\ @@ -77,6 +76,7 @@ CWSRC=\ # cw_out_generic.c\ # # cw_process_element.c\ +# cw_out_generic_struct.c\ KTVSRC=\ cfg.c\ diff --git a/src/cw/message.c b/src/cw/message.c index 08719c9b..1ea15e91 100644 --- a/src/cw/message.c +++ b/src/cw/message.c @@ -233,6 +233,10 @@ int cw_decode_element(struct cw_ElemHandlerParams *params, int proto, /* check the length of the message */ if (len < handler->min_len) { + if (!handler->flags || cw_dbg_is_level(DBG_ELEM_VNDR)) + cw_dbg_elem(params->dbg_level, NULL, params->msgdata->type, handler, + data, len); + cw_dbg(DBG_ELEM_ERR, "%d (%s) message element too short, len=%d, min len=%d", handler->id, handler->name, len, handler->min_len); @@ -246,6 +250,10 @@ int cw_decode_element(struct cw_ElemHandlerParams *params, int proto, if (len > handler->max_len && handler->max_len) { + if (!handler->flags || cw_dbg_is_level(DBG_ELEM_VNDR)) + cw_dbg_elem(params->dbg_level, NULL, params->msgdata->type, handler, + data, len); + cw_dbg(DBG_ELEM_ERR, "%d (%s) message element too big, len=%d, max len=%d", handler->id, handler->name, len, handler->max_len); diff --git a/src/mod/cisco/capwap_cisco.h b/src/mod/cisco/capwap_cisco.h index 1cf3b7b0..832d674b 100644 --- a/src/mod/cisco/capwap_cisco.h +++ b/src/mod/cisco/capwap_cisco.h @@ -47,10 +47,9 @@ #define CISCO_ELEM_TX_POWER LW_ELEM_80211_TX_POWER /* 12 */ #define CISCO_ELEM_TX_POWER_LEVELS LW_ELEM_80211_TX_POWER_LEVELS /* 13 */ #define CISCO_ELEM_DIRECT_SEQUENCE_CONTROL LW_ELEM_DIRECT_SEQUENCE_CONTROL /* 14 */ -#define CW_CISCO_SUPPORTED_RATES LW_ELEM_80211_RATE_SET /* 16 */ +#define CISCO_ELEM_SUPPORTED_RATES LW_ELEM_80211_RATE_SET /* 16 */ #define CISCO_ELEM_15 15 /* 15 */ -#define CISCO_ELEM_16 16 /* 16 */ #define CISCO_ELEM_19 19 /* 19 */ #define CISCO_ELEM_22 22 /* 22 */ #define CISCO_ELEM_24 24 /* 24 */ @@ -72,8 +71,8 @@ #define CW_CISCO_CERTIFICATE LW_ELEM_CERTIFICATE /* 44 */ -#define CISCO_ELEM_47 47 /* 47 */ -#define CISCO_ELEM_48 48 /* 47 */ +#define CISCO_ELEM_PERFORMANCE_PROFILE 47 /* 47 */ +#define CISCO_ELEM_SPAM_CFP_STATUS 48 /* 48 */ #define CISCO_ELEM_WTP_BOARD_DATA LW_ELEM_WTP_BOARD_DATA /* 50 */ diff --git a/src/mod/cisco/cisco_actions.c b/src/mod/cisco/cisco_actions.c index 0277b26a..65f13aaa 100644 --- a/src/mod/cisco/cisco_actions.c +++ b/src/mod/cisco/cisco_actions.c @@ -458,6 +458,41 @@ static cw_ValStruct_t cisco_rrm_load_stru[]={ {NULL,NULL,0,0} }; +static cw_ValStruct_t cisco_performance_profile_stru[]={ + {CW_TYPE_BYTE,"cfg-type",1,-1,cfg_type}, + {CW_TYPE_WORD,"rf-busy-threshold",2,-1}, + {CW_TYPE_WORD,"num-clients-threshold",2,-1}, + {CW_TYPE_WORD,"bytes-per-sec",2,-1}, + {CW_TYPE_WORD,"foreigh-threshold",2,-1}, + {CW_TYPE_WORD,"rssi-threshold",2,-1}, + {CW_TYPE_WORD,"min-perf-snr",2,-1}, + {CW_TYPE_WORD,"excpection-level",2,-1}, + {CW_TYPE_WORD,"min-num-clients",2,-1}, + {NULL,NULL,0,0} +}; + +static cw_ValStruct_t cisco_phy_ht_cap_stru[]={ + {CW_TYPE_WORD,"ht-cap-info",2,-1}, + {CW_TYPE_WORD,"extendend-ht-cap-info",2,-1}, + {CW_TYPE_BSTR16,"rest",-1,-1}, + {NULL,NULL,0,0} +}; + +static cw_ValStruct_t cisco_phy_ht_control_stru[]={ + {CW_TYPE_BYTE,"enable-ht",1,-1}, + {CW_TYPE_BYTE,"cfg-type",1,-1,cfg_type}, + {CW_TYPE_BYTE,"current-freq",1,-1}, + {CW_TYPE_BSTR16,"rest",-1,-1}, + {NULL,NULL,0,0} +}; + +static cw_ValStruct_t cisco_station_cfg_stru[]={ + {CW_TYPE_BYTE,"cfg-type",1,-1,cfg_type}, + {CW_TYPE_BYTE,"current-freq",1,-1}, + {CW_TYPE_BSTR16,"rest",-1,-1}, + {NULL,NULL,0,0} +}; + static cw_ValStruct_t cisco_ap_qos[]={ @@ -1455,8 +1490,8 @@ static struct cw_ElemHandler handlers70[] = { }, { - "Cisco Elem 16 ", /* name */ - CISCO_ELEM_16, /* Element ID */ + "Cisco - Supported Rates", /* name */ + CISCO_ELEM_SUPPORTED_RATES, /* Element ID */ CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ 1,1024, /* min/max length */ CW_TYPE_BSTR16, /* type */ @@ -1543,12 +1578,12 @@ static struct cw_ElemHandler handlers70[] = { }, { - "Cisco Elem 48", /* name */ - CISCO_ELEM_48, /* Element ID */ + "Cisco - Spam CFP Status", /* name */ + CISCO_ELEM_SPAM_CFP_STATUS, /* Element ID */ CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ - 1,1024, /* min/max length */ - CW_TYPE_BSTR16, /* type */ - "cisco/elem48", /* Key */ + 2,2, /* min/max length */ + CW_TYPE_BOOL, /* type */ + "cisco/spam-cfp-status", /* Key */ cw_in_radio_generic, /* get */ cw_out_radio_generic /* put */ }, @@ -1570,21 +1605,21 @@ static struct cw_ElemHandler handlers70[] = { }, { - "Cisco LWAPP Elem 11", /* name */ + "Cisco LWAPP AP MFP Cap. Sub-type", /* name */ - CISCO_LWELEM_11, /* Element ID */ + CISCO_LWELEM_AP_MFP_CAP_SUBTYPE, /* Element ID */ CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */ - 1,1024, /* min/max length */ - CW_TYPE_BSTR16, /* type */ - "cisco/lwelem11", /* Key */ + 5,5, /* min/max length */ + CW_TYPE_DWORD, /* type */ + "cisco/ap-mfp-cap-subtype", /* Key */ cw_in_radio_generic, /* get */ cw_out_radio_generic /* put */ }, { - "Cisco LWAP Elem 14", /* name */ - CISCO_LWELEM_14, /* Element ID */ + "Cisco AP MFP Config Subt.", /* name */ + CISCO_LWELEM_AP_MFP_CONFIG_SUBTYPE, /* Element ID */ CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */ 1,1024, /* min/max length */ @@ -1597,43 +1632,52 @@ static struct cw_ElemHandler handlers70[] = { { - "Cisco LWAP Elem 27", /* name */ + "Cisco LWAPP PHY HT Cap.", /* name */ - CISCO_LWELEM_27, /* Element ID */ + CISCO_LWELEM_PHY_HT_CAP, /* Element ID */ CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */ 1,1024, /* min/max length */ - CW_TYPE_BSTR16, /* type */ - "cisco/lwelem27", /* Key */ + CW_TYPE_STRUCT, /* type */ + "cisco/phy-ht-cap", /* Key */ cw_in_radio_generic, /* get */ - cw_out_radio_generic /* put */ + cw_out_radio_generic, /* put */ + NULL, + NULL, + cisco_phy_ht_cap_stru, }, { - "Cisco LWAP Elem 28", /* name */ + "Cisco LWAPP Station Cfg 28 ???", /* name */ CISCO_LWELEM_28, /* Element ID */ CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */ 1,1024, /* min/max length */ - CW_TYPE_BSTR16, /* type */ - "cisco/lwelem28", /* Key */ + CW_TYPE_STRUCT, /* type */ + "cisco/station-cfg", /* Key */ cw_in_radio_generic, /* get */ - cw_out_radio_generic /* put */ + cw_out_radio_generic, /* put */ + NULL, + NULL, + cisco_station_cfg_stru, }, { - "Cisco LWAPP Elem 29", /* name */ + "Cisco LWAPP PHY HT Control", /* name */ - CISCO_LWELEM_29, /* Element ID */ + CISCO_LWELEM_PHY_HT_CONTROL, /* Element ID */ CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */ 1,1024, /* min/max length */ - CW_TYPE_BSTR16, /* type */ - "cisco/lwelem29", /* Key */ + CW_TYPE_STRUCT, /* type */ + "cisco/phy-ht-control", /* Key */ cw_in_radio_generic, /* get */ - cw_out_radio_generic /* put */ + cw_out_radio_generic, /* put */ + NULL, + NULL, + cisco_phy_ht_control_stru }, @@ -1751,14 +1795,17 @@ static struct cw_ElemHandler handlers70[] = { }, { - "Cisco Elem 47", /* name */ - CISCO_ELEM_47, /* Element ID */ + "Cisco - Performance Profile", /* name */ + CISCO_ELEM_PERFORMANCE_PROFILE, /* Element ID */ CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ - 1,1024, /* min/max length */ - CW_TYPE_BSTR16, /* type */ - "cisco/elem47", /* Key */ + 18,18, /* min/max length */ + CW_TYPE_STRUCT, /* type */ + "cisco/proformance-profile", /* Key */ cw_in_radio_generic, /* get */ - cw_out_radio_generic /* put */ + cw_out_radio_generic, /* put */ + NULL, + NULL, + cisco_performance_profile_stru }, @@ -2213,15 +2260,15 @@ static struct cw_ElemDef configuration_status_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_VENDOR_SPECIFIC,0, CW_IGNORE}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_15, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_16, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SUPPORTED_RATES, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_19, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_22, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_24, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_RRM_LOAD, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_33, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_39, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_47, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_48, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_PERFORMANCE_PROFILE, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_CFP_STATUS, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_81, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_132, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_145, 0, 0}, @@ -2229,11 +2276,11 @@ static struct cw_ElemDef configuration_status_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_153, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_156, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_9, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_11, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_14, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_27, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_MFP_CAP_SUBTYPE, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_MFP_CONFIG_SUBTYPE, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CAP, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_28, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_29, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CONTROL, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_33, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_48, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_55, 0, 0}, @@ -2298,15 +2345,15 @@ static struct cw_ElemDef configuration_status_response_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_15, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_16, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SUPPORTED_RATES, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_19, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_22, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_24, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_RRM_LOAD, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_33, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_39, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_47, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_48, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_PERFORMANCE_PROFILE, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_CFP_STATUS, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_81, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_132, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_145, 0, 0}, @@ -2315,11 +2362,11 @@ static struct cw_ElemDef configuration_status_response_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_156, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_9, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_11, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_14, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_27, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_MFP_CAP_SUBTYPE, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_MFP_CONFIG_SUBTYPE, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CAP, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_28, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_29, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CONTROL, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_33, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_48, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_55, 0, 0}, @@ -2362,15 +2409,15 @@ static struct cw_ElemDef configuration_update_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_VENDOR_SPECIFIC,0, CW_IGNORE}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_15, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_16, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SUPPORTED_RATES, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_19, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_22, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_24, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_RRM_LOAD, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_33, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_39, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_47, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_48, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_PERFORMANCE_PROFILE, 0, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_CFP_STATUS, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_81, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_132, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_145, 0, 0}, @@ -2378,11 +2425,11 @@ static struct cw_ElemDef configuration_update_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_153, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_156, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_9, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_11, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_14, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_27, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_MFP_CAP_SUBTYPE, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_MFP_CONFIG_SUBTYPE, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CAP, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_28, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_29, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CONTROL, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_33, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_48, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_55, 0, 0}, @@ -2469,7 +2516,8 @@ static struct cw_ElemDef wtp_event_request_elements[] ={ {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_ADD_WLAN, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_HARDWARE_INFO, 0, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_RADIO_MODULE_INFO, 0, 0}, - {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_29, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_PHY_HT_CONTROL, 0, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_55, 0, 0}, {0,0,0,0,0} }; diff --git a/src/mod/cisco/lwapp_cisco.h b/src/mod/cisco/lwapp_cisco.h index ade9e62e..e801a739 100644 --- a/src/mod/cisco/lwapp_cisco.h +++ b/src/mod/cisco/lwapp_cisco.h @@ -29,15 +29,16 @@ */ #define CISCO_LWELEM_9 9 -#define CISCO_LWELEM_11 11 -#define CISCO_LWELEM_14 14 +#define CISCO_LWELEM_AP_MFP_CAP_SUBTYPE 11 +#define CISCO_LWELEM_AP_MFP_CONFIG_SUBTYPE 14 #define CISCO_LWELEM_AP_USERNAME_PASSWORD 18 #define LW_CISCO_MANAGER_IP_ADDR 19 #define CISCO_LWELEM_DISCOVERY_PROTOCOL 20 #define CISCO_LWELEM_RADIO_MODULE_INFO 21 -#define CISCO_LWELEM_27 27 +#define CISCO_LWELEM_PHY_HT_CAP 27 +//#define CISCO_LWELEM_STATION_CFG 28 #define CISCO_LWELEM_28 28 -#define CISCO_LWELEM_29 29 +#define CISCO_LWELEM_PHY_HT_CONTROL 29 #define CISCO_LWELEM_AC_IP_ADDR_WITH_INDEX 32 #define CISCO_LWELEM_33 33 #define CISCO_LWELEM_AP_ETHERNET_PORT_SUBTYPE 34