diff --git a/src/cw/conn_send_request.c b/src/cw/conn_send_request.c deleted file mode 100644 index 634766a5..00000000 --- a/src/cw/conn_send_request.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - -/** - *@file - *@brief conn_send_request - */ - -#include "capwap.h" -#include "cw_util.h" -#include "log.h" - -/** - * Send a request message and wait for its response - * @param conn the connection - * - * The message has to be prepared and put to conn->req_msg - * - */ - - -/* -struct cwrmsg * conn_send_request(struct conn * conn) -{ - int i; - - struct cwrmsg * cwrmsg; - struct cwmsg * cwmsg = &conn->req_msg; - - - for (i=0; imax_retransmit; i++) { - - time_t r_timer = cw_timer_start(conn->retransmit_interval); - if (i!=0) - cw_dbg(DBG_MSG_ERR,"Retransmitting message, type=%d,seq=%d",cwmsg->type,cwmsg->seqnum); - - conn_send_cwmsg(conn,&conn->req_msg); - cwrmsg = conn_wait_for_message(conn,r_timer); - if (cwrmsg){ - if (cwrmsg->type == conn->req_msg.type+1){ - return cwrmsg; - } - - } - } - cw_dbg(DBG_MSG_ERR,"Max retransmit's reached, message type=%d,seq=%d",cwmsg->type,cwmsg->seqnum); - return 0; -} -*/ diff --git a/src/mod/cisco/Makefile b/src/mod/cisco/Makefile index 4db3b779..5db25b84 100644 --- a/src/mod/cisco/Makefile +++ b/src/mod/cisco/Makefile @@ -4,7 +4,7 @@ include ../../Defs.mak SOURCES=\ mod_cisco_ac.c \ - cisco_actions_ac.c \ + cisco_actions.c \ cisco_in_wtp_descriptor.c \ cisco_out_wtp_descriptor.c \ cisco_in_ac_descriptor.c\ diff --git a/src/mod/cisco/cisco_actions_ac.c b/src/mod/cisco/cisco_actions.c similarity index 99% rename from src/mod/cisco/cisco_actions_ac.c rename to src/mod/cisco/cisco_actions.c index 62e86389..02395662 100644 --- a/src/mod/cisco/cisco_actions_ac.c +++ b/src/mod/cisco/cisco_actions.c @@ -1822,7 +1822,7 @@ static struct cw_ElemDef configuration_update_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_CORE_DUMP, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_STATISTICS_TIMER, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AC_NAME_WITH_INDEX, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_VENUE_SETTINGS, 0, 0}, +// {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_VENUE_SETTINGS, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_80211_ASSOC_LIMIT, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SIG_TOGGLE, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MAC_OPERATION, 0, 0}, @@ -2072,8 +2072,6 @@ static struct cw_ElemHandler handlers73[] = { } , - - { "AP Venue Settings", /* name */ CISCO_ELEM_AP_VENUE_SETTINGS, /* Element ID */ diff --git a/src/mod/cisco/cisco_actions_ac b/src/mod/cisco/cisco_actions_ac deleted file mode 100644 index 97f7b37b..00000000 --- a/src/mod/cisco/cisco_actions_ac +++ /dev/null @@ -1,174 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - - -#include "capwap/capwap.h" -#include "capwap/action.h" -#include "capwap/capwap_items.h" -#include "capwap_actions.h" -#include "capwap/strheap.h" -#include "capwap/radio.h" - -#include "mod_capwap.h" - -cw_action_in_t _capwap_actions_ac_in[] = { - - - /* ------------------------------------------------------------------------------- */ - /* Message Discovery Request */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .end = cw_in_check_disc_req - } - , - - /* Element Discovery Type */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_DISCOVERY_TYPE, - .start = cw_in_generic2, - .item_id = "discovery_type", - .mand = 1, - .min_len = 1, - .max_len = 1 - } - , - - /* Element WTP Frame Tunnel Mode */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE, - .start = cw_in_generic2, - .item_id = "wtp_frame_tunnel_mode", - .mand = 1, - .min_len = 1, - .max_len = 1 - } - , - - /* Element WTP Mac Type */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_WTP_MAC_TYPE, - .start = cw_in_generic2, - .item_id = "wtp_mac_type", - .mand = 1, - .min_len = 1, - .max_len = 1 - } - , - - - /* Element WTP Descriptor */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_WTP_DESCRIPTOR, - .start = capwap_in_wtp_descriptor, - .item_id = "wtp_descriptor", - .mand = 1, - } - - , - - /* Element WTP Board Data */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_WTP_BOARD_DATA, - .start = capwap_in_wtp_board_data, - .item_id = "wtp_board_data", - .mand = 1, - } -// , - - /* Element WTP Board Data */ -// {0, 0, CW_STATE_CONFIGURE, CW_MSG_DISCOVERY_REQUEST, CW_ACTION_IN_WTP_BOARD_DATA, -// 1} - , - - - /* Vendor Specific Payload */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_VENDOR_SPECIFIC_PAYLOAD, - }, - - - /* Element WTP Name */ - { - .capwap_state = CW_STATE_DISCOVERY, - .msg_id = CW_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM_WTP_NAME, - .start = cw_in_generic2, - .item_id = "wtp_name", - .mand = 0, - .min_len = 1, - .max_len = 1024 - } - , - - /* End of list */ - {0, 0} -}; - - -#include "capwap/item.h" - -static struct cw_itemdef _capwap_itemdefs[] = { - - {"wtp_name",CW_ITEM_NONE,MBAG_STR}, - {"wtp_mac_type",CW_ITEM_NONE,MBAG_BYTE}, - {"discovery_type",CW_ITEM_NONE,MBAG_BYTE}, - {"wtp_frame_tunnel_mode",CW_ITEM_NONE,MBAG_BYTE}, - {CW_ITEM_NONE} - -}; - - -int capwap_register_actions_ac(struct cw_actiondef *def) -{ - def->in = cw_actionlist_in_create(); - def->out = cw_actionlist_out_create(); - def->strmsg = cw_strheap_create(); - def->strelem = cw_strheap_create(); - def->wbids = intavltree_create(); - def->items = cw_itemdefheap_create(); - def->radioitems = cw_itemdefheap_create(); - - int rc; - rc = cw_actionlist_in_register_actions(def->in, _capwap_actions_ac_in); -// rc += cw_actionlist_out_register_actions(def->out, capwap_actions_ac_out); - - rc += cw_strheap_register_strings(def->strmsg, capwap_strings_msg); - rc += cw_strheap_register_strings(def->strelem, capwap_strings_elem); - - rc += cw_itemdefheap_register(def->items, _capwap_itemdefs); - rc += cw_itemdefheap_register(def->radioitems, capwap_radioitemdefs); - - intavltree_add(def->wbids, 0); - - - - return rc; -} diff --git a/src/mod/cisco/cisco_actions_wtp.c b/src/mod/cisco/cisco_actions_wtp.c deleted file mode 100644 index f532e16a..00000000 --- a/src/mod/cisco/cisco_actions_wtp.c +++ /dev/null @@ -1,577 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - - - - - -#include "cw/strheap.h" -#include "cw/radio.h" -#include "cw/capwap_cisco.h" -#include "cw/capwap80211.h" - -#include "cw/lwapp_cisco.h" - - - - -/*#include "mod_cisco.h"*/ - -#include "cisco.h" -#include "cisco80211.h" - - -static cw_action_in_t actions_in[] = { - - /* ---------------------------------------------------------------- - * Discovery Response - */ - - - /* AC Descriptor - Discovery Response */ - { - .capwap_state = CAPWAP_STATE_DISCOVERY, - .msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, - .elem_id = CAPWAP_ELEM_AC_DESCRIPTOR, - .item_id = CW_ITEM_AC_DESCRIPTOR, - .start = cisco_in_ac_descriptor, - .min_len = 12, - .max_len = 8192, - .mand = 1 - } - , - - - /* ---------------------------------------------------------------- - * Join Response - */ - - - /* ECN Support - Join Response */ - { - /* Make ECN Support non-mand */ - .capwap_state = CAPWAP_STATE_JOIN, - .msg_id = CAPWAP_MSG_JOIN_RESPONSE, - .elem_id = CAPWAP_ELEM_ECN_SUPPORT, - .item_id = CW_ITEM_ECN_SUPPORT, - .start = cw_in_generic, - .mand = 0, - .min_len = 1, - .max_len = 1 - } - , - - /* AC Descriptor - Join Response */ - { - /* Cisco's AC Descriptor */ - .capwap_state = CAPWAP_STATE_JOIN, - .msg_id = CAPWAP_MSG_JOIN_RESPONSE, - .elem_id = CAPWAP_ELEM_AC_DESCRIPTOR, - .item_id = CW_ITEM_AC_DESCRIPTOR, - .start = cisco_in_ac_descriptor, - .min_len = 12, - .max_len = 8192, - .mand = 1 - } - , - - - /* ---------------------------------------------------------------- - * Configuration Update Request - */ - - /* Location Data - Conf Update Req */ - { - .capwap_state = CW_STATE_RUN, - .vendor_id = CW_VENDOR_ID_CISCO, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .elem_id = LW_ELEM_LOCATION_DATA, - .item_id = CW_ITEM_LOCATION_DATA, - .start = cw_in_generic, - .min_len = 0, - .max_len = 1024, - .mand = 0 - } - , - - /* WTP Name - Conf Update Req */ - { - .capwap_state = CW_STATE_RUN, - .vendor_id = CW_VENDOR_ID_CISCO, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .elem_id = CISCO_ELEM_RAD_NAME, - .item_id = CW_ITEM_WTP_NAME, - .start = cw_in_generic, - .min_len = 0, - .max_len = 1024, - .mand = 0 - } - , - - - /* WTP Name - Conf Update Req */ - { - .capwap_state = CW_STATE_RUN, - .vendor_id = CW_VENDOR_ID_CISCO, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .elem_id = CISCO_ELEM_AP_GROUP_NAME, - .item_id = CIPWAP_ITEM_WTP_GROUP_NAME, - .start = cw_in_generic, - .min_len = 0, - .max_len = 1024, - .mand = 0 - } - , - - - - /* Radio Admin State - Config Update Request */ - { - .capwap_state = CW_STATE_RUN, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .elem_id = CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE, - .item_id = CW_RADIOITEM_ADMIN_STATE, - .start = cisco_in_radio_administrative_state, - .min_len=2, - .max_len=2, - .mand = 0 - } - , - - /* AP Mode and Type */ - { - - .capwap_state = CW_STATE_RUN, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CW_CISCO_AP_MODE_AND_TYPE, - .item_id = CISCO_ITEM_AP_MODE_AND_TYPE, - .start = cw_in_generic - } - , - - - - - - - /* Element Cisco 802.11 Radio Config - Config Update Resp */ - { - .capwap_state = CW_STATE_RUN, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CW_CISCO_WTP_RADIO_CFG, - .start=cisco80211_in_wtp_radio_configuration, - .item_id = "cisco_radio_cfg", - } - , - - - - /* ---------------------------------------------------------------- - * Configuration Status Response - */ - - - /* Element Cisco 802.11 Radio Conffig - Config Status Resp */ - { - .capwap_state = CAPWAP_STATE_CONFIGURE, - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CW_CISCO_WTP_RADIO_CFG, - .start=cisco80211_in_wtp_radio_configuration, - .item_id = "cisco_radio_cfg", - } - , - - - /* Radio Admin State - Config Status Response */ - { - .capwap_state = CAPWAP_STATE_CONFIGURE, - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE, - .elem_id = CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE, - .item_id = CW_RADIOITEM_ADMIN_STATE, -// .start = cw_in_radio_generic, - .start = cisco_in_radio_administrative_state, - .mand = 1 - } - , - - - - /* Cisco's Vendor specific encapsulation - * of LWAPP elements */ - - { - - .capwap_state = CAPWAP_STATE_CONFIGURE, - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CISCO_ELEM_SPAM_VENDOR_SPECIFIC, - .start = lw_in_vendor_specific, - - } - , - - { - .capwap_state = CW_STATE_RUN, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CISCO_ELEM_SPAM_VENDOR_SPECIFIC, - .start = lw_in_vendor_specific, - } - , - - - /* LWAPP Vendor spec Messages */ - - /* MWAR Hash Value */ - { - - .proto = CW_ACTION_PROTO_LWAPP, - .capwap_state = CAPWAP_STATE_CONFIGURE, - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE, - .vendor_id = LW_VENDOR_ID_CISCO, - .elem_id = CISCO_LWELEM_MWAR_HASH_VALUE, - .item_id = CIPWAP_ITEM_AC_HASH_VALUE, - .start = cw_in_generic, //cisco_in_telnet_ssh - } - - , - /* End of list */ - {0, 0} -}; - - -static cw_action_out_t actions_out[]={ - - /* ---------------------------------------------------------------- - * Message Discover Request - */ - - - /* WTP Descriptor - Discovery */ - { - .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, - .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR, - .item_id = CW_ITEM_WTP_DESCRIPTOR, - .out = cisco_out_wtp_descriptor, - .mand = 1 - } - - , - - /* Cisco RAD Name (WTP Name) - Discovery */ - { - .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CISCO_ELEM_RAD_NAME, - .item_id = CW_ITEM_WTP_NAME, - .out = cw_out_generic, -/* .get = cw_out_get_config,*/ - .mand = 1 - } - , - - - /* ---------------------------------------------------------------- - * Message Join Rquest - */ - - /* CAPWAP Local IP Address - Join Request */ - { - /* use draft 7 elem ids */ - .msg_id = CAPWAP_MSG_JOIN_REQUEST, - .item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS, - .out = cw_out_capwap_local_ip_address_7, - .mand = 1 - } - , - - /* WTP Descriptor - Join Request */ - { - .msg_id = CAPWAP_MSG_JOIN_REQUEST, - .elem_id = CAPWAP_ELEM_WTP_DESCRIPTOR, - .item_id = CW_ITEM_WTP_DESCRIPTOR, - .out = cisco_out_wtp_descriptor, - .mand = 1 - } - , - - /* WTP Group Name (WTP Name) - Join Request */ - { - .msg_id = CAPWAP_MSG_JOIN_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CISCO_ELEM_AP_GROUP_NAME, - .item_id = CIPWAP_ITEM_WTP_GROUP_NAME, - .out = cw_out_generic, - /*.get = cw_out_get_config,*/ - .mand = 1 - } - , - - /* WTP Board Data Options - Join Request */ - { - .msg_id = CAPWAP_MSG_JOIN_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CW_CISCO_BOARD_DATA_OPTIONS, - .item_id = CW_ITEM_CISCO_BOARD_DATA_OPTIONS, - .out = cisco_out_board_data_options, -/* .get = cw_out_get_config,*/ - .mand = 1 - } - , - - - - /* ECN Support - Join Request */ - { - /* Cisco doesn't know ECN support, so we - define no output method */ - .msg_id = CAPWAP_MSG_JOIN_REQUEST, - .elem_id = CAPWAP_ELEM_ECN_SUPPORT, - .item_id = CW_ITEM_ECN_SUPPORT, - .mand = 0 - } - , - - - /* AP Mode and Type - Configuration Status Request OUT */ - { - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CW_CISCO_AP_MODE_AND_TYPE, - .item_id = CISCO_ITEM_AP_MODE_AND_TYPE, - .out = cw_out_generic, -/* .get = cw_out_get_config,*/ - .mand = 1 - } - , - - - /* Cisco WTP Admin state - OUT */ - { - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .item_id = CISCO_ITEM_WTP_ADMIN_STATE, - .out = cisco_out_wtp_administrative_state, - } - , - - - /* Cisco Admin state - OUT */ -/* { - .msg_id = CW_MSG_CONFIGURATION_STATUS_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, -// .elem_id = CW_CISCO_AP_MODE_AND_TYPE, - .item_id = CISCO_ITEM_WTP_ADMIN_STATE, - .out = cisco_out_wtp_administrative_state, -// .get = cw_out_get_outgoming, - } - , - -*/ - - /* Cisco WTP Operational state - OUT */ - { - .msg_id = CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, -// .elem_id = CW_CISCO_AP_MODE_AND_TYPE, - .item_id = CISCO_ITEM_WTP_OPER_STATE, -// .out = cisco_out_wtp_operational_state, -// .get = cw_out_get_outgoming, - } - , - - - - - - /* Radio Operational State - OUT */ - { - .msg_id = CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST, - .elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE, - .item_id = CW_RADIOITEM_OPER_STATE, - .out = cisco_out_radio_operational_state, - .mand = 1 - } - , - - - - - {0,0} - -}; - -static cw_action_in_t actions80211_in[] = { - - - /* Radio Operational State - Status Resp */ - { - .capwap_state = CAPWAP_STATE_CONFIGURE, - .msg_id= CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE, - .elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE, - .item_id = CW_RADIOITEM_OPER_STATE, -// .start = cw_in_radio_generic, //operational_state, - .start = cisco_in_radio_operational_state, //operational_state, - .min_len=3, - .max_len=3, - .mand = 0 - } - , - - /* Radio Operational State - Update Req */ - { - .capwap_state = CW_STATE_RUN, - .msg_id= CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE, - .item_id = CW_RADIOITEM_OPER_STATE, -// .start = cw_in_radio_generic, //operational_state, - .start = cisco_in_radio_operational_state, //operational_state, - .min_len=3, - .max_len=3, - .mand = 0 - } - , - - - /* Add WLAN */ - { - - .capwap_state = CW_STATE_RUN, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .vendor_id = CW_VENDOR_ID_CISCO, - .elem_id = CW_CISCO_ADD_WLAN, -// .item_id = CISCO_ITEM_ADD_WLAN, - .start = cisco_in_add_wlan - } - , - - - /* Add WLAN - LWAP Vendor Specific */ - { - .proto = CW_ACTION_PROTO_LWAPP, - .capwap_state = CW_STATE_RUN, - .msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST, - .vendor_id = LW_VENDOR_ID_CISCO, - .elem_id = CISCO_LWELEM_ADD_WLAN, -// .item_id = CIPWAP_ITEM_AC_HASH_VALUE, -// .start = cw_in_generic, //cisco_in_telnet_ssh - .start = cisco_in_add_wlan - } - - - - -}; - -static cw_action_out_t actions80211_out[]={ - - /* ---------------------------------------------------------------- - * Configuration Status Request - */ - { - .vendor_id = CW_VENDOR_ID_CISCO, - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_REQUEST, - .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, - .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, - .out = cisco_out_80211_wtp_radio_cfg, - /*.get = cw_out_get_config,*/ - .mand = 1 - } - , - - - - { - .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_REQUEST, - .item_id = CW_RADIO_SUPPORTED_RATES , - .elem_id = CW_ELEM80211_SUPPORTED_RATES, - .mand = 0, - } - - - -}; - - - - -#include "cw/item.h" - -static struct cw_itemdef _capwap_itemdefs[] = { - - {"wtp_name_cisco",CW_ITEM_NONE,MBAG_STR}, - - /* {"wtp_mac_type",CW_ITEM_NONE,MBAG_BYTE}, - {"discovery_type",CW_ITEM_NONE,MBAG_BYTE}, - {"wtp_frame_tunnel_mode",CW_ITEM_NONE,MBAG_BYTE}, -*/ {CW_ITEM_NONE} - -}; - - -#include "../modload.h" - -int cisco_register_actions_wtp(struct cw_actiondef *def) -{ - - int rc; - rc = cw_actionlist_in_register_actions(def->in, actions_in); - rc += cw_actionlist_out_register_actions(def->out, actions_out); - - rc += cw_strheap_register_strings(def->strmsg, capwap_strings_msg); - rc += cw_strheap_register_strings(def->strelem, cipwap_strings_elem); - - rc += cw_itemdefheap_register(def->items, _capwap_itemdefs); - rc += cw_itemdefheap_register(def->radioitems, capwap_radioitemdefs); - -// intavltree_add(def->wbids, 0); - - - - return rc; -} - - - -int cisco_register_actions80211_wtp(struct cw_actiondef *def) -{ - - int rc; - rc=0; - rc = cw_actionlist_in_register_actions(def->in, actions80211_in); - rc += cw_actionlist_out_register_actions(def->out, actions80211_out); - rc += cw_itemdefheap_register(def->items, cisco_itemdefs); - rc += cw_itemdefheap_register(def->radioitems, cisco_radioitemdefs); - -/* rc += cw_strheap_register_strings(def->strmsg, capwap_strings_msg); - rc += cw_strheap_register_strings(def->strelem, cipwap_strings_elem); - - rc += cw_itemdefheap_register(def->items, _capwap_itemdefs); - rc += cw_itemdefheap_register(def->radioitems, capwap_radioitemdefs); - - intavltree_add(def->wbids, 0); -*/ - - - return rc; -} - - diff --git a/src/mod/cisco/cw_cisco_id_to_str.c b/src/mod/cisco/cw_cisco_id_to_str.c deleted file mode 100644 index ac2e01fc..00000000 --- a/src/mod/cisco/cw_cisco_id_to_str.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - - -/** - * @file - * @brief Implements cw_cisco_id_to_str - */ - -#include "capwap_cisco.h" - -/** - * Get a text representation of a Cisco vendor specific message element - * @param elem_id vendor specific message element - * @return pointer printable string - */ -const char * cw_cisco_id_to_str(int elem_id) -{ - switch (elem_id) { - case CW_CISCO_AP_GROUP_NAME: - return "AP Group Name"; - - case CW_CISCO_RAD_NAME: - return "RAD Name"; - - case CW_CISCO_AP_TIMESYNC: - return "AP Timesync"; - - case CW_CISCO_MWAR_TYPE: - return "MWAR Type"; - - case CW_CISCO_SPAM_VENDOR_SPECIFIC: - return "LWAPP Vendor Specific"; - case CW_CISCO_WTP_RADIO_CFG: - return "WTP Radio CFG"; - case CW_CISCO_AP_REGULATORY_DOMAIN: - return "AP Regulatory Domain"; - case CW_CISCO_WTP_BOARD_DATA: - return "WTP Board Data"; - - case CW_CISCO_MULTI_DOMAIN_CAPAB: - return "Multi Domain Capability"; - - case CW_CISCO_AP_STATIC_IP_ADDR: - return "AP Static IP Addr"; - case CW_CISCO_AP_DOMAIN: - return "AP Domain"; - case CW_CISCO_AP_DNS: - return "AP DNS"; - case CW_CISCO_AC_NAME_WITH_INDEX: - return "AC Name with Index"; - case CW_CISCO_AC_IPV4_LIST: - return "AC IPv4 List"; - - case CW_CISCO_LOCATION_DATA: - return "Location Data"; - case CW_CISCO_STATISTICS_TIMER: - return "Statistics Timer"; - - case CW_CISCO_AP_MODE_AND_TYPE: - return "AP Mode and Type"; - - case CW_CISCO_ADD_WLAN: - return "Add WLAN"; - - case CW_CISCO_MWAR_ADDR: - return "MWAR Addr"; - - case CW_CISCO_BOARD_DATA_OPTIONS: - return "WTP Board Data Options"; - case CW_CISCO_AP_RESET_BUTTON_STATE: - return "Reset Button State"; - - case CW_CISCO_MAC_OPERATION: - return "Mac Operation"; - - case CW_CISCO_TX_POWER: - return "TX Power"; - case CW_CISCO_TX_POWER_LEVELS: - return "TX Power Levels"; - case CW_CISCO_DIRECT_SEQUENCE_CONTROL: - return "Direct Sequence Control"; - case CW_CISCO_AP_MODEL: - return "AP Model"; - case CW_CISCO_AP_MINIOS_VERSION: - return "AP MiniOS Version"; - case CW_CISCO_LWAPP_CHANNEL_POWER: - return "LWAPP Channel Power"; - case CW_CISCO_ANTENNA_PAYLOAD: - return "Antenna Payload"; - case CW_CISCO_SUPPORTED_RATES: - return "Supported Rates"; - case CW_CISCO_SPAM_DOMAIN_SECRET: - return "SPAM Domain Secret"; - - case CW_CISCO_AP_LED_STATE_CONFIG: - return "SPAM AP LED State"; - case CW_CISCO_AP_RETRANSMIT_PARAM: - return "AP Retransmit Param"; - case CW_CISCO_AP_VENUE_SETTINGS: - return "AP Venue Settings"; - case CW_CISCO_80211_DELETE_WLAN: - return "Delete WLAN"; - case CW_CISCO_SIG_PAYLOAD: - return "Signature Payload"; - case CW_CISCO_SIG_TOGGLE: - return "Signature Toggle"; - case CW_CISCO_80211_ASSOC_LIMIT: - return "Assoc Limit"; - case CW_CISCO_AP_QOS: - return "AP Quality of Services"; - case CW_CISCO_TLV_PAYLOAD: - return "TLV Payload"; - case CW_CISCO_AP_UPTIME: - return "AP Uptime"; - case CW_CISCO_AP_POWER_INJECTOR_CONFIG: - return "AP Power Injector Config"; - case CW_CISCO_AP_PRE_STD_SWITCH_CONFIG: - return "AP Pre Std Switch Config"; - case CW_CISCO_AP_BACKUP_SOFTWARE_VERSION: - return "Backup Software Version"; - case CW_CISCO_AP_LOG_FACILITY: - return "AP Log Facility"; - - case CW_CISCO_CAPWAP_TIMERS: - return "Capwap Timers"; - - case CW_CISCO_AP_CORE_DUMP: - return "AP Core Dump"; - - case CW_CISCO_AIRSPACE_CAPABILITY: - return "Airspace Capability"; - case CW_CISCO_BCAST_SSID_MODE: - return "Broadcast SSID Mode"; - case CW_CISCO_AP_LED_FLASH_CONFIG: - return "Spam AP LED Flash Config"; - - case CW_CISCO_OPER_STATE_DETAIL_CAUSE: - return "Radio Oper State Detail Cause"; - - case CW_CISCO_DOT11_CONFIG_CHECKER: - return "Dot11 Config Checker"; - - - default: - return "Unknown"; - - } -} -