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