More Cisco stuff
FossilOrigin-Name: f5d524e032376c67bfe637ce08b701e55e4be62ac7ee960b0daacda910cf1d2f
This commit is contained in:
@ -473,6 +473,12 @@ static struct cw_ElemDef configuration_update_request_elements[] ={
|
||||
{0,0,0,0,0}
|
||||
};
|
||||
|
||||
static int configuration_update_response_states[] = {CAPWAP_STATE_RUN,0};
|
||||
static struct cw_ElemDef configuration_update_response_elements[] ={
|
||||
{0,0,CAPWAP_ELEM_RESULT_CODE, 1, 0},
|
||||
|
||||
{0,0,0,0,0}
|
||||
};
|
||||
|
||||
|
||||
static int echo_request_states[] = {CAPWAP_STATE_RUN,0};
|
||||
@ -546,6 +552,13 @@ static struct cw_MsgDef messages[] = {
|
||||
configuration_update_request_elements /* msg elements */
|
||||
},
|
||||
|
||||
{
|
||||
"Configuration Update Reponse", /* name */
|
||||
CAPWAP_MSG_CONFIGURATION_UPDATE_RESPONSE, /* msg type */
|
||||
CW_ROLE_WTP, /* role */
|
||||
configuration_update_response_states, /* allowed states */
|
||||
configuration_update_response_elements /* msg elements */
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
|
@ -34,7 +34,7 @@
|
||||
#define CISCO_ELEM_MWAR_ADDR LWAPP_ELEM_AC_ADDRESS /* 2 */
|
||||
#define CW_CISCO_RAD 3
|
||||
#define CW_CISCO_RAD_SLOT 4
|
||||
#define CW_CISCO_RAD_NAME LWAPP_ELEM_WTP_NAME /* 5 */
|
||||
#define CISCO_ELEM_RAD_NAME LWAPP_ELEM_WTP_NAME /* 5 */
|
||||
#define CW_CISCO_MWAR LW_ELEM_AC_DESCRIPTOR /* 6 */
|
||||
#define CW_CISCO_ADD_WLAN LW_ELEM_80211_ADD_WLAN /* 7 */
|
||||
#define CISCO_ELEM_WTP_RADIO_CONFIGURATION 8
|
||||
@ -70,7 +70,7 @@
|
||||
#define CW_CISCO_SIG_TOGGLE 87
|
||||
#define CISCO_ELEM_AIRSPACE_CAPABILITY 88
|
||||
|
||||
#define CW_CISCO_AC_NAME_WITH_INDEX 91
|
||||
#define CISCO_ELEM_AC_NAME_WITH_INDEX 91
|
||||
#define CW_CISCO_SPAM_DOMAIN_SECRET 96
|
||||
|
||||
#define CISCO_ELEM_SPAM_VENDOR_SPECIFIC 104
|
||||
|
@ -308,6 +308,61 @@ static cw_KTVStruct_t cisco_ap_core_dump[]={
|
||||
};
|
||||
|
||||
|
||||
int cisco_in_with_index(struct cw_ElemHandler *eh,
|
||||
struct cw_ElemHandlerParams *params,
|
||||
uint8_t * data, int len)
|
||||
{
|
||||
char key[CW_KTV_MAX_KEY_LEN];
|
||||
int idx;
|
||||
|
||||
idx = cw_get_byte(data);
|
||||
sprintf(key,"%s.%d",eh->key,idx);
|
||||
cw_ktv_add(params->conn->remote_cfg,key,eh->type,data+1,len-1);
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
int cisco_out_with_index(struct cw_ElemHandler * eh,
|
||||
struct cw_ElemHandlerParams * params, uint8_t * dst)
|
||||
|
||||
{
|
||||
char key[CW_KTV_MAX_KEY_LEN];
|
||||
int idx;
|
||||
cw_KTV_t * result, search;
|
||||
int len,start;
|
||||
uint8_t * ob;
|
||||
|
||||
|
||||
idx = 0;
|
||||
ob = dst;
|
||||
|
||||
do {
|
||||
sprintf(key,"%s.%d",eh->key,idx);
|
||||
search.key=key;
|
||||
result = mavl_get_first(params->conn->local_cfg,&search);
|
||||
if (result==NULL)
|
||||
break;
|
||||
if (strncmp(result->key,key,strlen(key))!=0)
|
||||
break;
|
||||
|
||||
start = params->conn->header_len(eh);
|
||||
len = cw_put_byte(ob+start,idx);
|
||||
|
||||
len += result->type->put(result,ob+start+len);
|
||||
|
||||
ob += params->conn->write_header(eh,ob,len);
|
||||
|
||||
idx++;
|
||||
|
||||
}while(1);
|
||||
|
||||
return ob-dst;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static struct cw_ElemHandler handlers[] = {
|
||||
|
||||
@ -349,7 +404,7 @@ static struct cw_ElemHandler handlers[] = {
|
||||
,
|
||||
{
|
||||
"RAD Name -> CAPWAP WTP Name", /* name */
|
||||
CW_CISCO_RAD_NAME, /* Element ID */
|
||||
CISCO_ELEM_RAD_NAME, /* Element ID */
|
||||
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||
1,512, /* min/max length */
|
||||
CW_TYPE_BSTR16, /* type */
|
||||
@ -794,6 +849,53 @@ static struct cw_ElemHandler handlers[] = {
|
||||
cw_in_generic_struct, /* get */
|
||||
cw_out_generic_struct /* put */
|
||||
},
|
||||
|
||||
{
|
||||
"Statitsics Timer", /* name */
|
||||
CISCO_ELEM_STATISTICS_TIMER, /* Element ID */
|
||||
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||
2,2, /* min/max length */
|
||||
CW_TYPE_WORD, /* type */
|
||||
"statistics-timer", /* Key */
|
||||
cw_in_generic, /* get */
|
||||
cw_out_generic /* put */
|
||||
}
|
||||
,
|
||||
|
||||
{
|
||||
"AC Name with Index", /* name */
|
||||
CISCO_ELEM_AC_NAME_WITH_INDEX, /* Element ID */
|
||||
CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */
|
||||
1,513, /* min/max length */
|
||||
CW_TYPE_BSTR16, /* type */
|
||||
"cisco/ac-name-with-index", /* Key */
|
||||
cisco_in_with_index, /* get */
|
||||
cisco_out_with_index /* put */
|
||||
}
|
||||
,
|
||||
|
||||
{
|
||||
"AC IP Address with Index", /* name */
|
||||
CISCO_LWELEM_AC_IP_ADDR_WITH_INDEX, /* Element ID */
|
||||
CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */
|
||||
5,5, /* min/max length */
|
||||
CW_TYPE_IPADDRESS, /* type */
|
||||
"cisco/ac-ip-addr-with-index", /* Key */
|
||||
cisco_in_with_index, /* get */
|
||||
cisco_out_with_index /* put */
|
||||
}
|
||||
,
|
||||
{
|
||||
"AP Failover Priority", /* name */
|
||||
CISCO_LWELEM_AP_FAILOVER_PRIORITY, /* Element ID */
|
||||
CW_VENDOR_ID_CISCO,CW_PROTO_LWAPP, /* Vendor / Proto */
|
||||
1,1, /* min/max length */
|
||||
CW_TYPE_BYTE, /* type */
|
||||
"cisco/ap-failover-priority", /* Key */
|
||||
cw_in_generic, /* get */
|
||||
cw_out_generic /* put */
|
||||
}
|
||||
,
|
||||
|
||||
{0,0,0,0,0,0,0,0}
|
||||
|
||||
@ -804,7 +906,7 @@ static int discovery_request_states[] = {CAPWAP_STATE_DISCOVERY,0};
|
||||
static struct cw_ElemDef discovery_request_elements[] ={
|
||||
/* {0,0, CAPWAP_ELEM_WTP_DESCRIPTOR, 1, 0},*/
|
||||
{0,0, CAPWAP_ELEM_WTP_BOARD_DATA, 0, 0},
|
||||
{0,CW_VENDOR_ID_CISCO, CW_CISCO_RAD_NAME, 1, 0},
|
||||
{0,CW_VENDOR_ID_CISCO, CISCO_ELEM_RAD_NAME, 1, 0},
|
||||
{0,CW_VENDOR_ID_CISCO, CW_CISCO_BOARD_DATA_OPTIONS, 0, 0},
|
||||
{0,0,0,00}
|
||||
|
||||
@ -873,12 +975,16 @@ static struct cw_ElemDef configuration_status_request_elements[] ={
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_MODEL, 1, 0},
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_RESET_BUTTON_STATE, 1, 0},
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_WTP_RADIO_CONFIGURATION, 1, 0},
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AC_NAME_WITH_INDEX, 0, 0},
|
||||
|
||||
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_USERNAME_PASSWORD, 1, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_LOGHOST_CONFIG, 1, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_TELNET_SSH, 1, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_SUBMODE, 1, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_ETHERNET_PORT_SUBTYPE, 1, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AC_IP_ADDR_WITH_INDEX, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_FAILOVER_PRIORITY, 1, 0},
|
||||
|
||||
{0,0,0,00}
|
||||
|
||||
@ -927,13 +1033,18 @@ static struct cw_ElemDef configuration_update_request_elements[] ={
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_RESET_BUTTON_STATE, 0, 0},
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_WTP_RADIO_CONFIGURATION, 0, 0},
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_LOCATION_DATA, 0, 0},
|
||||
{0, CW_VENDOR_ID_CISCO, CISCO_ELEM_RAD_NAME, 0, 0},
|
||||
{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},
|
||||
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_USERNAME_PASSWORD, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_LOGHOST_CONFIG, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_TELNET_SSH, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_SUBMODE, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_ETHERNET_PORT_SUBTYPE, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AC_IP_ADDR_WITH_INDEX, 0, 0},
|
||||
{CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_FAILOVER_PRIORITY, 0, 0},
|
||||
|
||||
{0,0,0,00}
|
||||
|
||||
|
@ -114,7 +114,7 @@ static cw_action_in_t actions_in[] = {
|
||||
.capwap_state = CW_STATE_RUN,
|
||||
.vendor_id = CW_VENDOR_ID_CISCO,
|
||||
.msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST,
|
||||
.elem_id = CW_CISCO_RAD_NAME,
|
||||
.elem_id = CISCO_ELEM_RAD_NAME,
|
||||
.item_id = CW_ITEM_WTP_NAME,
|
||||
.start = cw_in_generic,
|
||||
.min_len = 0,
|
||||
@ -280,7 +280,7 @@ static cw_action_out_t actions_out[]={
|
||||
{
|
||||
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
|
||||
.vendor_id = CW_VENDOR_ID_CISCO,
|
||||
.elem_id = CW_CISCO_RAD_NAME,
|
||||
.elem_id = CISCO_ELEM_RAD_NAME,
|
||||
.item_id = CW_ITEM_WTP_NAME,
|
||||
.out = cw_out_generic,
|
||||
/* .get = cw_out_get_config,*/
|
||||
|
@ -31,7 +31,7 @@
|
||||
#define CISCO_LWELEM_AP_USERNAME_PASSWORD 18
|
||||
#define LW_CISCO_MANAGER_IP_ADDR 19
|
||||
#define LW_CISCO_RADIO_MODULE_INFO 21
|
||||
#define LW_CISCO_AC_IP_ADDR_WITH_INDEX 32
|
||||
#define CISCO_LWELEM_AC_IP_ADDR_WITH_INDEX 32
|
||||
#define CISCO_LWELEM_AP_ETHERNET_PORT_SUBTYPE 34
|
||||
#define CISCO_LWELEM_AP_LOGHOST_CONFIG 36
|
||||
#define LW_CISCO_MCAST_MGID_INFO 39
|
||||
@ -42,6 +42,7 @@
|
||||
|
||||
#define LW_CISCO_PRIMED_DISCOVERY_TIMEOUT 50
|
||||
#define LW_CISCO_DELETE_WLAN 52
|
||||
#define CISCO_LWELEM_AP_FAILOVER_PRIORITY 53
|
||||
#define CISCO_LWELEM_PATH_MTU 73
|
||||
#define LW_CISCO_PRIMED_JOIN_TIMEOUT 85
|
||||
#define LW_CISCO_AP_DTLS_DATA_CFG 74
|
||||
|
@ -61,7 +61,7 @@ static cw_action_in_t actions_in[] = {
|
||||
.capwap_state = CAPWAP_STATE_DISCOVERY,
|
||||
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
|
||||
.vendor_id = CW_VENDOR_ID_CISCO,
|
||||
.elem_id = CW_CISCO_RAD_NAME,
|
||||
.elem_id = CISCO_ELEM_RAD_NAME,
|
||||
.start=cw_in_generic2,
|
||||
.item_id = "wtp_name",
|
||||
.min_len=1,
|
||||
|
@ -109,7 +109,7 @@ static cw_action_in_t actions_in[] = {
|
||||
.capwap_state = CW_STATE_RUN,
|
||||
.vendor_id = CW_VENDOR_ID_CISCO,
|
||||
.msg_id = CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST,
|
||||
.elem_id = CW_CISCO_RAD_NAME,
|
||||
.elem_id = CISCO_ELEM_RAD_NAME,
|
||||
.item_id = CW_ITEM_WTP_NAME,
|
||||
.start = cw_in_generic2,
|
||||
.min_len = 0,
|
||||
@ -158,7 +158,7 @@ static cw_action_out_t actions_out[]={
|
||||
{
|
||||
.msg_id = CW_MSG_DISCOVERY_REQUEST,
|
||||
.vendor_id = CW_VENDOR_ID_CISCO,
|
||||
.elem_id = CW_CISCO_RAD_NAME,
|
||||
.elem_id = CISCO_ELEM_RAD_NAME,
|
||||
.item_id = CW_ITEM_WTP_NAME,
|
||||
.out = cw_out_generic,
|
||||
.get = cw_out_get_config,
|
||||
|
Reference in New Issue
Block a user