Can send WTP images now and handle erros.
FossilOrigin-Name: 2b5d9206c2287a0e22f48c6c4f12407ebc07b1b2b03f38be46a1c47d92127950
This commit is contained in:
@ -6,47 +6,46 @@
|
||||
#include "capwap_cisco.h"
|
||||
#include "conn.h"
|
||||
|
||||
void cwsend_join_response(struct conn * conn,int seqnum, int rc, struct radioinfo * radioinfo, struct ac_info * acinfo, struct wtpinfo * wtpinfo)
|
||||
void cwsend_join_response(struct conn *conn, int seqnum, int rc, struct radioinfo *radioinfo,
|
||||
struct ac_info *acinfo, struct wtpinfo *wtpinfo)
|
||||
{
|
||||
struct cwmsg * cwmsg = &conn->resp_msg;
|
||||
cwmsg_init(cwmsg,conn->resp_buffer,CWMSG_JOIN_RESPONSE,seqnum,NULL);
|
||||
cwmsg->capwap_mode=conn->capwap_mode;
|
||||
struct cwmsg *cwmsg = &conn->resp_msg;
|
||||
cwmsg_init(cwmsg, conn->resp_buffer, CWMSG_JOIN_RESPONSE, seqnum, NULL);
|
||||
cwmsg->capwap_mode = conn->capwap_mode;
|
||||
|
||||
/* mandatory messagesg elements */
|
||||
cwmsg_addelem_result_code(cwmsg,rc);
|
||||
cwmsg_addelem_ac_descriptor(cwmsg,acinfo);
|
||||
cwmsg_addelem(cwmsg,CWMSGELEM_AC_NAME,acinfo->ac_name,strlen((char*)acinfo->ac_name));
|
||||
cwmsg_addelem(cwmsg,CWMSGELEM_ECN_SUPPORT,&acinfo->ecn_support,sizeof(uint8_t));
|
||||
cwmsg_addelem_ctrl_ip_addrs(cwmsg,acinfo);
|
||||
// cwmsg_addelem_cw_local_ip_addr(cwmsg,conn);
|
||||
cwmsg_addelem_result_code(cwmsg, rc);
|
||||
|
||||
cwmsg_addelem_ac_descriptor(cwmsg, acinfo,wtpinfo);
|
||||
cwmsg_addelem(cwmsg, CWMSGELEM_AC_NAME, acinfo->ac_name, strlen((char *) acinfo->ac_name));
|
||||
cwmsg_addelem(cwmsg, CWMSGELEM_ECN_SUPPORT, &acinfo->ecn_support, sizeof(uint8_t));
|
||||
cwmsg_addelem_ctrl_ip_addrs(cwmsg, acinfo);
|
||||
// cwmsg_addelem_cw_local_ip_addr(cwmsg,conn);
|
||||
|
||||
|
||||
/* */
|
||||
// cwmsg_addelem_image_identifier(cwmsg,CW_VENDOR_ID_CISCO,(uint8_t*)"/tobias",strlen("/tobias"));
|
||||
// cwmsg_addelem_image_identifier(cwmsg,CW_VENDOR_ID_CISCO,(uint8_t*)"/tobias",strlen("/tobias"));
|
||||
|
||||
|
||||
uint8_t buffer[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
buffer[0]=0; /* Mwar Type */
|
||||
buffer[1]=1; /* h/w version */
|
||||
buffer[2]=2; /* h/w Release */
|
||||
buffer[3]=0; /* h/w Maint */
|
||||
buffer[4]=3; /* h/w Build */
|
||||
uint8_t buffer[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
buffer[0] = 0; /* Mwar Type */
|
||||
buffer[1] = 1; /* h/w version */
|
||||
buffer[2] = 2; /* h/w Release */
|
||||
buffer[3] = 0; /* h/w Maint */
|
||||
buffer[4] = 3; /* h/w Build */
|
||||
|
||||
buffer[5]=5; /* s/w version */
|
||||
buffer[6]=0; /* s/w Release */
|
||||
buffer[7]=19; /* s/w Maint */
|
||||
buffer[8]=2; /* s/w Build */
|
||||
buffer[5] = 5; /* s/w version */
|
||||
buffer[6] = 0; /* s/w Release */
|
||||
buffer[7] = 19; /* s/w Maint */
|
||||
buffer[8] = 2; /* s/w Build */
|
||||
|
||||
*((uint16_t*)(buffer+9))=htons(13); /* Active MS */
|
||||
*((uint16_t*)(buffer+9+2))=htons(23); /* Supported MS */
|
||||
*((uint16_t*)(buffer+9+4))=htons(5); /* Active RAD's */
|
||||
*((uint16_t*)(buffer+9+6))=htons(15); /* Supported RAD's */
|
||||
// cwmsg_addelem_vendor_specific_payload(cwmsg,CW_VENDOR_ID_CISCO, CWVENDOR_CISCO_MWAR, buffer,34);
|
||||
*((uint16_t *) (buffer + 9)) = htons(13); /* Active MS */
|
||||
*((uint16_t *) (buffer + 9 + 2)) = htons(23); /* Supported MS */
|
||||
*((uint16_t *) (buffer + 9 + 4)) = htons(5); /* Active RAD's */
|
||||
*((uint16_t *) (buffer + 9 + 6)) = htons(15); /* Supported RAD's */
|
||||
// cwmsg_addelem_vendor_specific_payload(cwmsg,CW_VENDOR_ID_CISCO, CWVENDOR_CISCO_MWAR, buffer,34);
|
||||
|
||||
|
||||
conn_send_response(conn,cwmsg,seqnum);
|
||||
|
||||
conn_send_response(conn, cwmsg, seqnum);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user