diff --git a/src/mod/cisco/Makefile b/src/mod/cisco/Makefile index 17845a9e..0734ff9f 100644 --- a/src/mod/cisco/Makefile +++ b/src/mod/cisco/Makefile @@ -8,11 +8,15 @@ OBJS=\ cisco_in_wtp_descriptor.o \ cisco_out_ac_descriptor.o \ cisco_out_wtp_descriptor.o \ + cisco_out_telnet_ssh.o \ cisco_in_ac_descriptor.o\ cisco80211.o \ + cisco_out_board_data_options.o \ cisco_in_radio_administrative_state.o \ - cisco_out_board_data_options.o - + cisco_in_spam_vendor_specific.o \ + cisco_in_telnet_ssh.o \ + + NAME=libcisco.a diff --git a/src/mod/cisco/cisco.h b/src/mod/cisco/cisco.h index a5b6cfa9..cfb9b8df 100644 --- a/src/mod/cisco/cisco.h +++ b/src/mod/cisco/cisco.h @@ -23,5 +23,12 @@ extern int cisco_in_ac_descriptor(struct conn *conn, struct cw_action_in *a, extern int cisco_in_radio_administrative_state_wtp(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len, struct sockaddr *from); +int cisco_in_spam_vendor_specific(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len, + struct sockaddr *from); + +int cisco_in_telnet_ssh(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len, + struct sockaddr *from); + +int cisco_out_telnet_ssh(struct conn *conn,struct cw_action_out * a,uint8_t *dst); #endif diff --git a/src/mod/cisco/cisco_actions_ac.c b/src/mod/cisco/cisco_actions_ac.c index ed7b1dda..a446bd8e 100644 --- a/src/mod/cisco/cisco_actions_ac.c +++ b/src/mod/cisco/cisco_actions_ac.c @@ -27,6 +27,8 @@ #include "cw/capwap_cisco.h" #include "cw/capwap80211.h" +#include "cw/lwapp_cisco.h" + #include "mod_cisco.h" #include "cisco.h" @@ -164,7 +166,31 @@ static cw_action_in_t actions_in[] = { } , - + { + /* This is Cisco's Vendor specific encapsulation + * of LWAPP elements */ + + .capwap_state = CW_STATE_CONFIGURE, + .msg_id = CW_MSG_CONFIGURATION_STATUS_REQUEST, + .vendor_id = CW_VENDOR_ID_CISCO, + .elem_id = CW_CISCO_SPAM_VENDOR_SPECIFIC, + .start = lw_in_vendor_specific, + + } + , + + /* LWAPP Vendor spec Messages */ + { + + .proto = CW_ACTION_PROTO_LWAPP, + .capwap_state = CW_STATE_CONFIGURE, + .msg_id = CW_MSG_CONFIGURATION_STATUS_REQUEST, + .vendor_id = LW_VENDOR_ID_CISCO, + .elem_id = LW_CISCO_TELNET_SSH, + .start = cisco_in_telnet_ssh + } + + , /* End of list */ {0, 0} @@ -235,6 +261,30 @@ static cw_action_out_t actions_out[]={ } , + + /* -------------------------------------------------------- + * Configuration Update Request - Out + */ + + { + .msg_id = CW_MSG_CONFIGURATION_UPDATE_REQUEST, + .out = cisco_out_telnet_ssh, + } + , + + { + .msg_id = CW_MSG_CONFIGURATION_UPDATE_REQUEST, + .item_id = CW_ITEM_WTP_NAME, + .vendor_id = CW_VENDOR_ID_CISCO, + .elem_id = CW_CISCO_RAD_NAME, + .out=cw_out_generic, + .get = cw_out_get_outgoing + } + , + + + + {0,0} };