blob: a58f5316e4ee92d040c64008e08de39c5d26f142 [file] [log] [blame]
Christopher Ferris106b3a82016-08-24 12:15:38 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_MACSEC_H
20#define _UAPI_MACSEC_H
21#include <linux/types.h>
22#define MACSEC_GENL_NAME "macsec"
Christopher Ferris106b3a82016-08-24 12:15:38 -070023#define MACSEC_GENL_VERSION 1
24#define MACSEC_MAX_KEY_LEN 128
25#define MACSEC_KEYID_LEN 16
Christopher Ferris76a1d452018-06-27 14:12:29 -070026#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
27#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
Christopher Ferris106b3a82016-08-24 12:15:38 -070028#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
Christopher Ferris76a1d452018-06-27 14:12:29 -070029#define MACSEC_DEFAULT_CIPHER_ALT MACSEC_CIPHER_ID_GCM_AES_128
Christopher Ferris106b3a82016-08-24 12:15:38 -070030#define MACSEC_MIN_ICV_LEN 8
31#define MACSEC_MAX_ICV_LEN 32
Christopher Ferris49f525c2016-12-12 14:55:36 -080032#define MACSEC_STD_ICV_LEN 16
Christopher Ferris49f525c2016-12-12 14:55:36 -080033enum macsec_attrs {
Christopher Ferris106b3a82016-08-24 12:15:38 -070034 MACSEC_ATTR_UNSPEC,
35 MACSEC_ATTR_IFINDEX,
36 MACSEC_ATTR_RXSC_CONFIG,
Christopher Ferris49f525c2016-12-12 14:55:36 -080037 MACSEC_ATTR_SA_CONFIG,
Christopher Ferris106b3a82016-08-24 12:15:38 -070038 MACSEC_ATTR_SECY,
39 MACSEC_ATTR_TXSA_LIST,
40 MACSEC_ATTR_RXSC_LIST,
Christopher Ferris49f525c2016-12-12 14:55:36 -080041 MACSEC_ATTR_TXSC_STATS,
Christopher Ferris106b3a82016-08-24 12:15:38 -070042 MACSEC_ATTR_SECY_STATS,
43 __MACSEC_ATTR_END,
44 NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -080045 MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -070046};
47enum macsec_secy_attrs {
48 MACSEC_SECY_ATTR_UNSPEC,
Christopher Ferris49f525c2016-12-12 14:55:36 -080049 MACSEC_SECY_ATTR_SCI,
Christopher Ferris106b3a82016-08-24 12:15:38 -070050 MACSEC_SECY_ATTR_ENCODING_SA,
51 MACSEC_SECY_ATTR_WINDOW,
52 MACSEC_SECY_ATTR_CIPHER_SUITE,
Christopher Ferris49f525c2016-12-12 14:55:36 -080053 MACSEC_SECY_ATTR_ICV_LEN,
Christopher Ferris106b3a82016-08-24 12:15:38 -070054 MACSEC_SECY_ATTR_PROTECT,
55 MACSEC_SECY_ATTR_REPLAY,
56 MACSEC_SECY_ATTR_OPER,
Christopher Ferris49f525c2016-12-12 14:55:36 -080057 MACSEC_SECY_ATTR_VALIDATE,
Christopher Ferris106b3a82016-08-24 12:15:38 -070058 MACSEC_SECY_ATTR_ENCRYPT,
59 MACSEC_SECY_ATTR_INC_SCI,
60 MACSEC_SECY_ATTR_ES,
Christopher Ferris49f525c2016-12-12 14:55:36 -080061 MACSEC_SECY_ATTR_SCB,
Christopher Ferris106b3a82016-08-24 12:15:38 -070062 MACSEC_SECY_ATTR_PAD,
63 __MACSEC_SECY_ATTR_END,
64 NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -080065 MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -070066};
67enum macsec_rxsc_attrs {
68 MACSEC_RXSC_ATTR_UNSPEC,
Christopher Ferris49f525c2016-12-12 14:55:36 -080069 MACSEC_RXSC_ATTR_SCI,
Christopher Ferris106b3a82016-08-24 12:15:38 -070070 MACSEC_RXSC_ATTR_ACTIVE,
71 MACSEC_RXSC_ATTR_SA_LIST,
72 MACSEC_RXSC_ATTR_STATS,
Christopher Ferris49f525c2016-12-12 14:55:36 -080073 MACSEC_RXSC_ATTR_PAD,
Christopher Ferris106b3a82016-08-24 12:15:38 -070074 __MACSEC_RXSC_ATTR_END,
75 NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
76 MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
Christopher Ferris49f525c2016-12-12 14:55:36 -080077};
Christopher Ferris106b3a82016-08-24 12:15:38 -070078enum macsec_sa_attrs {
79 MACSEC_SA_ATTR_UNSPEC,
80 MACSEC_SA_ATTR_AN,
Christopher Ferris49f525c2016-12-12 14:55:36 -080081 MACSEC_SA_ATTR_ACTIVE,
Christopher Ferris106b3a82016-08-24 12:15:38 -070082 MACSEC_SA_ATTR_PN,
83 MACSEC_SA_ATTR_KEY,
84 MACSEC_SA_ATTR_KEYID,
Christopher Ferris49f525c2016-12-12 14:55:36 -080085 MACSEC_SA_ATTR_STATS,
Christopher Ferris106b3a82016-08-24 12:15:38 -070086 MACSEC_SA_ATTR_PAD,
87 __MACSEC_SA_ATTR_END,
88 NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -080089 MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -070090};
91enum macsec_nl_commands {
92 MACSEC_CMD_GET_TXSC,
Christopher Ferris49f525c2016-12-12 14:55:36 -080093 MACSEC_CMD_ADD_RXSC,
Christopher Ferris106b3a82016-08-24 12:15:38 -070094 MACSEC_CMD_DEL_RXSC,
95 MACSEC_CMD_UPD_RXSC,
96 MACSEC_CMD_ADD_TXSA,
Christopher Ferris49f525c2016-12-12 14:55:36 -080097 MACSEC_CMD_DEL_TXSA,
Christopher Ferris106b3a82016-08-24 12:15:38 -070098 MACSEC_CMD_UPD_TXSA,
99 MACSEC_CMD_ADD_RXSA,
100 MACSEC_CMD_DEL_RXSA,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800101 MACSEC_CMD_UPD_RXSA,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700102};
103enum macsec_rxsc_stats_attr {
104 MACSEC_RXSC_STATS_ATTR_UNSPEC,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800105 MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700106 MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
107 MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
108 MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800109 MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700110 MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
111 MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
112 MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800113 MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700114 MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
115 MACSEC_RXSC_STATS_ATTR_PAD,
116 __MACSEC_RXSC_STATS_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800117 NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700118 MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
119};
120enum macsec_sa_stats_attr {
Christopher Ferris49f525c2016-12-12 14:55:36 -0800121 MACSEC_SA_STATS_ATTR_UNSPEC,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700122 MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
123 MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
124 MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800125 MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700126 MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
127 MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
128 MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800129 __MACSEC_SA_STATS_ATTR_END,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700130 NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
131 MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
132};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800133enum macsec_txsc_stats_attr {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700134 MACSEC_TXSC_STATS_ATTR_UNSPEC,
135 MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
136 MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800137 MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700138 MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
139 MACSEC_TXSC_STATS_ATTR_PAD,
140 __MACSEC_TXSC_STATS_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800141 NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700142 MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
143};
144enum macsec_secy_stats_attr {
Christopher Ferris49f525c2016-12-12 14:55:36 -0800145 MACSEC_SECY_STATS_ATTR_UNSPEC,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700146 MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
147 MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
148 MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800149 MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700150 MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
151 MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
152 MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800153 MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700154 MACSEC_SECY_STATS_ATTR_PAD,
155 __MACSEC_SECY_STATS_ATTR_END,
156 NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800157 MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700158};
159#endif