From 7358d556d80ba233342271b7a9f7ca61ab051d81 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Thu, 10 Mar 2016 19:48:44 +0000 Subject: [PATCH] Added Cisco stuff (most for draft 7) FossilOrigin-Name: 95f00754315a47efdd460ee75356701f6035b36dd1822049129eade6076c0ec7 --- src/mod/cisco/cisco_actions_ac.c | 45 +++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/src/mod/cisco/cisco_actions_ac.c b/src/mod/cisco/cisco_actions_ac.c index dbc6dee4..b91ae677 100644 --- a/src/mod/cisco/cisco_actions_ac.c +++ b/src/mod/cisco/cisco_actions_ac.c @@ -18,6 +18,8 @@ #include "cw/capwap.h" +#include "cw/cipwap.h" + #include "cw/action.h" #include "cw/capwap_items.h" #include "capwap_actions.h" @@ -93,6 +95,47 @@ static cw_action_in_t actions_in[] = { } , + /* Local IPv4 Address - Join Request */ + { + .capwap_state = CW_STATE_JOIN, + .msg_id = CW_MSG_JOIN_REQUEST, + .elem_id = CW_ELEM_WTP_IPV4_IP_ADDRESS, + .item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS, + .start = cw_in_capwap_local_ipv4_address, + .mand = 1, + .min_len = 4, + .max_len = 4 + } + , + + /* Local IPv6 Address - Join Request */ + { + .capwap_state = CW_STATE_JOIN, + .msg_id = CW_MSG_JOIN_REQUEST, + .elem_id = CW_ELEM_WTP_IPV6_IP_ADDRESS, + .item_id = CW_ITEM_CAPWAP_LOCAL_IP_ADDRESS, + .start = cw_in_capwap_local_ipv4_address, + .mand = 1, + .min_len = 16, + .max_len = 16 + } + , + + /* ECN Support - Join Request */ + { + /* Cisco (using draft 7) does nothing know + * about ECN support, so make it non-mandatory */ + .capwap_state = CW_STATE_JOIN, + .msg_id = CW_MSG_JOIN_REQUEST, + .elem_id = CW_ELEM_ECN_SUPPORT, + .item_id = CW_ITEM_ECN_SUPPORT, + .start = cw_in_generic2, + .mand = 0, + .min_len = 1, + .max_len = 1 + } + , + @@ -162,7 +205,7 @@ int cisco_register_actions_ac(struct cw_actiondef *def) rc += cw_actionlist_out_register_actions(def->out, actions_out); rc += cw_strheap_register_strings(def->strmsg, capwap_strings_msg); - rc += cw_strheap_register_strings(def->strelem, capwap_strings_elem); + rc += cw_strheap_register_strings(def->strelem, cipwap_strings_elem); rc += cw_itemdefheap_register(def->items, _capwap_itemdefs); rc += cw_itemdefheap_register(def->radioitems, capwap_radioitemdefs);