Added a lot of cisco stuff
FossilOrigin-Name: 1a3b0824d3b9bc97cf15dd7f3922ea96fccb707695f0bacdd9570e212428e4a5
This commit is contained in:
parent
128b388032
commit
d786fa1928
@ -4,9 +4,9 @@
|
|||||||
<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="No"/>
|
||||||
<Project Name="mod_cisco" Path="mod_cisco.project" Active="No"/>
|
<Project Name="mod_cisco" Path="mod_cisco.project" Active="Yes"/>
|
||||||
<Project Name="libcw" Path="libcw.project" Active="No"/>
|
<Project Name="libcw" Path="libcw.project" Active="No"/>
|
||||||
<Project Name="mod_capwap80211" Path="mod_capwap80211.project" Active="Yes"/>
|
<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>
|
||||||
<WorkspaceConfiguration Name="Debug" Selected="yes">
|
<WorkspaceConfiguration Name="Debug" Selected="yes">
|
||||||
|
@ -227,7 +227,7 @@
|
|||||||
#define CW_ELEM_DATA_TRANSFER_DATA 13
|
#define CW_ELEM_DATA_TRANSFER_DATA 13
|
||||||
#define CW_ELEM_DATA_TRANSFER_MODE 14
|
#define CW_ELEM_DATA_TRANSFER_MODE 14
|
||||||
#define CW_ELEM_DECRYPTION_ERROR_REPORT 15
|
#define CW_ELEM_DECRYPTION_ERROR_REPORT 15
|
||||||
#define CW_ELEM_DECRYPTION_ERROR_REPORT_PERIOD 16
|
#define CAPWAP_ELEM_DECRYPTION_ERROR_REPORT_PERIOD 16
|
||||||
#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
|
||||||
@ -238,7 +238,7 @@
|
|||||||
#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 CAPWAP_ELEM_ECN_SUPPORT 53
|
#define CAPWAP_ELEM_ECN_SUPPORT 53
|
||||||
#define CW_ELEM_IDLE_TIMEOUT 23
|
#define CAPWAP_ELEM_IDLE_TIMEOUT 23
|
||||||
#define CW_ELEM_IMAGE_DATA 24
|
#define CW_ELEM_IMAGE_DATA 24
|
||||||
#define CW_ELEM_IMAGE_IDENTIFIER 25
|
#define CW_ELEM_IMAGE_IDENTIFIER 25
|
||||||
#define CW_ELEM_IMAGE_INFORMATION 26
|
#define CW_ELEM_IMAGE_INFORMATION 26
|
||||||
@ -247,7 +247,7 @@
|
|||||||
#define CAPWAP_ELEM_MAXIMUM_MESSAGE_LENGTH 29
|
#define CAPWAP_ELEM_MAXIMUM_MESSAGE_LENGTH 29
|
||||||
#define CAPWAP_ELEM_MTU_DISCOVERY_PADDING 52
|
#define CAPWAP_ELEM_MTU_DISCOVERY_PADDING 52
|
||||||
#define CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE 31
|
#define CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE 31
|
||||||
#define CW_ELEM_RADIO_OPERATIONAL_STATE 32
|
#define CAPWAP_ELEM_RADIO_OPERATIONAL_STATE 32
|
||||||
#define CAPWAP_ELEM_RESULT_CODE 33
|
#define CAPWAP_ELEM_RESULT_CODE 33
|
||||||
#define CW_ELEM_RETURNED_MESSAGE_ELEMENT 34
|
#define CW_ELEM_RETURNED_MESSAGE_ELEMENT 34
|
||||||
#define CAPWAP_ELEM_SESSION_ID 35
|
#define CAPWAP_ELEM_SESSION_ID 35
|
||||||
|
@ -22,7 +22,7 @@ struct cw_StrListElem capwap_strings_elem[] = {
|
|||||||
{CW_ELEM_DATA_TRANSFER_DATA, "Data Transfer Data"},
|
{CW_ELEM_DATA_TRANSFER_DATA, "Data Transfer Data"},
|
||||||
{CW_ELEM_DATA_TRANSFER_MODE, "Data Transfer Mode"},
|
{CW_ELEM_DATA_TRANSFER_MODE, "Data Transfer Mode"},
|
||||||
{CW_ELEM_DECRYPTION_ERROR_REPORT, "Encryption Error Report"},
|
{CW_ELEM_DECRYPTION_ERROR_REPORT, "Encryption Error Report"},
|
||||||
{CW_ELEM_DECRYPTION_ERROR_REPORT_PERIOD, "Decryption Error Report Period"},
|
{CAPWAP_ELEM_DECRYPTION_ERROR_REPORT_PERIOD, "Decryption Error Report Period"},
|
||||||
{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"},
|
||||||
@ -30,7 +30,7 @@ struct cw_StrListElem capwap_strings_elem[] = {
|
|||||||
{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"},
|
||||||
{CAPWAP_ELEM_ECN_SUPPORT, "ECN Support"},
|
{CAPWAP_ELEM_ECN_SUPPORT, "ECN Support"},
|
||||||
{CW_ELEM_IDLE_TIMEOUT, "Idle Timeout"},
|
{CAPWAP_ELEM_IDLE_TIMEOUT, "Idle Timeout"},
|
||||||
{CW_ELEM_IMAGE_DATA, "Image Data"},
|
{CW_ELEM_IMAGE_DATA, "Image Data"},
|
||||||
{CW_ELEM_IMAGE_IDENTIFIER, "Image Identifier"},
|
{CW_ELEM_IMAGE_IDENTIFIER, "Image Identifier"},
|
||||||
{CW_ELEM_IMAGE_INFORMATION, "Image Information"},
|
{CW_ELEM_IMAGE_INFORMATION, "Image Information"},
|
||||||
@ -39,7 +39,7 @@ struct cw_StrListElem capwap_strings_elem[] = {
|
|||||||
{CAPWAP_ELEM_MAXIMUM_MESSAGE_LENGTH, "Maximum Message Length"},
|
{CAPWAP_ELEM_MAXIMUM_MESSAGE_LENGTH, "Maximum Message Length"},
|
||||||
{CAPWAP_ELEM_MTU_DISCOVERY_PADDING, "MTU Discovery Padding"},
|
{CAPWAP_ELEM_MTU_DISCOVERY_PADDING, "MTU Discovery Padding"},
|
||||||
{CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE, "Radio Administrative State"},
|
{CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE, "Radio Administrative State"},
|
||||||
{CW_ELEM_RADIO_OPERATIONAL_STATE, "Radio Operational State"},
|
{CAPWAP_ELEM_RADIO_OPERATIONAL_STATE, "Radio Operational State"},
|
||||||
{CAPWAP_ELEM_RESULT_CODE, "Result Code"},
|
{CAPWAP_ELEM_RESULT_CODE, "Result Code"},
|
||||||
{CW_ELEM_RETURNED_MESSAGE_ELEMENT, "Returned Message Element"},
|
{CW_ELEM_RETURNED_MESSAGE_ELEMENT, "Returned Message Element"},
|
||||||
{CAPWAP_ELEM_SESSION_ID, "Session ID"},
|
{CAPWAP_ELEM_SESSION_ID, "Session ID"},
|
||||||
|
@ -29,7 +29,7 @@ int xcw_put_elem_radio_operational_state(uint8_t * dst, int rid, int os, int d7m
|
|||||||
|
|
||||||
/* Put oper state */
|
/* Put oper state */
|
||||||
cw_set_word(d+5,os);
|
cw_set_word(d+5,os);
|
||||||
d+=3+cw_put_elem_hdr(d,CW_ELEM_RADIO_OPERATIONAL_STATE,3);
|
d+=3+cw_put_elem_hdr(d,CAPWAP_ELEM_RADIO_OPERATIONAL_STATE,3);
|
||||||
|
|
||||||
return d-dst;
|
return d-dst;
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,14 @@ static cw_KTVStruct_t capwap_timers[] = {
|
|||||||
{NULL,NULL,0,0}
|
{NULL,NULL,0,0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static cw_KTVStruct_t radio_operational_state[] = {
|
||||||
|
|
||||||
|
{CW_TYPE_BYTE, "state", 1,-1},
|
||||||
|
{CW_TYPE_BYTE, "cause", 1,-1},
|
||||||
|
{NULL,NULL,0,0}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static struct cw_ElemHandler handlers[] = {
|
static struct cw_ElemHandler handlers[] = {
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -316,7 +324,52 @@ static struct cw_ElemHandler handlers[] = {
|
|||||||
cw_out_generic_struct /* put */
|
cw_out_generic_struct /* put */
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
{
|
||||||
|
"Decryption Error Report Period", /* name */
|
||||||
|
CAPWAP_ELEM_DECRYPTION_ERROR_REPORT_PERIOD, /* Element ID */
|
||||||
|
0, 0, /* Vendor / Proto */
|
||||||
|
3, 3, /* min/max length */
|
||||||
|
CW_TYPE_WORD, /* type */
|
||||||
|
"decryption-error-report-period", /* Key */
|
||||||
|
cw_in_radio_generic, /* get */
|
||||||
|
cw_out_radio_generic /* put */
|
||||||
|
}
|
||||||
|
,
|
||||||
|
|
||||||
|
{
|
||||||
|
"Idle Timeout", /* name */
|
||||||
|
CAPWAP_ELEM_IDLE_TIMEOUT, /* Element ID */
|
||||||
|
0, 0, /* Vendor / Proto */
|
||||||
|
4, 4, /* min/max length */
|
||||||
|
CW_TYPE_DWORD, /* type */
|
||||||
|
"idle-timeout", /* Key */
|
||||||
|
cw_in_generic, /* get */
|
||||||
|
cw_out_generic /* put */
|
||||||
|
}
|
||||||
|
,
|
||||||
|
|
||||||
|
{
|
||||||
|
"WTP Fallback", /* name */
|
||||||
|
CAPWAP_ELEM_WTP_FALLBACK, /* Element ID */
|
||||||
|
0, 0, /* Vendor / Proto */
|
||||||
|
1, 1, /* min/max length */
|
||||||
|
CW_TYPE_BYTE, /* type */
|
||||||
|
"wtp-fallback", /* Key */
|
||||||
|
cw_in_generic, /* get */
|
||||||
|
cw_out_generic /* put */
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{
|
||||||
|
"Radio Operational State", /* name */
|
||||||
|
CAPWAP_ELEM_RADIO_OPERATIONAL_STATE, /* Element ID */
|
||||||
|
0, 0, /* Vendor / Proto */
|
||||||
|
3, 3, /* min/max length */
|
||||||
|
radio_operational_state, /* type */
|
||||||
|
"operational-state", /* Key */
|
||||||
|
cw_in_radio_generic_struct, /* get */
|
||||||
|
cw_out_radio_generic_struct /* put */
|
||||||
|
}
|
||||||
|
,
|
||||||
|
|
||||||
|
|
||||||
{0,0,0,0,0,0,0,0}
|
{0,0,0,0,0,0,0,0}
|
||||||
@ -399,10 +452,12 @@ static struct cw_ElemDef configuration_status_request_elements[] ={
|
|||||||
|
|
||||||
static int configuration_status_response_states[] = {CAPWAP_STATE_JOIN,0};
|
static int configuration_status_response_states[] = {CAPWAP_STATE_JOIN,0};
|
||||||
static struct cw_ElemDef configuration_status_response_elements[] ={
|
static struct cw_ElemDef configuration_status_response_elements[] ={
|
||||||
{0,0,CAPWAP_ELEM_CAPWAP_TIMERS, 1, 0},
|
{0,0,CAPWAP_ELEM_CAPWAP_TIMERS, 1, 0},
|
||||||
{0,0,CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE, 1, 0},
|
{0,0,CAPWAP_ELEM_DECRYPTION_ERROR_REPORT_PERIOD, 1, 0},
|
||||||
|
{0,0,CAPWAP_ELEM_IDLE_TIMEOUT, 1, 0},
|
||||||
|
{0,0,CAPWAP_ELEM_WTP_FALLBACK, 1, 0},
|
||||||
|
|
||||||
{0,0,CAPWAP_ELEM_VENDOR_SPECIFIC_PAYLOAD, 0, CW_IGNORE},
|
{0,0,CAPWAP_ELEM_VENDOR_SPECIFIC_PAYLOAD, 0, CW_IGNORE},
|
||||||
{0,0,0,0,0}
|
{0,0,0,0,0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -227,7 +227,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_CONFIGURE,
|
.capwap_state = CW_STATE_CONFIGURE,
|
||||||
.msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
.msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
||||||
.elem_id = CW_ELEM_DECRYPTION_ERROR_REPORT_PERIOD,
|
.elem_id = CAPWAP_ELEM_DECRYPTION_ERROR_REPORT_PERIOD,
|
||||||
.item_id = CW_RADIOITEM_DECRYPTION_ERROR_REPORT_PERIOD,
|
.item_id = CW_RADIOITEM_DECRYPTION_ERROR_REPORT_PERIOD,
|
||||||
.start = cw_in_radio_generic,
|
.start = cw_in_radio_generic,
|
||||||
.min_len = 3,
|
.min_len = 3,
|
||||||
@ -241,7 +241,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_CONFIGURE,
|
.capwap_state = CW_STATE_CONFIGURE,
|
||||||
.msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
.msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
||||||
.elem_id = CW_ELEM_IDLE_TIMEOUT,
|
.elem_id = CAPWAP_ELEM_IDLE_TIMEOUT,
|
||||||
.item_id = CW_ITEM_IDLE_TIMEOUT,
|
.item_id = CW_ITEM_IDLE_TIMEOUT,
|
||||||
.start = cw_in_generic2,
|
.start = cw_in_generic2,
|
||||||
.min_len = 4,
|
.min_len = 4,
|
||||||
@ -684,7 +684,7 @@ static cw_action_out_t actions_out[] = {
|
|||||||
/* Radio Operational State(s) - Change State Event */
|
/* Radio Operational State(s) - Change State Event */
|
||||||
{
|
{
|
||||||
.msg_id = CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST,
|
.msg_id = CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST,
|
||||||
.elem_id = CW_ELEM_RADIO_OPERATIONAL_STATE,
|
.elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE,
|
||||||
.item_id = CW_RADIOITEM_OPER_STATE,
|
.item_id = CW_RADIOITEM_OPER_STATE,
|
||||||
// .out = cw_out_radio_operational_state,
|
// .out = cw_out_radio_operational_state,
|
||||||
.out = cw_out_radio_generic,
|
.out = cw_out_radio_generic,
|
||||||
|
@ -31,10 +31,10 @@ static struct cw_ElemHandler handlers[] = {
|
|||||||
CAPWAP80211_ELEM_RATE_SET, /* Element ID */
|
CAPWAP80211_ELEM_RATE_SET, /* Element ID */
|
||||||
0, 0, /* Vendor / Proto */
|
0, 0, /* Vendor / Proto */
|
||||||
3, 0, /* min/max length */
|
3, 0, /* min/max length */
|
||||||
NULL, /* type */
|
CW_TYPE_BSTR16, /* type */
|
||||||
"rate_set", /* Key */
|
"rate_set", /* Key */
|
||||||
capwap80211_in_crate_set, /* get */
|
cw_in_radio_generic, /* get */
|
||||||
NULL /* put */
|
cw_out_radio_generic /* put */
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
{NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL}
|
{NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL}
|
||||||
@ -126,14 +126,14 @@ static int capwap80211_in_crate_set(struct cw_ElemHandler *eh,
|
|||||||
struct cw_ElemHandlerParams *params,
|
struct cw_ElemHandlerParams *params,
|
||||||
uint8_t * data, int len)
|
uint8_t * data, int len)
|
||||||
{
|
{
|
||||||
int radio;
|
/* int radio;
|
||||||
int i;
|
int i;
|
||||||
radio = cw_get_byte(data);
|
radio = cw_get_byte(data);
|
||||||
for (i=0; i<len-1; i++){
|
for (i=0; i<len-1; i++){
|
||||||
int rate = (data+1)[i];
|
int rate = (data+1)[i];
|
||||||
sprintf(d,"%0.1f",dot11_rate2float(val & 0x7f));
|
sprintf(d,"%0.1f",dot11_rate2float(val & 0x7f));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#define CISCO_ELEM_MULTI_DOMAIN_CAPABILITY LW_ELEM_80211_MULTI_DOMAIN_CAPABILITY /* 10 */
|
#define CISCO_ELEM_MULTI_DOMAIN_CAPABILITY LW_ELEM_80211_MULTI_DOMAIN_CAPABILITY /* 10 */
|
||||||
#define CISCO_ELEM_MAC_OPERATION LW_ELEM_80211_MAC_OPERATION /* 11 */
|
#define CISCO_ELEM_MAC_OPERATION LW_ELEM_80211_MAC_OPERATION /* 11 */
|
||||||
|
|
||||||
#define CW_CISCO_TX_POWER LW_ELEM_80211_TX_POWER /* 12 */
|
#define CISCO_ELEM_TX_POWER LW_ELEM_80211_TX_POWER /* 12 */
|
||||||
#define CW_CISCO_TX_POWER_LEVELS LW_ELEM_80211_TX_POWER_LEVELS /* 13 */
|
#define CW_CISCO_TX_POWER_LEVELS LW_ELEM_80211_TX_POWER_LEVELS /* 13 */
|
||||||
#define CW_CISCO_DIRECT_SEQUENCE_CONTROL LW_ELEM_DIRECT_SEQUENCE_CONTROL /* 14 */
|
#define CW_CISCO_DIRECT_SEQUENCE_CONTROL LW_ELEM_DIRECT_SEQUENCE_CONTROL /* 14 */
|
||||||
#define CW_CISCO_SUPPORTED_RATES LW_ELEM_80211_RATE_SET /* 16 */
|
#define CW_CISCO_SUPPORTED_RATES LW_ELEM_80211_RATE_SET /* 16 */
|
||||||
@ -60,7 +60,7 @@
|
|||||||
#define CISCO_ELEM_WTP_BOARD_DATA LW_ELEM_WTP_BOARD_DATA /* 50 */
|
#define CISCO_ELEM_WTP_BOARD_DATA LW_ELEM_WTP_BOARD_DATA /* 50 */
|
||||||
#define CW_CISCO_BCAST_SSID_MODE LW_BCAST_SSID_MODE
|
#define CW_CISCO_BCAST_SSID_MODE LW_BCAST_SSID_MODE
|
||||||
#define CISCO_ELEM_AP_MODE_AND_TYPE LW_ELEM_80211_WTP_MODE_AND_TYPE /* 54 */
|
#define CISCO_ELEM_AP_MODE_AND_TYPE LW_ELEM_80211_WTP_MODE_AND_TYPE /* 54 */
|
||||||
#define CW_CISCO_AP_QOS LW_ELEM_QOS /* 57 */
|
#define CISCO_ELEM_AP_QOS LW_ELEM_QOS /* 57 */
|
||||||
|
|
||||||
#define CW_CISCO_AC_IPV4_LIST LW_ELEM_AC_IPV4_LIST /* 59 */
|
#define CW_CISCO_AC_IPV4_LIST LW_ELEM_AC_IPV4_LIST /* 59 */
|
||||||
|
|
||||||
@ -68,7 +68,7 @@
|
|||||||
#define CISCO_ELEM_AP_STATIC_IP_ADDR 83
|
#define CISCO_ELEM_AP_STATIC_IP_ADDR 83
|
||||||
#define CW_CISCO_SIG_PAYLOAD 84
|
#define CW_CISCO_SIG_PAYLOAD 84
|
||||||
#define CW_CISCO_SIG_TOGGLE 87
|
#define CW_CISCO_SIG_TOGGLE 87
|
||||||
#define CW_CISCO_AIRSPACE_CAPABILITY 88
|
#define CISCO_ELEM_AIRSPACE_CAPABILITY 88
|
||||||
|
|
||||||
#define CW_CISCO_AC_NAME_WITH_INDEX 91
|
#define CW_CISCO_AC_NAME_WITH_INDEX 91
|
||||||
#define CW_CISCO_SPAM_DOMAIN_SECRET 96
|
#define CW_CISCO_SPAM_DOMAIN_SECRET 96
|
||||||
|
@ -139,6 +139,19 @@ static cw_KTVStruct_t cisco_ap_regulatory_domain5[]={
|
|||||||
{NULL,NULL,0,0}
|
{NULL,NULL,0,0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static cw_KTVStruct_t cisco_mac_operation[]={
|
||||||
|
{CW_TYPE_BYTE,"reserved",1,-1},
|
||||||
|
{CW_TYPE_WORD,"rts-threshold",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"short-retry",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"long-retry",1,-1},
|
||||||
|
{CW_TYPE_WORD,"fragmentation-threshold",2,-1},
|
||||||
|
{CW_TYPE_DWORD,"tx-msdu-lifetime",4,-1},
|
||||||
|
{CW_TYPE_DWORD,"rx-msdu-lifetime",4,-1},
|
||||||
|
{NULL,NULL,0,0}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int cisco_in_ap_regulatory_domain(struct cw_ElemHandler *eh,
|
int cisco_in_ap_regulatory_domain(struct cw_ElemHandler *eh,
|
||||||
struct cw_ElemHandlerParams *params,
|
struct cw_ElemHandlerParams *params,
|
||||||
@ -236,6 +249,57 @@ static cw_KTVStruct_t cisco_wtp_radio_config[]={
|
|||||||
{NULL,NULL,0,0}
|
{NULL,NULL,0,0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static cw_KTVStruct_t cisco_tx_power[]={
|
||||||
|
{CW_TYPE_BYTE,"reserved",1,-1},
|
||||||
|
{CW_TYPE_WORD,"current-tx-power",2,-1},
|
||||||
|
{NULL,NULL,0,0}
|
||||||
|
};
|
||||||
|
|
||||||
|
static cw_KTVStruct_t cisco_ap_qos[]={
|
||||||
|
{CW_TYPE_BYTE,"tag-packets",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"uranium-queue-depth",1,-1},
|
||||||
|
{CW_TYPE_WORD,"uranium-cwmin",2,-1},
|
||||||
|
{CW_TYPE_WORD,"uranium-cwmax",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"uranium-aifs",1,-1},
|
||||||
|
{CW_TYPE_WORD,"uranium-cbr",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"uranium-dot1p-tag",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"uranium-dscp-tag",1,-1},
|
||||||
|
|
||||||
|
{CW_TYPE_BYTE,"platinum-queue-depth",1,-1},
|
||||||
|
{CW_TYPE_WORD,"platinum-cwmin",2,-1},
|
||||||
|
{CW_TYPE_WORD,"platinum-cwmax",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"platinum-aifs",1,-1},
|
||||||
|
{CW_TYPE_WORD,"platinum-cbr",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"platinum-dot1p-tag",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"platinum-dscp-tag",1,-1},
|
||||||
|
|
||||||
|
{CW_TYPE_BYTE,"gold-queue-depth",1,-1},
|
||||||
|
{CW_TYPE_WORD,"gold-cwmin",2,-1},
|
||||||
|
{CW_TYPE_WORD,"gold-cwmax",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"gold-aifs",1,-1},
|
||||||
|
{CW_TYPE_WORD,"gold-cbr",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"gold-dot1p-tag",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"gold-dscp-tag",1,-1},
|
||||||
|
|
||||||
|
{CW_TYPE_BYTE,"silver-queue-depth",1,-1},
|
||||||
|
{CW_TYPE_WORD,"silver-cwmin",2,-1},
|
||||||
|
{CW_TYPE_WORD,"silver-cwmax",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"silver-aifs",1,-1},
|
||||||
|
{CW_TYPE_WORD,"silver-cbr",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"silver-dot1p-tag",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"silver-dscp-tag",1,-1},
|
||||||
|
|
||||||
|
{CW_TYPE_BYTE,"bronze-queue-depth",1,-1},
|
||||||
|
{CW_TYPE_WORD,"bronze-cwmin",2,-1},
|
||||||
|
{CW_TYPE_WORD,"bronze-cwmax",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"bronze-aifs",1,-1},
|
||||||
|
{CW_TYPE_WORD,"bronze-cbr",2,-1},
|
||||||
|
{CW_TYPE_BYTE,"bronze-dot1p-tag",1,-1},
|
||||||
|
{CW_TYPE_BYTE,"bronze-dscp-tag",1,-1},
|
||||||
|
|
||||||
|
{NULL,NULL,0,0}
|
||||||
|
};
|
||||||
|
|
||||||
static struct cw_ElemHandler handlers[] = {
|
static struct cw_ElemHandler handlers[] = {
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -484,7 +548,7 @@ static struct cw_ElemHandler handlers[] = {
|
|||||||
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||||
8,8, /* min/max length */
|
8,8, /* min/max length */
|
||||||
cisco_multi_domain_cabability, /* type */
|
cisco_multi_domain_cabability, /* type */
|
||||||
"cisco-multi-domain-capability", /* Key */
|
"cisco/multi-domain-capability", /* Key */
|
||||||
cw_in_radio_generic_struct, /* get */
|
cw_in_radio_generic_struct, /* get */
|
||||||
NULL /* put */
|
NULL /* put */
|
||||||
}
|
}
|
||||||
@ -645,6 +709,60 @@ static struct cw_ElemHandler handlers[] = {
|
|||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
|
||||||
|
{
|
||||||
|
"MWAR Hash Value", /* name */
|
||||||
|
CISCO_LWELEM_MWAR_HASH_VALUE, /* Element ID */
|
||||||
|
CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */
|
||||||
|
1,64, /* min/max length */
|
||||||
|
CW_TYPE_BSTR16, /* type */
|
||||||
|
"cisco/mwar-hash-value", /* Key */
|
||||||
|
cw_in_generic, /* get */
|
||||||
|
cw_out_generic /* put */
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"Mac Operation", /* name */
|
||||||
|
CISCO_ELEM_MAC_OPERATION, /* Element ID */
|
||||||
|
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||||
|
16,16, /* min/max length */
|
||||||
|
cisco_mac_operation, /* type */
|
||||||
|
"cisco/mac-operation", /* Key */
|
||||||
|
cw_in_radio_generic_struct, /* get */
|
||||||
|
cw_out_radio_generic_struct /* put */
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"Tx Power", /* name */
|
||||||
|
CISCO_ELEM_TX_POWER, /* Element ID */
|
||||||
|
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||||
|
4,4, /* min/max length */
|
||||||
|
cisco_tx_power, /* type */
|
||||||
|
"cisco/tx-power", /* Key */
|
||||||
|
cw_in_radio_generic_struct, /* get */
|
||||||
|
cw_out_radio_generic_struct /* put */
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"AP Quality of Service", /* name */
|
||||||
|
CISCO_ELEM_AP_QOS, /* Element ID */
|
||||||
|
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||||
|
52,52, /* min/max length */
|
||||||
|
cisco_ap_qos, /* type */
|
||||||
|
"cisco/ap-qos", /* Key */
|
||||||
|
cw_in_radio_generic_struct, /* get */
|
||||||
|
cw_out_radio_generic_struct /* put */
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"Air Space Capability", /* name */
|
||||||
|
CISCO_ELEM_AIRSPACE_CAPABILITY, /* Element ID */
|
||||||
|
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||||
|
2,2, /* min/max length */
|
||||||
|
CW_TYPE_BYTE, /* type */
|
||||||
|
"cisco/air-space-capability", /* Key */
|
||||||
|
cw_in_radio_generic, /* get */
|
||||||
|
cw_out_radio_generic /* put */
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
{0,0,0,0,0,0,0,0}
|
{0,0,0,0,0,0,0,0}
|
||||||
@ -738,12 +856,21 @@ static struct cw_ElemDef configuration_status_request_elements[] ={
|
|||||||
|
|
||||||
static int configuration_status_response_states[] = {CAPWAP_STATE_JOIN,0};
|
static int configuration_status_response_states[] = {CAPWAP_STATE_JOIN,0};
|
||||||
static struct cw_ElemDef configuration_status_response_elements[] ={
|
static struct cw_ElemDef configuration_status_response_elements[] ={
|
||||||
|
{0,0, CAPWAP_ELEM_RADIO_ADMINISTRATIVE_STATE, 1,0},
|
||||||
|
{0,0, CAPWAP_ELEM_RADIO_OPERATIONAL_STATE, 1,0},
|
||||||
|
|
||||||
{0,CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_VENDOR_SPECIFIC,1, CW_IGNORE},
|
{0,CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_VENDOR_SPECIFIC,1, CW_IGNORE},
|
||||||
|
|
||||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MULTI_DOMAIN_CAPABILITY, 0, 0},
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MULTI_DOMAIN_CAPABILITY, 0, 0},
|
||||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_WTP_RADIO_CONFIGURATION, 1, 0},
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_WTP_RADIO_CONFIGURATION, 1, 0},
|
||||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_LED_STATE_CONFIG, 0, 0},
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_LED_STATE_CONFIG, 0, 0},
|
||||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_LOG_FACILITY, 0, 0},
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_LOG_FACILITY, 0, 0},
|
||||||
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MAC_OPERATION, 0, 0},
|
||||||
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER, 0, 0},
|
||||||
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_QOS, 0, 0},
|
||||||
|
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AIRSPACE_CAPABILITY, 0, 0},
|
||||||
|
|
||||||
|
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_MWAR_HASH_VALUE, 1, 0},
|
||||||
|
|
||||||
{0,0,0,0}
|
{0,0,0,0}
|
||||||
};
|
};
|
||||||
|
@ -247,7 +247,7 @@ static cw_action_in_t actions_in[] = {
|
|||||||
.capwap_state = CW_STATE_CONFIGURE,
|
.capwap_state = CW_STATE_CONFIGURE,
|
||||||
.msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
.msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
||||||
.vendor_id = LW_VENDOR_ID_CISCO,
|
.vendor_id = LW_VENDOR_ID_CISCO,
|
||||||
.elem_id = LW_CISCO_MWAR_HASH_VALUE,
|
.elem_id = CISCO_LWELEM_MWAR_HASH_VALUE,
|
||||||
.item_id = CIPWAP_ITEM_AC_HASH_VALUE,
|
.item_id = CIPWAP_ITEM_AC_HASH_VALUE,
|
||||||
.start = cw_in_generic, //cisco_in_telnet_ssh
|
.start = cw_in_generic, //cisco_in_telnet_ssh
|
||||||
}
|
}
|
||||||
@ -405,7 +405,7 @@ static cw_action_out_t actions_out[]={
|
|||||||
/* Radio Operational State - OUT */
|
/* Radio Operational State - OUT */
|
||||||
{
|
{
|
||||||
.msg_id = CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST,
|
.msg_id = CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST,
|
||||||
.elem_id = CW_ELEM_RADIO_OPERATIONAL_STATE,
|
.elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE,
|
||||||
.item_id = CW_RADIOITEM_OPER_STATE,
|
.item_id = CW_RADIOITEM_OPER_STATE,
|
||||||
.out = cisco_out_radio_operational_state,
|
.out = cisco_out_radio_operational_state,
|
||||||
.mand = 1
|
.mand = 1
|
||||||
@ -426,7 +426,7 @@ static cw_action_in_t actions80211_in[] = {
|
|||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_CONFIGURE,
|
.capwap_state = CW_STATE_CONFIGURE,
|
||||||
.msg_id= CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
.msg_id= CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,
|
||||||
.elem_id = CW_ELEM_RADIO_OPERATIONAL_STATE,
|
.elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE,
|
||||||
.item_id = CW_RADIOITEM_OPER_STATE,
|
.item_id = CW_RADIOITEM_OPER_STATE,
|
||||||
// .start = cw_in_radio_generic, //operational_state,
|
// .start = cw_in_radio_generic, //operational_state,
|
||||||
.start = cisco_in_radio_operational_state, //operational_state,
|
.start = cisco_in_radio_operational_state, //operational_state,
|
||||||
@ -440,7 +440,7 @@ static cw_action_in_t actions80211_in[] = {
|
|||||||
{
|
{
|
||||||
.capwap_state = CW_STATE_RUN,
|
.capwap_state = CW_STATE_RUN,
|
||||||
.msg_id= CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST,
|
.msg_id= CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST,
|
||||||
.elem_id = CW_ELEM_RADIO_OPERATIONAL_STATE,
|
.elem_id = CAPWAP_ELEM_RADIO_OPERATIONAL_STATE,
|
||||||
.item_id = CW_RADIOITEM_OPER_STATE,
|
.item_id = CW_RADIOITEM_OPER_STATE,
|
||||||
// .start = cw_in_radio_generic, //operational_state,
|
// .start = cw_in_radio_generic, //operational_state,
|
||||||
.start = cisco_in_radio_operational_state, //operational_state,
|
.start = cisco_in_radio_operational_state, //operational_state,
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
#define LW_CISCO_SSC_HASH_VALIDATION 133
|
#define LW_CISCO_SSC_HASH_VALIDATION 133
|
||||||
#define LW_CISCO_MWAR_HASH_VALUE_1 132
|
#define LW_CISCO_MWAR_HASH_VALUE_1 132
|
||||||
#define LW_CISCO_MWAR_HASH_VALUE 134
|
#define CISCO_LWELEM_MWAR_HASH_VALUE 134
|
||||||
#define LW_CISCO_DOT11R_WLC_MAC_AND_IP 135
|
#define LW_CISCO_DOT11R_WLC_MAC_AND_IP 135
|
||||||
|
|
||||||
#define LW_CISCO_HARDWARE_INFO 139
|
#define LW_CISCO_HARDWARE_INFO 139
|
||||||
|
@ -34,6 +34,8 @@ int configure(struct conn * conn)
|
|||||||
/*cfg_to_json();*/
|
/*cfg_to_json();*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cw_dbg_ktv_dump(conn->remote_cfg,DBG_INFO,"Config ***","CFG: ", "End config ***");
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user