More message set work

FossilOrigin-Name: e77c8337093cd404440cc8c2e05429178f18569d4611489fd7ff468949352954
This commit is contained in:
7u83@mail.ru
2018-02-24 00:52:39 +00:00
parent dcbbaf28a6
commit 3f33eda837
7 changed files with 97 additions and 63 deletions

View File

@ -53,7 +53,7 @@ static cw_message_element_t elements[] = {
}
,
{
.id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
.id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
.name = "WTP Frame Tunnel Mode",
// .start = cw_in_generic2,
// .item_id = CW_ITEM_WTP_FRAME_TUNNEL_MODE,
@ -61,6 +61,34 @@ static cw_message_element_t elements[] = {
.max_len = 1
}
,
{
.id = CAPWAP_ELEM_WTP_MAC_TYPE,
.name = "WTP Mac Type",
// .start = cw_in_generic2,
// .item_id = CW_ITEM_WTP_MAC_TYPE,
.min_len = 1,
.max_len = 1
},
/* MTU Discovery Padding */
{
.id = CW_ELEM_MTU_DISCOVERY_PADDING,
.name = "MTU Discovery Padding"
// .start = cw_in_mtu_discovery_padding,
}
,
{
.id = CW_ELEM_VENDOR_SPECIFIC_PAYLOAD,
.name = "Vendor Specific Payload",
// .start = cw_in_vendor_specific_payload,
.min_len=7
}
,
{.id=0}
};
@ -68,17 +96,22 @@ static cw_message_t messages[] = {
/* Discovery Request Message*/
{
.name = "Discovery Request",
.type = CAPWAP_MSG_DISCOVERY_REQUEST,
.states = (int[]){CAPWAP_STATE_DISCOVERY,0},
.elements = (cw_messagedef_t[]){
{0,0,CAPWAP_ELEM_DISCOVERY_TYPE,1},
{0,0,CAPWAP_ELEM_WTP_BOARD_DATA,1},
{0,0,CAPWAP_ELEM_WTP_DESCRIPTOR,1},
{0,0,CW_ELEM_WTP_FRAME_TUNNEL_MODE,1},
{0,0,CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,1},
{0,0,CAPWAP_ELEM_WTP_MAC_TYPE,1},
{0,0,CW_ELEM_MTU_DISCOVERY_PADDING,0},
{0,0,CW_ELEM_VENDOR_SPECIFIC_PAYLOAD,0}
}
}
};
void test_sets(){
cw_message_set_t * set = cw_message_set_create();
@ -87,7 +120,24 @@ void test_sets(){
return;
}
cw_message_set_add(set,messages,&elements);
cw_message_set_add(set,messages,elements);
cw_message_element_t el, *result;
memset(&el,0,sizeof(el));
el.id=CAPWAP_ELEM_DISCOVERY_TYPE;
result = mavl_find(set->all_elems,&el);
if (result!=NULL){
printf("Found: %d %s\n",
result->id,
result->name
);
}
else{
printf("not found\n");
}
}
@ -156,7 +206,7 @@ static cw_action_in_t actions_in[] = {
{
.capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
.elem_id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
.start = cw_in_generic2,
.item_id = CW_ITEM_WTP_FRAME_TUNNEL_MODE,
.mand = 1,
@ -169,7 +219,7 @@ static cw_action_in_t actions_in[] = {
{
.capwap_state = CAPWAP_STATE_DISCOVERY,
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_MAC_TYPE,
.elem_id = CAPWAP_ELEM_WTP_MAC_TYPE,
.start = cw_in_generic2,
.item_id = CW_ITEM_WTP_MAC_TYPE,
.mand = 1,
@ -178,6 +228,8 @@ static cw_action_in_t actions_in[] = {
}
,
/* MTU Discovery Padding */
{
.capwap_state = CAPWAP_STATE_DISCOVERY,
@ -186,7 +238,7 @@ static cw_action_in_t actions_in[] = {
.start = cw_in_mtu_discovery_padding,
}
,
// TODO: Add them
/* Vendor Specific Payload */
{
.capwap_state = CAPWAP_STATE_DISCOVERY,
@ -273,7 +325,7 @@ static cw_action_in_t actions_in[] = {
{
.capwap_state = CW_STATE_JOIN,
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
.elem_id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
.start = cw_in_generic2,
.item_id = CW_ITEM_WTP_FRAME_TUNNEL_MODE,
.mand = 1,
@ -286,7 +338,7 @@ static cw_action_in_t actions_in[] = {
{
.capwap_state = CW_STATE_JOIN,
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_MAC_TYPE,
.elem_id = CAPWAP_ELEM_WTP_MAC_TYPE,
.start = cw_in_generic2,
.item_id = CW_ITEM_WTP_MAC_TYPE,
.mand = 1,

View File

@ -485,7 +485,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Frame TunnelMode - Discovery Request */
{
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
.elem_id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
.item_id = CW_ITEM_WTP_FRAME_TUNNEL_MODE,
.out = cw_out_generic,
.get = cw_out_get_local,
@ -496,7 +496,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Mac Type - Discovery Request */
{
.msg_id = CAPWAP_MSG_DISCOVERY_REQUEST,
.elem_id = CW_ELEM_WTP_MAC_TYPE,
.elem_id = CAPWAP_ELEM_WTP_MAC_TYPE,
.item_id = CW_ITEM_WTP_MAC_TYPE,
.out = cw_out_generic,
.get = cw_out_get_local,
@ -566,7 +566,7 @@ static cw_action_out_t actions_out[] = {
/* WTP Frame Tunnel Mode - Join Request */
{
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_FRAME_TUNNEL_MODE,
.elem_id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE,
.item_id = CW_ITEM_WTP_FRAME_TUNNEL_MODE,
.out = cw_out_generic,
.get = cw_out_get_local,
@ -578,7 +578,7 @@ static cw_action_out_t actions_out[] = {
/* WTP MAC Type - Join Request */
{
.msg_id = CAPWAP_MSG_JOIN_REQUEST,
.elem_id = CW_ELEM_WTP_MAC_TYPE,
.elem_id = CAPWAP_ELEM_WTP_MAC_TYPE,
.item_id = CW_ITEM_WTP_MAC_TYPE,
.out = cw_out_generic,
.get = cw_out_get_local,