# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) --- name: nfsd protocol: genetlink uapi-header: linux/nfsd_netlink.h doc: NFSD configuration over generic netlink. definitions: - type: flags name: cache-type entries: [svc_export, expkey] - type: flags name: export-flags doc: These flags are ordered to match the NFSEXP_* flags in include/linux/nfsd/export.h entries: - readonly - insecure-port - rootsquash - allsquash - async - gathered-writes - noreaddirplus - security-label - sign-fh - nohide - nosubtreecheck - noauthnlm - msnfs - fsid - crossmount - noacl - v4root - pnfs - type: flags name: xprtsec-mode doc: These flags are ordered to match the NFSEXP_XPRTSEC_* flags in include/linux/nfsd/export.h entries: - none - tls - mtls attribute-sets: - name: cache-notify attributes: - name: cache-type type: u32 enum: cache-type - name: rpc-status attributes: - name: xid type: u32 byte-order: big-endian - name: flags type: u32 - name: prog type: u32 - name: version type: u8 - name: proc type: u32 - name: service-time type: s64 - name: pad type: pad - name: saddr4 type: u32 byte-order: big-endian display-hint: ipv4 - name: daddr4 type: u32 byte-order: big-endian display-hint: ipv4 - name: saddr6 type: binary display-hint: ipv6 - name: daddr6 type: binary display-hint: ipv6 - name: sport type: u16 byte-order: big-endian - name: dport type: u16 byte-order: big-endian - name: compound-ops type: u32 multi-attr: true - name: server attributes: - name: threads type: u32 multi-attr: true - name: gracetime type: u32 - name: leasetime type: u32 - name: scope type: string - name: min-threads type: u32 - name: fh-key type: binary checks: exact-len: 16 - name: version attributes: - name: major type: u32 - name: minor type: u32 - name: enabled type: flag - name: server-proto attributes: - name: version type: nest nested-attributes: version multi-attr: true - name: sock attributes: - name: addr type: binary - name: transport-name type: string - name: server-sock attributes: - name: addr type: nest nested-attributes: sock multi-attr: true - name: pool-mode attributes: - name: mode type: string - name: npools type: u32 - name: fslocation attributes: - name: host type: string - name: path type: string - name: fslocations attributes: - name: location type: nest nested-attributes: fslocation multi-attr: true - name: auth-flavor attributes: - name: pseudoflavor type: u32 - name: flags type: u32 enum: export-flags enum-as-flags: true - name: svc-export attributes: - name: seqno type: u64 - name: client type: string - name: path type: string - name: negative type: flag - name: expiry type: u64 - name: anon-uid type: u32 - name: anon-gid type: u32 - name: fslocations type: nest nested-attributes: fslocations - name: uuid type: binary - name: secinfo type: nest nested-attributes: auth-flavor multi-attr: true - name: xprtsec type: u32 enum: xprtsec-mode multi-attr: true - name: flags type: u32 enum: export-flags enum-as-flags: true - name: fsid type: s32 - name: svc-export-reqs attributes: - name: requests type: nest nested-attributes: svc-export multi-attr: true - name: expkey attributes: - name: seqno type: u64 - name: client type: string - name: fsidtype type: u8 - name: fsid type: binary - name: negative type: flag - name: expiry type: u64 - name: path type: string - name: expkey-reqs attributes: - name: requests type: nest nested-attributes: expkey multi-attr: true - name: cache-flush attributes: - name: mask type: u32 enum: cache-type enum-as-flags: true operations: list: - name: rpc-status-get doc: dump pending nfsd rpc attribute-set: rpc-status dump: reply: attributes: - xid - flags - prog - version - proc - service-time - saddr4 - daddr4 - saddr6 - daddr6 - sport - dport - compound-ops - name: threads-set doc: set the maximum number of running threads attribute-set: server flags: [admin-perm] do: request: attributes: - threads - gracetime - leasetime - scope - min-threads - fh-key - name: threads-get doc: get the maximum number of running threads attribute-set: server do: reply: attributes: - threads - gracetime - leasetime - scope - min-threads - name: version-set doc: set nfs enabled versions attribute-set: server-proto flags: [admin-perm] do: request: attributes: - version - name: version-get doc: get nfs enabled versions attribute-set: server-proto do: reply: attributes: - version - name: listener-set doc: set nfs running sockets attribute-set: server-sock flags: [admin-perm] do: request: attributes: - addr - name: listener-get doc: get nfs running listeners attribute-set: server-sock do: reply: attributes: - addr - name: pool-mode-set doc: set the current server pool-mode attribute-set: pool-mode flags: [admin-perm] do: request: attributes: - mode - name: pool-mode-get doc: get info about server pool-mode attribute-set: pool-mode do: reply: attributes: - mode - npools - name: cache-notify doc: Notification that there are cache requests that need servicing attribute-set: cache-notify mcgrp: exportd event: attributes: - cache-type - name: svc-export-get-reqs doc: Dump all pending svc_export requests attribute-set: svc-export-reqs flags: [admin-perm] dump: reply: attributes: - requests - name: svc-export-set-reqs doc: Respond to one or more svc_export requests attribute-set: svc-export-reqs flags: [admin-perm] do: request: attributes: - requests - name: expkey-get-reqs doc: Dump all pending expkey requests attribute-set: expkey-reqs flags: [admin-perm] dump: reply: attributes: - requests - name: expkey-set-reqs doc: Respond to one or more expkey requests attribute-set: expkey-reqs flags: [admin-perm] do: request: attributes: - requests - name: cache-flush doc: Flush nfsd caches (svc_export and/or expkey) attribute-set: cache-flush flags: [admin-perm] do: request: attributes: - mask mcast-groups: list: - name: none - name: exportd