5 #ifndef IEEE802_1X_KAY_I_H
6 #define IEEE802_1X_KAY_I_H
12 #define MKA_VERSION_ID 1
15 enum mka_packet_type {
16 MKA_BASIC_PARAMETER_SET = MKA_VERSION_ID,
17 MKA_LIVE_PEER_LIST = 1,
18 MKA_POTENTIAL_PEER_LIST = 2,
20 MKA_DISTRIBUTED_SAK = 4,
21 MKA_DISTRIBUTED_CAK = 5,
24 MKA_ICV_INDICATOR = 255
28 #define SAK_WRAPPED_LEN 24
30 #define DEFAULT_DIS_SAK_BODY_LENGTH (SAK_WRAPPED_LEN + 4)
31 #define MAX_RETRY_CNT 5
45 Boolean is_key_server;
46 u8 key_server_priority;
47 Boolean macsec_desired;
56 enum confidentiality_offset offset;
67 enum confidentiality_offset confidentiality_offset;
106 Boolean enable_transmit;
109 Boolean confidentiality;
123 unsigned int channel;
131 Boolean enable_receive;
161 int (*cak_trfm)(
const u8 *msk,
const u8 *mac1,
const u8 *mac2, u8 *cak);
162 int (*ckn_trfm)(
const u8 *msk,
const u8 *mac1,
const u8 *mac2,
163 const u8 *sid,
size_t sid_len, u8 *ckn);
164 int (*kek_trfm)(
const u8 *cak,
const u8 *ckn,
size_t ckn_len, u8 *kek);
165 int (*ick_trfm)(
const u8 *cak,
const u8 *ckn,
size_t ckn_len, u8 *ick);
166 int (*icv_hash)(
const u8 *ick,
const u8 *msg,
size_t msg_len, u8 *icv);
171 #define DEFAULT_MKA_ALG_INDEX 0
185 enum { DEFAULT, DISABLED, ON_OPER_UP, ALWAYS } activate;
190 struct dl_list potential_peers;
208 Boolean is_key_server;
209 Boolean is_obliged_key_server;
210 Boolean can_be_key_server;
229 Boolean advised_desired;
244 #if __BYTE_ORDER == __LITTLE_ENDIAN
247 #elif __BYTE_ORDER == __BIG_ENDIAN
251 #error "Please fix <bits/endian.h>"
257 #define MKA_HDR_LEN sizeof(struct ieee802_1x_mka_hdr)
265 #if __BYTE_ORDER == __LITTLE_ENDIAN
267 u32 macsec_capbility:2;
268 u32 macsec_desired:1;
270 #elif __BYTE_ORDER == __BIG_ENDIAN
272 u32 macsec_desired:1;
273 u32 macsec_capbility:2;
294 #if __BYTE_ORDER == __LITTLE_ENDIAN
297 #elif __BYTE_ORDER == __BIG_ENDIAN
312 #if __BYTE_ORDER == __LITTLE_ENDIAN
319 #elif __BYTE_ORDER == __BIG_ENDIAN
329 #if __BYTE_ORDER == __LITTLE_ENDIAN
335 #elif __BYTE_ORDER == __BIG_ENDIAN
366 #if __BYTE_ORDER == __LITTLE_ENDIAN
370 #elif __BYTE_ORDER == __BIG_ENDIAN
376 #if __BYTE_ORDER == __LITTLE_ENDIAN
379 #elif __BYTE_ORDER == __BIG_ENDIAN
401 #if __BYTE_ORDER == __LITTLE_ENDIAN
404 #elif __BYTE_ORDER == __BIG_ENDIAN
Definition: ieee802_1x_kay_i.h:395
Definition: ieee802_1x_kay.h:39
Definition: ieee802_1x_kay_i.h:101
Definition: ieee802_1x_kay_i.h:40
Definition: ieee802_1x_kay_i.h:154
Definition: ieee802_1x_kay_i.h:130
Definition: ieee802_1x_kay_i.h:145
Definition: ieee802_1x_kay.h:34
WPA Supplicant - Common definitions.
Definition: ieee802_1x_kay_i.h:259
Definition: ieee802_1x_kay_i.h:238
Definition: ieee802_1x_kay_i.h:63
Definition: ieee802_1x_kay_i.h:117
IEEE Std 802.1X-2010 definitions.
macsec_cap
Definition: ieee802_1x_defs.h:28
Definition: ieee802_1x_kay.h:88
Definition: ieee802_1x_kay_i.h:174
Definition: ieee802_1x_kay.h:29
Doubly-linked list.
Definition: list.h:12
Definition: ieee802_1x_kay_i.h:362
Definition: ieee802_1x_kay_i.h:288
Definition: ieee802_1x_kay_i.h:84
Definition: ieee802_1x_kay.h:24
Definition: ieee802_1x_kay_i.h:53
Definition: ieee802_1x_kay_i.h:308
Definition: ieee802_1x_kay_i.h:35