Refactoring fo capwap.h
FossilOrigin-Name: eaf59431a22faf0b18914afc2e4190aa2ec934f8fa9aa5d7bee009196b90c7cb
This commit is contained in:
parent
ff0cf22c49
commit
5fa4653fa6
@ -620,7 +620,7 @@ int conf_parse_listen_addr(const char *addrstr, char *saddr, char *port, int *pr
|
|||||||
char *ctrlport;
|
char *ctrlport;
|
||||||
switch (*proto) {
|
switch (*proto) {
|
||||||
case AC_PROTO_CAPWAP:
|
case AC_PROTO_CAPWAP:
|
||||||
ctrlport = CAPWAP_CONTROL_PORT_STR;
|
ctrlport = CW_CONTROL_PORT_STR;
|
||||||
break;
|
break;
|
||||||
case AC_PROTO_LWAPP:
|
case AC_PROTO_LWAPP:
|
||||||
ctrlport = LWAPP_CONTROL_PORT_STR;
|
ctrlport = LWAPP_CONTROL_PORT_STR;
|
||||||
|
@ -69,7 +69,7 @@ extern struct mod_ac ** conf_mods;
|
|||||||
|
|
||||||
|
|
||||||
#ifndef CONF_DEFAULT_CONTROL_PORT
|
#ifndef CONF_DEFAULT_CONTROL_PORT
|
||||||
#define CONF_DEFAULT_CONTROL_PORT CAPWAP_CONTROL_PORT
|
#define CONF_DEFAULT_CONTROL_PORT CW_CONTROL_PORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONF_DEFAULT_LW_CONTROL_PORT
|
#ifndef CONF_DEFAULT_LW_CONTROL_PORT
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
static void reset_echointerval_timer(struct wtpman *wtpman)
|
static void reset_echointerval_timer(struct wtpman *wtpman)
|
||||||
{
|
{
|
||||||
uint16_t ct = mbag_get_word(wtpman->conn->local, CW_ITEM_CAPWAP_TIMERS,
|
uint16_t ct = mbag_get_word(wtpman->conn->local, CW_ITEM_CAPWAP_TIMERS,
|
||||||
CAPWAP_MAX_DISCOVERY_INTERVAL << 8 |
|
CW_MAX_DISCOVERY_INTERVAL << 8 |
|
||||||
CAPWAP_ECHO_INTERVAL);
|
CAPWAP_ECHO_INTERVAL);
|
||||||
|
|
||||||
/* start echinterval timer and put 2 seconds for "safety" on it */
|
/* start echinterval timer and put 2 seconds for "safety" on it */
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @file
|
* @file
|
||||||
* @brief CAPWAP desfinitions
|
* @brief CAPWAP definitions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -49,14 +49,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** CAPWAP Version */
|
/** CAPWAP Version */
|
||||||
#define CAPWAP_VERSION (0)
|
#define CW_VERSION (0)
|
||||||
|
|
||||||
#define CWIANA_ENTERPRISE_NUMBER 0
|
#define CW_IANA_ENTERPRISE_NUMBER 0
|
||||||
|
|
||||||
/** CAPWAP Control Port*/
|
/** CAPWAP Control Port*/
|
||||||
#define CAPWAP_CONTROL_PORT 5246
|
#define CW_CONTROL_PORT 5246
|
||||||
/** CAPWAP Control Port as String */
|
/** CAPWAP Control Port as String */
|
||||||
#define CAPWAP_CONTROL_PORT_STR "5246"
|
#define CW_CONTROL_PORT_STR "5246"
|
||||||
|
|
||||||
/** CAPWAP Data Port */
|
/** CAPWAP Data Port */
|
||||||
#define CAPWAP_DATA_PPORT 5247
|
#define CAPWAP_DATA_PPORT 5247
|
||||||
@ -92,8 +92,8 @@
|
|||||||
#define CW_WBID_EPCGLOBAL 3
|
#define CW_WBID_EPCGLOBAL 3
|
||||||
|
|
||||||
|
|
||||||
#define CAPWAP_PACKET_PREAMBLE (CAPWAP_VERSION<<4)
|
#define CAPWAP_PACKET_PREAMBLE (CW_VERSION<<4)
|
||||||
#define CAPWAP_DTLS_PACKET_PREAMBLE (CAPWAP_VERSION<<4|1)
|
#define CAPWAP_DTLS_PACKET_PREAMBLE (CW_VERSION<<4|1)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* control header stuff
|
* control header stuff
|
||||||
@ -307,9 +307,8 @@ CW_MSG_MAXMSG = 26
|
|||||||
#define CW_WTP_FRAME_TUNNEL_MODE_E 4 /* 802.3 mode */
|
#define CW_WTP_FRAME_TUNNEL_MODE_E 4 /* 802.3 mode */
|
||||||
#define CW_WTP_FRAME_TUNNEL_MODE_N 8 /* native mode */
|
#define CW_WTP_FRAME_TUNNEL_MODE_N 8 /* native mode */
|
||||||
|
|
||||||
#include "radioinfo.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Discovery Types */
|
||||||
#define CW_DISCOVERY_TYPE_UNKNOWN 0
|
#define CW_DISCOVERY_TYPE_UNKNOWN 0
|
||||||
#define CW_DISCOVERY_TYPE_STATIC 1
|
#define CW_DISCOVERY_TYPE_STATIC 1
|
||||||
#define CW_DISCOVERY_TYPE_DHCP 2
|
#define CW_DISCOVERY_TYPE_DHCP 2
|
||||||
@ -317,26 +316,23 @@ CW_MSG_MAXMSG = 26
|
|||||||
#define CW_DISCOVERY_TYPE_AC_REFERRAL 4
|
#define CW_DISCOVERY_TYPE_AC_REFERRAL 4
|
||||||
|
|
||||||
|
|
||||||
|
/* WTP mac types */
|
||||||
|
|
||||||
/* wtp mac types */
|
|
||||||
#define CW_WTP_MAC_TYPE_LOCAL 0
|
#define CW_WTP_MAC_TYPE_LOCAL 0
|
||||||
#define CW_WTP_MAC_TYPE_SPLIT 1
|
#define CW_WTP_MAC_TYPE_SPLIT 1
|
||||||
#define CW_WTP_MAC_TYPE_BOTH 2
|
#define CW_WTP_MAC_TYPE_BOTH 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//#define CWMSG_MAX_SIZE 65536
|
//#define CWMSG_MAX_SIZE 65536
|
||||||
#define CWMSG_MAX_SIZE 2048
|
//#define CWMSG_MAX_SIZE 2048
|
||||||
|
|
||||||
|
|
||||||
#define CW_SESSION_ID_LEN 16
|
#define CW_SESSION_ID_LEN 16
|
||||||
|
|
||||||
|
|
||||||
/* capwap timer default values */
|
/* capwap timer default values */
|
||||||
#define CAPWAP_DISCOVERY_INTERVAL 5
|
#define CW_DISCOVERY_INTERVAL 5
|
||||||
#define CAPWAP_MAX_DISCOVERY_INTERVAL 20
|
#define CW_MAX_DISCOVERY_INTERVAL 20
|
||||||
#define CAPWAP_RETRANSMIT_INTERVAL 3
|
#define CAPWAP_RETRANSMIT_INTERVAL 3
|
||||||
#define CAPWAP_MAX_DISCOVERIES 10
|
#define CAPWAP_MAX_DISCOVERIES 10
|
||||||
#define CAPWAP_MAX_RETRANSMIT 5
|
#define CAPWAP_MAX_RETRANSMIT 5
|
||||||
@ -351,7 +347,7 @@ CW_MSG_MAXMSG = 26
|
|||||||
#define CAPWAP_STATISTICS_TIMER 120
|
#define CAPWAP_STATISTICS_TIMER 120
|
||||||
|
|
||||||
|
|
||||||
#define CAPWAP_TIMERS ((CAPWAP_DISCOVERY_INTERVAL << 8) | CAPWAP_ECHO_INTERVAL)
|
#define CAPWAP_TIMERS ((CW_DISCOVERY_INTERVAL << 8) | CAPWAP_ECHO_INTERVAL)
|
||||||
|
|
||||||
|
|
||||||
//#define CAPWAP_CIPHER "PSK-AES128-CBC-SHA:"
|
//#define CAPWAP_CIPHER "PSK-AES128-CBC-SHA:"
|
||||||
|
@ -75,7 +75,7 @@ void cw_init_request(struct conn *conn, int msg_id)
|
|||||||
cw_put_dword(buffer + 4, 0);
|
cw_put_dword(buffer + 4, 0);
|
||||||
|
|
||||||
/* unencrypted */
|
/* unencrypted */
|
||||||
cw_set_hdr_preamble(buffer, CAPWAP_VERSION << 4 | 0);
|
cw_set_hdr_preamble(buffer, CW_VERSION << 4 | 0);
|
||||||
|
|
||||||
cw_set_hdr_rmac(buffer, conn->base_rmac);
|
cw_set_hdr_rmac(buffer, conn->base_rmac);
|
||||||
//cw_set_hdr_hlen(buffer, 2);
|
//cw_set_hdr_hlen(buffer, 2);
|
||||||
@ -99,7 +99,7 @@ void cw_init_data_msg(struct conn *conn)
|
|||||||
cw_put_dword(buffer + 4, 0);
|
cw_put_dword(buffer + 4, 0);
|
||||||
|
|
||||||
/* unencrypted */
|
/* unencrypted */
|
||||||
cw_set_hdr_preamble(buffer, CAPWAP_VERSION << 4 | 0);
|
cw_set_hdr_preamble(buffer, CW_VERSION << 4 | 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -579,12 +579,12 @@ int conn_process_packet2(struct conn *conn, uint8_t * packet, int len,
|
|||||||
|
|
||||||
int preamble = cw_get_hdr_preamble(packet);
|
int preamble = cw_get_hdr_preamble(packet);
|
||||||
|
|
||||||
if ((preamble & 0xf0) != (CAPWAP_VERSION << 4)) {
|
if ((preamble & 0xf0) != (CW_VERSION << 4)) {
|
||||||
/* wrong version */
|
/* wrong version */
|
||||||
cw_dbg(DBG_PKT_ERR,
|
cw_dbg(DBG_PKT_ERR,
|
||||||
"Discarding packet from %s, wrong version, version=%d, version %d expected.",
|
"Discarding packet from %s, wrong version, version=%d, version %d expected.",
|
||||||
sock_addr2str(&conn->addr), (preamble & 0xf0) >> 4,
|
sock_addr2str(&conn->addr), (preamble & 0xf0) >> 4,
|
||||||
CAPWAP_VERSION);
|
CW_VERSION);
|
||||||
errno = EAGAIN;
|
errno = EAGAIN;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ int cw_in_capwap_control_ip_address(struct conn *conn, struct cw_action_in *a,
|
|||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
memcpy(&addr.sin_addr,data,4);
|
memcpy(&addr.sin_addr,data,4);
|
||||||
addr.sin_family=AF_INET;
|
addr.sin_family=AF_INET;
|
||||||
sock_setport((struct sockaddr*)&addr,CAPWAP_CONTROL_PORT);
|
sock_setport((struct sockaddr*)&addr,CW_CONTROL_PORT);
|
||||||
memcpy(&acip->ip,&addr,sizeof(addr));
|
memcpy(&acip->ip,&addr,sizeof(addr));
|
||||||
acip->index = cw_get_word(data+4);
|
acip->index = cw_get_word(data+4);
|
||||||
}
|
}
|
||||||
@ -72,7 +72,7 @@ int cw_in_capwap_control_ip_address(struct conn *conn, struct cw_action_in *a,
|
|||||||
memset (&addr,0,sizeof(addr));
|
memset (&addr,0,sizeof(addr));
|
||||||
memcpy(&addr.sin6_addr,data,16);
|
memcpy(&addr.sin6_addr,data,16);
|
||||||
addr.sin6_family=AF_INET6;
|
addr.sin6_family=AF_INET6;
|
||||||
sock_setport((struct sockaddr*)&addr,CAPWAP_CONTROL_PORT);
|
sock_setport((struct sockaddr*)&addr,CW_CONTROL_PORT);
|
||||||
memcpy(&acip->ip,&addr,sizeof(addr));
|
memcpy(&acip->ip,&addr,sizeof(addr));
|
||||||
acip->index = cw_get_word(data+16);
|
acip->index = cw_get_word(data+16);
|
||||||
}
|
}
|
||||||
|
@ -248,12 +248,12 @@ int netconn_process_packet(struct netconn *nc, uint8_t * packet, int len,
|
|||||||
|
|
||||||
int preamble = cw_get_hdr_preamble(packet);
|
int preamble = cw_get_hdr_preamble(packet);
|
||||||
|
|
||||||
if ((preamble & 0xf0) != (CAPWAP_VERSION << 4)) {
|
if ((preamble & 0xf0) != (CW_VERSION << 4)) {
|
||||||
/* wrong version */
|
/* wrong version */
|
||||||
cw_dbg(DBG_PKT_ERR,
|
cw_dbg(DBG_PKT_ERR,
|
||||||
"Discarding packet from %s, wrong version, version=%d, version %d expected.",
|
"Discarding packet from %s, wrong version, version=%d, version %d expected.",
|
||||||
sock_addr2str(&nc->addr), (preamble & 0xf0) >> 4,
|
sock_addr2str(&nc->addr), (preamble & 0xf0) >> 4,
|
||||||
CAPWAP_VERSION);
|
CW_VERSION);
|
||||||
errno = EAGAIN;
|
errno = EAGAIN;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -21,5 +21,5 @@ struct mbag_item * capwap_out_get_capwap_timers(struct conn *conn,struct cw_acti
|
|||||||
if (m)
|
if (m)
|
||||||
return m;
|
return m;
|
||||||
|
|
||||||
return mbag_set_word(conn->local,CW_ITEM_CAPWAP_TIMERS,CAPWAP_MAX_DISCOVERY_INTERVAL<<8 | CAPWAP_ECHO_INTERVAL);
|
return mbag_set_word(conn->local,CW_ITEM_CAPWAP_TIMERS,CW_MAX_DISCOVERY_INTERVAL<<8 | CAPWAP_ECHO_INTERVAL);
|
||||||
}
|
}
|
||||||
|
@ -111,14 +111,22 @@ int cw_cisco_get_wlan_(mbag_t wlan, uint8_t *data, int len)
|
|||||||
int cisco_in_add_wlan(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len,
|
int cisco_in_add_wlan(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len,
|
||||||
struct sockaddr *from)
|
struct sockaddr *from)
|
||||||
{
|
{
|
||||||
|
int pos=0;
|
||||||
|
|
||||||
cw_dbg (DBG_X,"Add WLAN");
|
cw_dbg (DBG_X,"Add WLAN");
|
||||||
|
|
||||||
int rid = cw_get_byte(data);
|
int rid = cw_get_byte(data);
|
||||||
cw_dbg (DBG_X, "RID = %d",rid);
|
cw_dbg (DBG_X, "Radio ID = %d",rid);
|
||||||
|
|
||||||
bstr_t mac = bstr_create(data+1,6);
|
bstr_t mac = bstr_create(data+1,6);
|
||||||
cw_dbg (DBG_X, "MAC: %s",sock_hwaddr2str(bstr_data(mac),bstr_len(mac)));
|
cw_dbg (DBG_X, "MAC: %s",sock_hwaddr2str(bstr_data(mac),bstr_len(mac)));
|
||||||
|
|
||||||
|
int wid = cw_get_word(data+1+6);
|
||||||
|
cw_dbg (DBG_X, "WLAN ID = %d",wid);
|
||||||
|
|
||||||
|
char * ssid=cw_get_str(data+1+6+2+1,16);
|
||||||
|
cw_dbg (DBG_X, "SSID = %s",ssid);
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
int cisco_out_radio_operational_state(struct conn *conn, struct cw_action_out *a, uint8_t * dst)
|
int cisco_out_radio_operational_state(struct conn *conn, struct cw_action_out *a, uint8_t * dst)
|
||||||
{
|
{
|
||||||
|
cw_dbg(DBG_X,"Try send oper state");
|
||||||
|
|
||||||
|
|
||||||
int l=0;
|
int l=0;
|
||||||
MAVLITER_DEFINE(it,conn->radios_upd);
|
MAVLITER_DEFINE(it,conn->radios_upd);
|
||||||
@ -28,6 +30,7 @@ int cisco_out_radio_operational_state(struct conn *conn, struct cw_action_out *a
|
|||||||
|
|
||||||
l+=cw_put_elem_radio_operational_state(dst+l,i->iid,oper_state_t, oper_cause);
|
l+=cw_put_elem_radio_operational_state(dst+l,i->iid,oper_state_t, oper_cause);
|
||||||
|
|
||||||
|
// cw_dbg_elem_(conn,1,1,dst+l,l);
|
||||||
|
|
||||||
}
|
}
|
||||||
return l;
|
return l;
|
||||||
|
@ -209,7 +209,7 @@ int wtpconf_ac_list()
|
|||||||
|
|
||||||
int wtpconf_preinit()
|
int wtpconf_preinit()
|
||||||
{
|
{
|
||||||
conf_control_port=strdup(CAPWAP_CONTROL_PORT_STR);
|
conf_control_port=strdup(CW_CONTROL_PORT_STR);
|
||||||
conf_dtls_cipher=strdup(CONF_DEFAULT_DTLS_CIPHER);
|
conf_dtls_cipher=strdup(CONF_DEFAULT_DTLS_CIPHER);
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ extern uint8_t conf_macaddress_len;
|
|||||||
|
|
||||||
|
|
||||||
#ifndef CONF_DEFAULT_MAX_DISCOVERY_INTERVAL
|
#ifndef CONF_DEFAULT_MAX_DISCOVERY_INTERVAL
|
||||||
#define CONF_DEFAULT_MAX_DISCOVERY_INTERVAL CAPWAP_MAX_DISCOVERY_INTERVAL
|
#define CONF_DEFAULT_MAX_DISCOVERY_INTERVAL CW_MAX_DISCOVERY_INTERVAL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONF_DEFAULT_SILENT_INTERVAL
|
#ifndef CONF_DEFAULT_SILENT_INTERVAL
|
||||||
@ -101,7 +101,7 @@ extern uint8_t conf_macaddress_len;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONF_DEFAULT_DISCOVERY_INTERVAL
|
#ifndef CONF_DEFAULT_DISCOVERY_INTERVAL
|
||||||
#define CONF_DEFAULT_DISCOVERY_INTERVAL CAPWAP_DISCOVERY_INTERVAL
|
#define CONF_DEFAULT_DISCOVERY_INTERVAL CW_DISCOVERY_INTERVAL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONF_DEFAULT_MAX_DISCOVERIES
|
#ifndef CONF_DEFAULT_MAX_DISCOVERIES
|
||||||
|
Loading…
Reference in New Issue
Block a user