/* * IEEE Std 802.1X-2010 definitions * Copyright (c) 2013-2014, Qualcomm Atheros, Inc. * * This software may be distributed under the terms of the BSD license. * See README for more details. */ #ifndef IEEE802_1X_DEFS_H #define IEEE802_1X_DEFS_H #define CS_ID_LEN 8 #define CS_ID_GCM_AES_128 0x0080020001000001ULL #define CS_NAME_GCM_AES_128 "GCM-AES-128" #define CS_ID_GCM_AES_256 0x0080c20001000002ULL #define CS_NAME_GCM_AES_256 "GCM-AES-256" enum macsec_policy { /** * Should secure sessions. * This accepts key server's advice to determine whether to secure the * session or not. */ SHOULD_SECURE, /** * Disabled MACsec - do not secure sessions. */ DO_NOT_SECURE, /** * Should secure sessions, and try to use encryption. * Like @SHOULD_SECURE, this follows the key server's decision. */ SHOULD_ENCRYPT, }; /* IEEE Std 802.1X-2010 - Table 11-6 - MACsec Capability */ enum macsec_cap { /** * MACsec is not implemented */ MACSEC_CAP_NOT_IMPLEMENTED, /** * 'Integrity without confidentiality' */ MACSEC_CAP_INTEGRITY, /** * 'Integrity without confidentiality' and * 'Integrity and confidentiality' with a confidentiality offset of 0 */ MACSEC_CAP_INTEG_AND_CONF, /** * 'Integrity without confidentiality' and * 'Integrity and confidentiality' with a confidentiality offset of 0, * 30, 50 */ MACSEC_CAP_INTEG_AND_CONF_0_30_50, }; enum validate_frames { Disabled, Checked, Strict, }; /* IEEE Std 802.1X-2010 - Table 11-6 - Confidentiality Offset */ enum confidentiality_offset { CONFIDENTIALITY_NONE = 0, CONFIDENTIALITY_OFFSET_0 = 1, CONFIDENTIALITY_OFFSET_30 = 2, CONFIDENTIALITY_OFFSET_50 = 3, }; /* IEEE Std 802.1X-2010 - Table 9-2 */ #define DEFAULT_PRIO_INFRA_PORT 0x10 #define DEFAULT_PRIO_PRIMRAY_AP 0x30 #define DEFAULT_PRIO_SECONDARY_AP 0x50 #define DEFAULT_PRIO_GROUP_CA_MEMBER 0x70 #define DEFAULT_PRIO_NOT_KEY_SERVER 0xFF #endif /* IEEE802_1X_DEFS_H */