• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
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"
23 #define MACSEC_GENL_VERSION 1
24 #define MACSEC_MAX_KEY_LEN 128
25 #define MACSEC_KEYID_LEN 16
26 #define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
27 #define MACSEC_DEFAULT_CIPHER_ALT 0x0080C20001000001ULL
28 #define MACSEC_MIN_ICV_LEN 8
29 #define MACSEC_MAX_ICV_LEN 32
30 #define MACSEC_STD_ICV_LEN 16
31 enum macsec_attrs {
32   MACSEC_ATTR_UNSPEC,
33   MACSEC_ATTR_IFINDEX,
34   MACSEC_ATTR_RXSC_CONFIG,
35   MACSEC_ATTR_SA_CONFIG,
36   MACSEC_ATTR_SECY,
37   MACSEC_ATTR_TXSA_LIST,
38   MACSEC_ATTR_RXSC_LIST,
39   MACSEC_ATTR_TXSC_STATS,
40   MACSEC_ATTR_SECY_STATS,
41   __MACSEC_ATTR_END,
42   NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
43   MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
44 };
45 enum macsec_secy_attrs {
46   MACSEC_SECY_ATTR_UNSPEC,
47   MACSEC_SECY_ATTR_SCI,
48   MACSEC_SECY_ATTR_ENCODING_SA,
49   MACSEC_SECY_ATTR_WINDOW,
50   MACSEC_SECY_ATTR_CIPHER_SUITE,
51   MACSEC_SECY_ATTR_ICV_LEN,
52   MACSEC_SECY_ATTR_PROTECT,
53   MACSEC_SECY_ATTR_REPLAY,
54   MACSEC_SECY_ATTR_OPER,
55   MACSEC_SECY_ATTR_VALIDATE,
56   MACSEC_SECY_ATTR_ENCRYPT,
57   MACSEC_SECY_ATTR_INC_SCI,
58   MACSEC_SECY_ATTR_ES,
59   MACSEC_SECY_ATTR_SCB,
60   MACSEC_SECY_ATTR_PAD,
61   __MACSEC_SECY_ATTR_END,
62   NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
63   MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
64 };
65 enum macsec_rxsc_attrs {
66   MACSEC_RXSC_ATTR_UNSPEC,
67   MACSEC_RXSC_ATTR_SCI,
68   MACSEC_RXSC_ATTR_ACTIVE,
69   MACSEC_RXSC_ATTR_SA_LIST,
70   MACSEC_RXSC_ATTR_STATS,
71   MACSEC_RXSC_ATTR_PAD,
72   __MACSEC_RXSC_ATTR_END,
73   NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
74   MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
75 };
76 enum macsec_sa_attrs {
77   MACSEC_SA_ATTR_UNSPEC,
78   MACSEC_SA_ATTR_AN,
79   MACSEC_SA_ATTR_ACTIVE,
80   MACSEC_SA_ATTR_PN,
81   MACSEC_SA_ATTR_KEY,
82   MACSEC_SA_ATTR_KEYID,
83   MACSEC_SA_ATTR_STATS,
84   MACSEC_SA_ATTR_PAD,
85   __MACSEC_SA_ATTR_END,
86   NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
87   MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
88 };
89 enum macsec_nl_commands {
90   MACSEC_CMD_GET_TXSC,
91   MACSEC_CMD_ADD_RXSC,
92   MACSEC_CMD_DEL_RXSC,
93   MACSEC_CMD_UPD_RXSC,
94   MACSEC_CMD_ADD_TXSA,
95   MACSEC_CMD_DEL_TXSA,
96   MACSEC_CMD_UPD_TXSA,
97   MACSEC_CMD_ADD_RXSA,
98   MACSEC_CMD_DEL_RXSA,
99   MACSEC_CMD_UPD_RXSA,
100 };
101 enum macsec_rxsc_stats_attr {
102   MACSEC_RXSC_STATS_ATTR_UNSPEC,
103   MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
104   MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
105   MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
106   MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
107   MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
108   MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
109   MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
110   MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
111   MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
112   MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
113   MACSEC_RXSC_STATS_ATTR_PAD,
114   __MACSEC_RXSC_STATS_ATTR_END,
115   NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
116   MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
117 };
118 enum macsec_sa_stats_attr {
119   MACSEC_SA_STATS_ATTR_UNSPEC,
120   MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
121   MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
122   MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
123   MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
124   MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
125   MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
126   MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
127   __MACSEC_SA_STATS_ATTR_END,
128   NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
129   MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
130 };
131 enum macsec_txsc_stats_attr {
132   MACSEC_TXSC_STATS_ATTR_UNSPEC,
133   MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
134   MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
135   MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
136   MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
137   MACSEC_TXSC_STATS_ATTR_PAD,
138   __MACSEC_TXSC_STATS_ATTR_END,
139   NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
140   MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
141 };
142 enum macsec_secy_stats_attr {
143   MACSEC_SECY_STATS_ATTR_UNSPEC,
144   MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
145   MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
146   MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
147   MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
148   MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
149   MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
150   MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
151   MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
152   MACSEC_SECY_STATS_ATTR_PAD,
153   __MACSEC_SECY_STATS_ATTR_END,
154   NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
155   MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
156 };
157 #endif
158