xref: /linux/include/uapi/linux/nfsd_netlink.h (revision 7b5c04bc59209551c4a93cd043df974c28227f4f)
1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2 /* Do not edit directly, auto-generated from: */
3 /*	Documentation/netlink/specs/nfsd.yaml */
4 /* YNL-GEN uapi header */
5 /* To regenerate run: tools/net/ynl/ynl-regen.sh */
6 
7 #ifndef _UAPI_LINUX_NFSD_NETLINK_H
8 #define _UAPI_LINUX_NFSD_NETLINK_H
9 
10 #define NFSD_FAMILY_NAME	"nfsd"
11 #define NFSD_FAMILY_VERSION	1
12 
13 enum nfsd_cache_type {
14 	NFSD_CACHE_TYPE_SVC_EXPORT = 1,
15 	NFSD_CACHE_TYPE_EXPKEY = 2,
16 };
17 
18 /*
19  * These flags are ordered to match the NFSEXP_* flags in
20  * include/linux/nfsd/export.h
21  */
22 enum nfsd_export_flags {
23 	NFSD_EXPORT_FLAGS_READONLY = 1,
24 	NFSD_EXPORT_FLAGS_INSECURE_PORT = 2,
25 	NFSD_EXPORT_FLAGS_ROOTSQUASH = 4,
26 	NFSD_EXPORT_FLAGS_ALLSQUASH = 8,
27 	NFSD_EXPORT_FLAGS_ASYNC = 16,
28 	NFSD_EXPORT_FLAGS_GATHERED_WRITES = 32,
29 	NFSD_EXPORT_FLAGS_NOREADDIRPLUS = 64,
30 	NFSD_EXPORT_FLAGS_SECURITY_LABEL = 128,
31 	NFSD_EXPORT_FLAGS_SIGN_FH = 256,
32 	NFSD_EXPORT_FLAGS_NOHIDE = 512,
33 	NFSD_EXPORT_FLAGS_NOSUBTREECHECK = 1024,
34 	NFSD_EXPORT_FLAGS_NOAUTHNLM = 2048,
35 	NFSD_EXPORT_FLAGS_MSNFS = 4096,
36 	NFSD_EXPORT_FLAGS_FSID = 8192,
37 	NFSD_EXPORT_FLAGS_CROSSMOUNT = 16384,
38 	NFSD_EXPORT_FLAGS_NOACL = 32768,
39 	NFSD_EXPORT_FLAGS_V4ROOT = 65536,
40 	NFSD_EXPORT_FLAGS_PNFS = 131072,
41 };
42 
43 /*
44  * These flags are ordered to match the NFSEXP_XPRTSEC_* flags in
45  * include/linux/nfsd/export.h
46  */
47 enum nfsd_xprtsec_mode {
48 	NFSD_XPRTSEC_MODE_NONE = 1,
49 	NFSD_XPRTSEC_MODE_TLS = 2,
50 	NFSD_XPRTSEC_MODE_MTLS = 4,
51 };
52 
53 /*
54  * Constraints that apply to an rpcbind registration. no-udp means the kernel
55  * would not have registered this program and version over UDP, so the caller
56  * must skip the udp and udp6 netids for it.
57  */
58 enum nfsd_rpcbind_flags {
59 	NFSD_RPCBIND_FLAGS_NO_UDP = 1,
60 };
61 
62 enum {
63 	NFSD_A_CACHE_NOTIFY_CACHE_TYPE = 1,
64 
65 	__NFSD_A_CACHE_NOTIFY_MAX,
66 	NFSD_A_CACHE_NOTIFY_MAX = (__NFSD_A_CACHE_NOTIFY_MAX - 1)
67 };
68 
69 enum {
70 	NFSD_A_RPC_STATUS_XID = 1,
71 	NFSD_A_RPC_STATUS_FLAGS,
72 	NFSD_A_RPC_STATUS_PROG,
73 	NFSD_A_RPC_STATUS_VERSION,
74 	NFSD_A_RPC_STATUS_PROC,
75 	NFSD_A_RPC_STATUS_SERVICE_TIME,
76 	NFSD_A_RPC_STATUS_PAD,
77 	NFSD_A_RPC_STATUS_SADDR4,
78 	NFSD_A_RPC_STATUS_DADDR4,
79 	NFSD_A_RPC_STATUS_SADDR6,
80 	NFSD_A_RPC_STATUS_DADDR6,
81 	NFSD_A_RPC_STATUS_SPORT,
82 	NFSD_A_RPC_STATUS_DPORT,
83 	NFSD_A_RPC_STATUS_COMPOUND_OPS,
84 
85 	__NFSD_A_RPC_STATUS_MAX,
86 	NFSD_A_RPC_STATUS_MAX = (__NFSD_A_RPC_STATUS_MAX - 1)
87 };
88 
89 enum {
90 	NFSD_A_SERVER_THREADS = 1,
91 	NFSD_A_SERVER_GRACETIME,
92 	NFSD_A_SERVER_LEASETIME,
93 	NFSD_A_SERVER_SCOPE,
94 	NFSD_A_SERVER_MIN_THREADS,
95 	NFSD_A_SERVER_FH_KEY,
96 
97 	__NFSD_A_SERVER_MAX,
98 	NFSD_A_SERVER_MAX = (__NFSD_A_SERVER_MAX - 1)
99 };
100 
101 enum {
102 	NFSD_A_VERSION_MAJOR = 1,
103 	NFSD_A_VERSION_MINOR,
104 	NFSD_A_VERSION_ENABLED,
105 
106 	__NFSD_A_VERSION_MAX,
107 	NFSD_A_VERSION_MAX = (__NFSD_A_VERSION_MAX - 1)
108 };
109 
110 enum {
111 	NFSD_A_SERVER_PROTO_VERSION = 1,
112 
113 	__NFSD_A_SERVER_PROTO_MAX,
114 	NFSD_A_SERVER_PROTO_MAX = (__NFSD_A_SERVER_PROTO_MAX - 1)
115 };
116 
117 enum {
118 	NFSD_A_SOCK_ADDR = 1,
119 	NFSD_A_SOCK_TRANSPORT_NAME,
120 
121 	__NFSD_A_SOCK_MAX,
122 	NFSD_A_SOCK_MAX = (__NFSD_A_SOCK_MAX - 1)
123 };
124 
125 enum {
126 	NFSD_A_RPCBIND_PROGRAM = 1,
127 	NFSD_A_RPCBIND_VERSION,
128 	NFSD_A_RPCBIND_FLAGS,
129 
130 	__NFSD_A_RPCBIND_MAX,
131 	NFSD_A_RPCBIND_MAX = (__NFSD_A_RPCBIND_MAX - 1)
132 };
133 
134 enum {
135 	NFSD_A_SERVER_SOCK_ADDR = 1,
136 	NFSD_A_SERVER_SOCK_USERSPACE_RPCBIND,
137 	NFSD_A_SERVER_SOCK_RPCBIND,
138 
139 	__NFSD_A_SERVER_SOCK_MAX,
140 	NFSD_A_SERVER_SOCK_MAX = (__NFSD_A_SERVER_SOCK_MAX - 1)
141 };
142 
143 enum {
144 	NFSD_A_POOL_MODE_MODE = 1,
145 	NFSD_A_POOL_MODE_NPOOLS,
146 
147 	__NFSD_A_POOL_MODE_MAX,
148 	NFSD_A_POOL_MODE_MAX = (__NFSD_A_POOL_MODE_MAX - 1)
149 };
150 
151 enum {
152 	NFSD_A_FSLOCATION_HOST = 1,
153 	NFSD_A_FSLOCATION_PATH,
154 
155 	__NFSD_A_FSLOCATION_MAX,
156 	NFSD_A_FSLOCATION_MAX = (__NFSD_A_FSLOCATION_MAX - 1)
157 };
158 
159 enum {
160 	NFSD_A_FSLOCATIONS_LOCATION = 1,
161 
162 	__NFSD_A_FSLOCATIONS_MAX,
163 	NFSD_A_FSLOCATIONS_MAX = (__NFSD_A_FSLOCATIONS_MAX - 1)
164 };
165 
166 enum {
167 	NFSD_A_AUTH_FLAVOR_PSEUDOFLAVOR = 1,
168 	NFSD_A_AUTH_FLAVOR_FLAGS,
169 
170 	__NFSD_A_AUTH_FLAVOR_MAX,
171 	NFSD_A_AUTH_FLAVOR_MAX = (__NFSD_A_AUTH_FLAVOR_MAX - 1)
172 };
173 
174 enum {
175 	NFSD_A_SVC_EXPORT_SEQNO = 1,
176 	NFSD_A_SVC_EXPORT_CLIENT,
177 	NFSD_A_SVC_EXPORT_PATH,
178 	NFSD_A_SVC_EXPORT_NEGATIVE,
179 	NFSD_A_SVC_EXPORT_EXPIRY,
180 	NFSD_A_SVC_EXPORT_ANON_UID,
181 	NFSD_A_SVC_EXPORT_ANON_GID,
182 	NFSD_A_SVC_EXPORT_FSLOCATIONS,
183 	NFSD_A_SVC_EXPORT_UUID,
184 	NFSD_A_SVC_EXPORT_SECINFO,
185 	NFSD_A_SVC_EXPORT_XPRTSEC,
186 	NFSD_A_SVC_EXPORT_FLAGS,
187 	NFSD_A_SVC_EXPORT_FSID,
188 
189 	__NFSD_A_SVC_EXPORT_MAX,
190 	NFSD_A_SVC_EXPORT_MAX = (__NFSD_A_SVC_EXPORT_MAX - 1)
191 };
192 
193 enum {
194 	NFSD_A_SVC_EXPORT_REQS_REQUESTS = 1,
195 
196 	__NFSD_A_SVC_EXPORT_REQS_MAX,
197 	NFSD_A_SVC_EXPORT_REQS_MAX = (__NFSD_A_SVC_EXPORT_REQS_MAX - 1)
198 };
199 
200 enum {
201 	NFSD_A_EXPKEY_SEQNO = 1,
202 	NFSD_A_EXPKEY_CLIENT,
203 	NFSD_A_EXPKEY_FSIDTYPE,
204 	NFSD_A_EXPKEY_FSID,
205 	NFSD_A_EXPKEY_NEGATIVE,
206 	NFSD_A_EXPKEY_EXPIRY,
207 	NFSD_A_EXPKEY_PATH,
208 
209 	__NFSD_A_EXPKEY_MAX,
210 	NFSD_A_EXPKEY_MAX = (__NFSD_A_EXPKEY_MAX - 1)
211 };
212 
213 enum {
214 	NFSD_A_EXPKEY_REQS_REQUESTS = 1,
215 
216 	__NFSD_A_EXPKEY_REQS_MAX,
217 	NFSD_A_EXPKEY_REQS_MAX = (__NFSD_A_EXPKEY_REQS_MAX - 1)
218 };
219 
220 enum {
221 	NFSD_A_CACHE_FLUSH_MASK = 1,
222 
223 	__NFSD_A_CACHE_FLUSH_MAX,
224 	NFSD_A_CACHE_FLUSH_MAX = (__NFSD_A_CACHE_FLUSH_MAX - 1)
225 };
226 
227 enum {
228 	NFSD_A_UNLOCK_IP_ADDRESS = 1,
229 
230 	__NFSD_A_UNLOCK_IP_MAX,
231 	NFSD_A_UNLOCK_IP_MAX = (__NFSD_A_UNLOCK_IP_MAX - 1)
232 };
233 
234 enum {
235 	NFSD_A_UNLOCK_FILESYSTEM_PATH = 1,
236 
237 	__NFSD_A_UNLOCK_FILESYSTEM_MAX,
238 	NFSD_A_UNLOCK_FILESYSTEM_MAX = (__NFSD_A_UNLOCK_FILESYSTEM_MAX - 1)
239 };
240 
241 enum {
242 	NFSD_A_UNLOCK_EXPORT_PATH = 1,
243 
244 	__NFSD_A_UNLOCK_EXPORT_MAX,
245 	NFSD_A_UNLOCK_EXPORT_MAX = (__NFSD_A_UNLOCK_EXPORT_MAX - 1)
246 };
247 
248 enum {
249 	NFSD_A_SERVER_PROC_ENTRY_OP = 1,
250 	NFSD_A_SERVER_PROC_ENTRY_COUNT,
251 	NFSD_A_SERVER_PROC_ENTRY_PAD,
252 
253 	__NFSD_A_SERVER_PROC_ENTRY_MAX,
254 	NFSD_A_SERVER_PROC_ENTRY_MAX = (__NFSD_A_SERVER_PROC_ENTRY_MAX - 1)
255 };
256 
257 enum {
258 	NFSD_A_SERVER_STATS_RC_HITS = 1,
259 	NFSD_A_SERVER_STATS_RC_MISSES,
260 	NFSD_A_SERVER_STATS_RC_NOCACHE,
261 	NFSD_A_SERVER_STATS_PAD,
262 	NFSD_A_SERVER_STATS_FH_STALE,
263 	NFSD_A_SERVER_STATS_IO_READ,
264 	NFSD_A_SERVER_STATS_IO_WRITE,
265 	NFSD_A_SERVER_STATS_NETCNT,
266 	NFSD_A_SERVER_STATS_NETUDPCNT,
267 	NFSD_A_SERVER_STATS_NETTCPCNT,
268 	NFSD_A_SERVER_STATS_NETTCPCONN,
269 	NFSD_A_SERVER_STATS_RPCCNT,
270 	NFSD_A_SERVER_STATS_RPCBADFMT,
271 	NFSD_A_SERVER_STATS_RPCBADAUTH,
272 	NFSD_A_SERVER_STATS_RPCBADCLNT,
273 	NFSD_A_SERVER_STATS_PROC2_OPS,
274 	NFSD_A_SERVER_STATS_PROC3_OPS,
275 	NFSD_A_SERVER_STATS_PROC4_OPS,
276 	NFSD_A_SERVER_STATS_PROC4OPS_OPS,
277 	NFSD_A_SERVER_STATS_PROC4CB_OPS,
278 
279 	__NFSD_A_SERVER_STATS_MAX,
280 	NFSD_A_SERVER_STATS_MAX = (__NFSD_A_SERVER_STATS_MAX - 1)
281 };
282 
283 enum {
284 	NFSD_CMD_RPC_STATUS_GET = 1,
285 	NFSD_CMD_THREADS_SET,
286 	NFSD_CMD_THREADS_GET,
287 	NFSD_CMD_VERSION_SET,
288 	NFSD_CMD_VERSION_GET,
289 	NFSD_CMD_LISTENER_SET,
290 	NFSD_CMD_LISTENER_GET,
291 	NFSD_CMD_POOL_MODE_SET,
292 	NFSD_CMD_POOL_MODE_GET,
293 	NFSD_CMD_CACHE_NOTIFY,
294 	NFSD_CMD_SVC_EXPORT_GET_REQS,
295 	NFSD_CMD_SVC_EXPORT_SET_REQS,
296 	NFSD_CMD_EXPKEY_GET_REQS,
297 	NFSD_CMD_EXPKEY_SET_REQS,
298 	NFSD_CMD_CACHE_FLUSH,
299 	NFSD_CMD_UNLOCK_IP,
300 	NFSD_CMD_UNLOCK_FILESYSTEM,
301 	NFSD_CMD_UNLOCK_EXPORT,
302 	NFSD_CMD_SERVER_STATS_GET,
303 
304 	__NFSD_CMD_MAX,
305 	NFSD_CMD_MAX = (__NFSD_CMD_MAX - 1)
306 };
307 
308 #define NFSD_MCGRP_NONE		"none"
309 #define NFSD_MCGRP_EXPORTD	"exportd"
310 
311 #endif /* _UAPI_LINUX_NFSD_NETLINK_H */
312