blob: dfcdfbd96e7c0a6eba04d0a0336576be6e0d3127 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris106b3a82016-08-24 12:15:38 -07007#ifndef _UAPI_MACSEC_H
8#define _UAPI_MACSEC_H
9#include <linux/types.h>
10#define MACSEC_GENL_NAME "macsec"
Christopher Ferris106b3a82016-08-24 12:15:38 -070011#define MACSEC_GENL_VERSION 1
12#define MACSEC_MAX_KEY_LEN 128
13#define MACSEC_KEYID_LEN 16
Christopher Ferris6cd53a52022-12-12 23:39:16 +000014#define MACSEC_SALT_LEN 12
Christopher Ferris76a1d452018-06-27 14:12:29 -070015#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
16#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
Christopher Ferrisaf09c702020-06-01 20:29:29 -070017#define MACSEC_CIPHER_ID_GCM_AES_XPN_128 0x0080C20001000003ULL
18#define MACSEC_CIPHER_ID_GCM_AES_XPN_256 0x0080C20001000004ULL
Christopher Ferris106b3a82016-08-24 12:15:38 -070019#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
Christopher Ferris76a1d452018-06-27 14:12:29 -070020#define MACSEC_DEFAULT_CIPHER_ALT MACSEC_CIPHER_ID_GCM_AES_128
Christopher Ferris106b3a82016-08-24 12:15:38 -070021#define MACSEC_MIN_ICV_LEN 8
22#define MACSEC_MAX_ICV_LEN 32
Christopher Ferris49f525c2016-12-12 14:55:36 -080023#define MACSEC_STD_ICV_LEN 16
Christopher Ferris49f525c2016-12-12 14:55:36 -080024enum macsec_attrs {
Christopher Ferris106b3a82016-08-24 12:15:38 -070025 MACSEC_ATTR_UNSPEC,
26 MACSEC_ATTR_IFINDEX,
27 MACSEC_ATTR_RXSC_CONFIG,
Christopher Ferris49f525c2016-12-12 14:55:36 -080028 MACSEC_ATTR_SA_CONFIG,
Christopher Ferris106b3a82016-08-24 12:15:38 -070029 MACSEC_ATTR_SECY,
30 MACSEC_ATTR_TXSA_LIST,
31 MACSEC_ATTR_RXSC_LIST,
Christopher Ferris49f525c2016-12-12 14:55:36 -080032 MACSEC_ATTR_TXSC_STATS,
Christopher Ferris106b3a82016-08-24 12:15:38 -070033 MACSEC_ATTR_SECY_STATS,
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070034 MACSEC_ATTR_OFFLOAD,
Christopher Ferris106b3a82016-08-24 12:15:38 -070035 __MACSEC_ATTR_END,
36 NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -080037 MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -070038};
39enum macsec_secy_attrs {
40 MACSEC_SECY_ATTR_UNSPEC,
Christopher Ferris49f525c2016-12-12 14:55:36 -080041 MACSEC_SECY_ATTR_SCI,
Christopher Ferris106b3a82016-08-24 12:15:38 -070042 MACSEC_SECY_ATTR_ENCODING_SA,
43 MACSEC_SECY_ATTR_WINDOW,
44 MACSEC_SECY_ATTR_CIPHER_SUITE,
Christopher Ferris49f525c2016-12-12 14:55:36 -080045 MACSEC_SECY_ATTR_ICV_LEN,
Christopher Ferris106b3a82016-08-24 12:15:38 -070046 MACSEC_SECY_ATTR_PROTECT,
47 MACSEC_SECY_ATTR_REPLAY,
48 MACSEC_SECY_ATTR_OPER,
Christopher Ferris49f525c2016-12-12 14:55:36 -080049 MACSEC_SECY_ATTR_VALIDATE,
Christopher Ferris106b3a82016-08-24 12:15:38 -070050 MACSEC_SECY_ATTR_ENCRYPT,
51 MACSEC_SECY_ATTR_INC_SCI,
52 MACSEC_SECY_ATTR_ES,
Christopher Ferris49f525c2016-12-12 14:55:36 -080053 MACSEC_SECY_ATTR_SCB,
Christopher Ferris106b3a82016-08-24 12:15:38 -070054 MACSEC_SECY_ATTR_PAD,
55 __MACSEC_SECY_ATTR_END,
56 NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -080057 MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -070058};
59enum macsec_rxsc_attrs {
60 MACSEC_RXSC_ATTR_UNSPEC,
Christopher Ferris49f525c2016-12-12 14:55:36 -080061 MACSEC_RXSC_ATTR_SCI,
Christopher Ferris106b3a82016-08-24 12:15:38 -070062 MACSEC_RXSC_ATTR_ACTIVE,
63 MACSEC_RXSC_ATTR_SA_LIST,
64 MACSEC_RXSC_ATTR_STATS,
Christopher Ferris49f525c2016-12-12 14:55:36 -080065 MACSEC_RXSC_ATTR_PAD,
Christopher Ferris106b3a82016-08-24 12:15:38 -070066 __MACSEC_RXSC_ATTR_END,
67 NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
68 MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
Christopher Ferris49f525c2016-12-12 14:55:36 -080069};
Christopher Ferris106b3a82016-08-24 12:15:38 -070070enum macsec_sa_attrs {
71 MACSEC_SA_ATTR_UNSPEC,
72 MACSEC_SA_ATTR_AN,
Christopher Ferris49f525c2016-12-12 14:55:36 -080073 MACSEC_SA_ATTR_ACTIVE,
Christopher Ferris106b3a82016-08-24 12:15:38 -070074 MACSEC_SA_ATTR_PN,
75 MACSEC_SA_ATTR_KEY,
76 MACSEC_SA_ATTR_KEYID,
Christopher Ferris49f525c2016-12-12 14:55:36 -080077 MACSEC_SA_ATTR_STATS,
Christopher Ferris106b3a82016-08-24 12:15:38 -070078 MACSEC_SA_ATTR_PAD,
Christopher Ferrisaf09c702020-06-01 20:29:29 -070079 MACSEC_SA_ATTR_SSCI,
80 MACSEC_SA_ATTR_SALT,
Christopher Ferris106b3a82016-08-24 12:15:38 -070081 __MACSEC_SA_ATTR_END,
82 NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -080083 MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -070084};
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070085enum macsec_offload_attrs {
86 MACSEC_OFFLOAD_ATTR_UNSPEC,
87 MACSEC_OFFLOAD_ATTR_TYPE,
88 MACSEC_OFFLOAD_ATTR_PAD,
89 __MACSEC_OFFLOAD_ATTR_END,
90 NUM_MACSEC_OFFLOAD_ATTR = __MACSEC_OFFLOAD_ATTR_END,
91 MACSEC_OFFLOAD_ATTR_MAX = __MACSEC_OFFLOAD_ATTR_END - 1,
92};
Christopher Ferris106b3a82016-08-24 12:15:38 -070093enum macsec_nl_commands {
94 MACSEC_CMD_GET_TXSC,
Christopher Ferris49f525c2016-12-12 14:55:36 -080095 MACSEC_CMD_ADD_RXSC,
Christopher Ferris106b3a82016-08-24 12:15:38 -070096 MACSEC_CMD_DEL_RXSC,
97 MACSEC_CMD_UPD_RXSC,
98 MACSEC_CMD_ADD_TXSA,
Christopher Ferris49f525c2016-12-12 14:55:36 -080099 MACSEC_CMD_DEL_TXSA,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700100 MACSEC_CMD_UPD_TXSA,
101 MACSEC_CMD_ADD_RXSA,
102 MACSEC_CMD_DEL_RXSA,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800103 MACSEC_CMD_UPD_RXSA,
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -0700104 MACSEC_CMD_UPD_OFFLOAD,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700105};
106enum macsec_rxsc_stats_attr {
107 MACSEC_RXSC_STATS_ATTR_UNSPEC,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800108 MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700109 MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
110 MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
111 MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800112 MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700113 MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
114 MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
115 MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800116 MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700117 MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
118 MACSEC_RXSC_STATS_ATTR_PAD,
119 __MACSEC_RXSC_STATS_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800120 NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700121 MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
122};
123enum macsec_sa_stats_attr {
Christopher Ferris49f525c2016-12-12 14:55:36 -0800124 MACSEC_SA_STATS_ATTR_UNSPEC,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700125 MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
126 MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
127 MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800128 MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700129 MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
130 MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
131 MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800132 __MACSEC_SA_STATS_ATTR_END,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700133 NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
134 MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
135};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800136enum macsec_txsc_stats_attr {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700137 MACSEC_TXSC_STATS_ATTR_UNSPEC,
138 MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
139 MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800140 MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700141 MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
142 MACSEC_TXSC_STATS_ATTR_PAD,
143 __MACSEC_TXSC_STATS_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800144 NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700145 MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
146};
147enum macsec_secy_stats_attr {
Christopher Ferris49f525c2016-12-12 14:55:36 -0800148 MACSEC_SECY_STATS_ATTR_UNSPEC,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700149 MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
150 MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
151 MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800152 MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700153 MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
154 MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
155 MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800156 MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700157 MACSEC_SECY_STATS_ATTR_PAD,
158 __MACSEC_SECY_STATS_ATTR_END,
159 NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800160 MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700161};
162#endif