aciplist in config file.
FossilOrigin-Name: 0ae2ea51cbbb8c346b811c5ed15b41fb1445a9e97b574379596be9333f051858
This commit is contained in:
@ -140,6 +140,7 @@ CAPWAPOBJS= \
|
||||
cw_in_cisco_image_identifier.o\
|
||||
cw_out_capwap_control_ip_addr_list.o \
|
||||
cw_in_capwap_control_ipv4_address.o\
|
||||
cw_in_radio_administrative_state.o \
|
||||
strheap.o \
|
||||
cw_check_missing_mand.o \
|
||||
md5sum.o \
|
||||
|
@ -44,7 +44,7 @@ static void acprio_del(void *d)
|
||||
|
||||
cw_acpriolist_t cw_acpriolist_create()
|
||||
{
|
||||
return avltree_create(acprio_cmp, acprio_del);
|
||||
return mavl_create(acprio_cmp, acprio_del);
|
||||
}
|
||||
|
||||
cw_acprio_t * cw_acpriolist_add(cw_acpriolist_t l, const char *name,int name_len, uint8_t prio)
|
||||
@ -57,7 +57,7 @@ cw_acprio_t * cw_acpriolist_add(cw_acpriolist_t l, const char *name,int name_len
|
||||
s->prio=prio;
|
||||
|
||||
cw_acpriolist_del(l,s);
|
||||
return avltree_add(l,s);
|
||||
return mavl_add(l,s);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
#ifndef __ACIPRIORITYLIST_H
|
||||
#define __ACIPRIORITYLIST_H
|
||||
|
||||
|
||||
#include "avltree.h"
|
||||
#include "mavl.h"
|
||||
//#include "mavl.h"
|
||||
|
||||
struct cw_acprio{
|
||||
char *name;
|
||||
@ -10,7 +10,7 @@ struct cw_acprio{
|
||||
};
|
||||
|
||||
typedef struct cw_acprio cw_acprio_t;
|
||||
typedef struct avltree * cw_acpriolist_t;
|
||||
typedef struct mavl * cw_acpriolist_t;
|
||||
|
||||
extern cw_acpriolist_t cw_acpriolist_create();
|
||||
cw_acprio_t * cw_acpriolist_add(cw_acpriolist_t l, const char *name,int name_len, uint8_t prio);
|
||||
@ -19,13 +19,13 @@ static inline int cw_acpriolist_get(cw_acpriolist_t l, char * acname){
|
||||
cw_acprio_t ps,*pf;
|
||||
ps.name=acname;
|
||||
|
||||
pf=avltree_get(l,&ps);
|
||||
pf=mavl_get(l,&ps);
|
||||
if (!pf)
|
||||
return 256;
|
||||
return pf->prio;
|
||||
}
|
||||
|
||||
#define cw_acpriolist_del(l,s) avltree_del(l,s)
|
||||
#define cw_acpriolist_del(l,s) mavl_del(l,s)
|
||||
#define cw_acpriolist_set(l,n,nl,p) cw_acpriolist_add(l,n,nl,p)
|
||||
|
||||
#endif
|
||||
|
@ -1098,6 +1098,8 @@ struct mbag_item *cw_out_get_session_id(struct conn *conn, struct cw_action_out
|
||||
struct mbag_item *cw_out_get_config(struct conn *conn, struct cw_action_out *a);
|
||||
|
||||
|
||||
extern int cw_in_radio_administrative_state(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len,
|
||||
struct sockaddr *from);
|
||||
|
||||
|
||||
int cw_send_request(struct conn *conn, int msg_id);
|
||||
|
@ -12,11 +12,16 @@
|
||||
|
||||
cw_action_in_t capwap_80211_actions_wtp_in[] = {
|
||||
|
||||
|
||||
/* Discovery Response */
|
||||
{0, 0, CW_STATE_DISCOVERY, CW_MSG_DISCOVERY_RESPONSE,
|
||||
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
|
||||
,
|
||||
|
||||
/* Join Response */
|
||||
{0, 0, CW_STATE_JOIN, CW_MSG_JOIN_RESPONSE,
|
||||
CW_ACTION_IN_80211_WTP_RADIO_INFORMATION, 1}
|
||||
,
|
||||
|
||||
|
||||
{0, 0, 0}
|
||||
};
|
||||
|
@ -157,6 +157,13 @@
|
||||
CW_ITEM_IDLE_TIMEOUT, /* ID to use store */ \
|
||||
4, 4 /* min/max length */
|
||||
|
||||
#define CW_ACTION_IN_RADIO_ADMINISTRATIVE_STATE \
|
||||
CW_ELEM_RADIO_ADMINISTRATIVE_STATE, /* Element ID*/ \
|
||||
cw_in_radio_administrative_state, 0, /* start/end callback */ \
|
||||
MBAG_DWORD, /* Type of element */ \
|
||||
0, /* ID to use store */ \
|
||||
4, 4 /* min/max length */
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -68,6 +68,15 @@ cw_action_in_t capwap_actions_wtp_in[] = {
|
||||
CW_ACTION_IN_RESULT_CODE, 1}
|
||||
,
|
||||
|
||||
/* Element: AC Name */
|
||||
{0, 0, CW_STATE_JOIN, CW_MSG_JOIN_RESPONSE,
|
||||
CW_ACTION_IN_AC_NAME, 1}
|
||||
,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------- */
|
||||
|
||||
/* Message Image Data Response */
|
||||
|
@ -88,6 +88,7 @@
|
||||
#define CW_CISCO_BOARD_DATA_OPTIONS 207
|
||||
#define CW_CISCO_MWAR_TYPE 208
|
||||
#define CW_CISCO_AP_RETRANSMIT_PARAM 240
|
||||
#define CW_CISCO_AP_VENUE_SETTINGS 249
|
||||
|
||||
|
||||
|
||||
|
@ -112,6 +112,9 @@ const char * cw_cisco_id_to_str(int elem_id)
|
||||
return "SPAM AP LED State";
|
||||
case CW_CISCO_AP_RETRANSMIT_PARAM:
|
||||
return "AP Retransmit Param";
|
||||
case CW_CISCO_AP_VENUE_SETTINGS:
|
||||
return "AP Venue Settings";
|
||||
|
||||
default:
|
||||
return "Unknown";
|
||||
|
||||
|
@ -279,6 +279,16 @@ static inline int mbag_set_avltree(mbag_t s, uint32_t id, struct avltree *t)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline int mbag_set_mavl(mbag_t s, uint32_t id, mavl_t t)
|
||||
{
|
||||
struct mbag_item *i = mbag_item_create(s, id);
|
||||
if (!i)
|
||||
return 0;
|
||||
i->type = MBAG_AVLTREE;
|
||||
i->data = t;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
static inline struct avltree *mbag_get_avltree_c(mbag_t s, uint32_t id,
|
||||
struct avltree *(creator) ())
|
||||
@ -296,6 +306,22 @@ static inline struct avltree *mbag_get_avltree_c(mbag_t s, uint32_t id,
|
||||
}
|
||||
|
||||
|
||||
static inline mavl_t mbag_get_mavl(mbag_t s, uint32_t id,
|
||||
mavl_t (creator) ())
|
||||
{
|
||||
struct mbag_item *i = mbag_get(s, id);
|
||||
if (i)
|
||||
return i->data;
|
||||
|
||||
if (!creator)
|
||||
return NULL;
|
||||
mavl_t avltree = creator();
|
||||
if (!avltree)
|
||||
return NULL;
|
||||
mbag_set_mavl(s, id, avltree);
|
||||
return avltree;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -56,7 +56,11 @@ extern int sock_set_dontfrag(int sock,int val);
|
||||
|
||||
extern char * sock_get_primary_if(int family);
|
||||
|
||||
#define sock_addr2str(s) ( sock_addrtostr( (struct sockaddr*)s, (char[64]){0}, 64 ) )
|
||||
|
||||
char *sock_strsockaddr(const struct sockaddr *sa, char *s, size_t maxlen,int addport);
|
||||
|
||||
|
||||
#define sock_addr2str(s) ( sock_strsockaddr( (struct sockaddr*)s, (char[64]){0}, 64,0 ) )
|
||||
#define sock_hwaddr2str(s,l) ( sock_hwaddrtostr( s,l, (char[64]){0}, ":" ) )
|
||||
#define sock_hwaddr2idstr(s,l) ( sock_hwaddrtostr( s,l, (char[64]){0}, "" ) )
|
||||
|
||||
|
@ -45,7 +45,10 @@ void sock_hwaddrtostr(const uint8_t *haddr,int len,char *dst)
|
||||
}
|
||||
*/
|
||||
|
||||
char *sock_addrtostr(const struct sockaddr *sa, char *s, size_t maxlen)
|
||||
|
||||
|
||||
|
||||
char *sock_strsockaddr(const struct sockaddr *sa, char *s, size_t maxlen,int addport)
|
||||
{
|
||||
|
||||
int port;
|
||||
@ -54,7 +57,10 @@ char *sock_addrtostr(const struct sockaddr *sa, char *s, size_t maxlen)
|
||||
case AF_INET:
|
||||
inet_ntop(AF_INET, &(((struct sockaddr_in *)sa)->sin_addr), s, maxlen);
|
||||
port = ((struct sockaddr_in *)sa)->sin_port;
|
||||
sprintf(s,"%s:%i",s,ntohs(port));
|
||||
if (addport)
|
||||
sprintf(s,"%s:%i",s,ntohs(port));
|
||||
else
|
||||
sprintf(s,"%s",s);
|
||||
break;
|
||||
|
||||
case AF_INET6:
|
||||
|
Reference in New Issue
Block a user