More Cisco specific stuff

FossilOrigin-Name: ba1217e4069e946c852d379efe8a1c7bc95a6a545c85853ae54cdc3786b60dac
This commit is contained in:
7u83@mail.ru
2015-03-14 09:15:12 +00:00
parent 140af914b2
commit ac8b979e84
20 changed files with 222 additions and 135 deletions

View File

@ -169,6 +169,20 @@ int read_config(const char * filename){
bstr_replace(&conf_software_version,s);
}
str = uci_lookup_option_string(ctx,section,"hardware_version");
if (str){
uint8_t * s = bstr_create_from_cfgstr(str);
bstr_replace(&conf_hardware_version,s);
}
str = uci_lookup_option_string(ctx,section,"bootloader_version");
if (str){
uint8_t * s = bstr_create_from_cfgstr(str);
bstr_replace(&conf_bootloader_version,s);
}
str = uci_lookup_option_string(ctx,section,"serial_no");
if (str){
uint8_t * s = bstr_create_from_cfgstr(str);

View File

@ -152,6 +152,7 @@ static int do_discover_conn(struct conn * conn,struct discovery_info * di)
int rc;
do {
conn->capwap_mode=CWMODE_CISCO;
rc = cwsend_discovery_request(conn,&ri,wtpinfo);
if (rc<0){
if (errno == EINTR)

View File

@ -44,9 +44,16 @@ int join_state(struct conn * conn)
rc = cwsend_join_request(conn,&ri,wtpinfo);
printf("Seqnum after = %i\n",conn->seqnum);
struct cwrmsg * cwrmsg = conn_get_message(conn);
struct cwrmsg * cwrmsg;
// do {
cwrmsg = conn_get_message(conn);
printf("Received %08p\n",cwrmsg);
// }while(cwrmsg==0);
exit(0);
// cw_log_debug0("Received message %i",cwrmsg->seqnum);
@ -86,6 +93,10 @@ int join(struct sockaddr *sa)
}
struct conn * conn = get_conn();
conn->capwap_mode = CWMODE_CISCO;
conn->sock=sockfd;
sock_copyaddr(&conn->addr,sa);

View File

@ -5,6 +5,7 @@
#include "capwap/wtpinfo.h"
#include "capwap/acinfo.h"
#include "capwap/conn.h"
#include "capwap/capwap_ieee80211.h"
#include "wtp_conf.h"
#include "wtp_interface.h"
@ -18,17 +19,16 @@ struct wtpinfo * get_wtpinfo()
wtpinfo=malloc(sizeof(struct wtpinfo));
memset(wtpinfo,0,sizeof(struct wtpinfo));
wtpinfo->capwap_mode=CWMODE_CISCO;
wtpinfo->name = (uint8_t*)"wtp";
wtpinfo->location = (uint8_t*)"Unknown";
wtpinfo->name = (uint8_t*)"wtpXY";
wtpinfo->location = (uint8_t*)"default location";
wtpinfo->max_radios=wtpdrv_get_num_radios();
/* int i;
int i;
for (i=0; i<wtpdrv_get_num_radios(); i++){
wtpdrv_get_radioinfo(i+1,&wtpinfo.radioinfo[i+1]);
wtpdrv_get_radioinfo(i,&(wtpinfo->radioinfo[i]));
}
*/
wtpinfo->serial_no=conf_serial_no;
wtpinfo->vendor_id=conf_vendor_id;
@ -41,6 +41,11 @@ struct wtpinfo * get_wtpinfo()
wtpinfo->hardware_vendor_id=CW_VENDOR_ID_CISCO;
wtpinfo->software_version=conf_software_version;
wtpinfo->hardware_version=conf_hardware_version;
wtpinfo->bootloader_version=conf_bootloader_version;
wtpinfo->software_vendor_id=CW_VENDOR_ID_CISCO;
wtpinfo->macaddress=conf_macaddress;
@ -49,9 +54,12 @@ struct wtpinfo * get_wtpinfo()
wtpinfo->mac_type=0;
wtpinfo->session_id = malloc(8);
wtpinfo->session_id_len = cw_rand(wtpinfo->session_id,8);
// wtpinfo->session_id = malloc(8);
// wtpinfo->session_id_len = cw_rand(wtpinfo->session_id,8);
uint8_t sessid[4];
int sidl = cw_rand(sessid,4);
wtpinfo->session_id = bstr_create(sessid,sidl);
wtpinfo->frame_tunnel_mode=1;
return wtpinfo;

View File

@ -11,6 +11,7 @@
#include "capwap/cw_log.h"
#include "capwap/radioinfo.h"
#include "capwap/sock.h"
#include "capwap/capwap_ieee80211.h"
int wpa_printf()
{
@ -1207,13 +1208,18 @@ return 0;
int wtpdrv_get_num_radios()
{
return 4;
return 2;
}
/*
static int wtpdrv_get_radioinfo(int rid,struct radioinfo * radioinfo)
int wtpdrv_get_radioinfo(int rid,struct radioinfo * radioinfo)
{
radioinfo->rid=rid;
radioinfo->type|=CW_IEEE80211_RADIO_TYPE_B; //CWRADIO_TYPE_N;
/*
struct wpa_driver_ops * drv = wpa_drivers[0];
struct hostapd_hw_modes * hwm;
@ -1267,8 +1273,8 @@ static int wtpdrv_get_radioinfo(int rid,struct radioinfo * radioinfo)
// drv
*/
}
*/