Family nfsd netlink specification¶
Summary¶
NFSD configuration over generic netlink.
Operations¶
rpc-status-get¶
dump pending nfsd rpc
- attribute-set:
- dump:
- reply
- attributes:
[
xid,flags,prog,version,proc,service-time,saddr4,daddr4,saddr6,daddr6,sport,dport,compound-ops]
threads-set¶
set the maximum number of running threads
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
threads,gracetime,leasetime,scope,min-threads,fh-key]
threads-get¶
get the maximum number of running threads
- attribute-set:
- do:
- reply
- attributes:
[
threads,gracetime,leasetime,scope,min-threads]
version-set¶
set nfs enabled versions
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
version]
version-get¶
get nfs enabled versions
- attribute-set:
- do:
- reply
- attributes:
[
version]
listener-set¶
set nfs running sockets. A request that carries userspace-rpcbind is answered with a reply rather than a bare ack, and the addr list in that reply names only the listeners that have an rpcbind netid.
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
addr,userspace-rpcbind]
- reply
- attributes:
[
addr,userspace-rpcbind,rpcbind]
listener-get¶
get nfs running listeners
- attribute-set:
- do:
- reply
- attributes:
[
addr]
pool-mode-set¶
set the current server pool-mode
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
mode]
pool-mode-get¶
get info about server pool-mode
- attribute-set:
- do:
- reply
- attributes:
[
mode,npools]
cache-notify¶
Notification that there are cache requests that need servicing
- attribute-set:
- mcgrp:
exportd
- event:
- attributes:
[
cache-type]
svc-export-get-reqs¶
Dump all pending svc_export requests
- attribute-set:
- flags:
[
admin-perm]- dump:
- reply
- attributes:
[
requests]
svc-export-set-reqs¶
Respond to one or more svc_export requests
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
requests]
expkey-get-reqs¶
Dump all pending expkey requests
- attribute-set:
- flags:
[
admin-perm]- dump:
- reply
- attributes:
[
requests]
expkey-set-reqs¶
Respond to one or more expkey requests
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
requests]
cache-flush¶
Flush nfsd caches (svc_export and/or expkey)
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
mask]
unlock-ip¶
release NLM locks held by an IP address
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
address]
unlock-filesystem¶
revoke NFS state under a filesystem path
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
path]
unlock-export¶
Revoke NFSv4 state acquired through exports of a given path. Unlike unlock-filesystem, which operates at superblock granularity, this command targets only state associated with a specific export path. Userspace (exportfs -u) sends this after removing the last client for a path so the underlying filesystem can be unmounted.
- attribute-set:
- flags:
[
admin-perm]- do:
- request
- attributes:
[
path]
server-stats-get¶
dump NFS server statistics
- attribute-set:
- dump:
- reply
- attributes:
[
rc-hits,rc-misses,rc-nocache,fh-stale,io-read,io-write,netcnt,netudpcnt,nettcpcnt,nettcpconn,rpccnt,rpcbadfmt,rpcbadauth,rpcbadclnt,proc2-ops,proc3-ops,proc4-ops,proc4ops-ops,proc4cb-ops]
Multicast groups¶
none
exportd
Definitions¶
cache-type¶
- type:
flags
- entries:
svc_exportexpkey
export-flags¶
- type:
flags
- doc:
These flags are ordered to match the NFSEXP_* flags in include/linux/nfsd/export.h
- entries:
readonlyinsecure-portrootsquashallsquashasyncgathered-writesnoreaddirplussecurity-labelsign-fhnohidenosubtreechecknoauthnlmmsnfsfsidcrossmountnoaclv4rootpnfs
xprtsec-mode¶
- type:
flags
- doc:
These flags are ordered to match the NFSEXP_XPRTSEC_* flags in include/linux/nfsd/export.h
- entries:
nonetlsmtls
rpcbind-flags¶
- type:
flags
- doc:
Constraints that apply to an rpcbind registration. no-udp means the kernel would not have registered this program and version over UDP, so the caller must skip the udp and udp6 netids for it.
- entries:
no-udp
Attribute sets¶
cache-notify¶
cache-type (u32)¶
- enum:
rpc-status¶
xid (u32)¶
- byte-order:
big-endian
flags (u32)¶
prog (u32)¶
version (u8)¶
proc (u32)¶
service-time (s64)¶
pad (pad)¶
saddr4 (u32)¶
- byte-order:
big-endian
- display-hint:
ipv4
daddr4 (u32)¶
- byte-order:
big-endian
- display-hint:
ipv4
saddr6 (binary)¶
- display-hint:
ipv6
daddr6 (binary)¶
- display-hint:
ipv6
sport (u16)¶
- byte-order:
big-endian
dport (u16)¶
- byte-order:
big-endian
compound-ops (u32)¶
- multi-attr:
True
server¶
threads (u32)¶
- multi-attr:
True
gracetime (u32)¶
leasetime (u32)¶
scope (string)¶
min-threads (u32)¶
fh-key (binary)¶
version¶
major (u32)¶
minor (u32)¶
enabled (flag)¶
server-proto¶
version (nest)¶
- nested-attributes:
- multi-attr:
True
sock¶
addr (binary)¶
transport-name (string)¶
rpcbind¶
program (u32)¶
- doc:
RPC program number to register.
version (u32)¶
- doc:
RPC version number to register.
flags (u32)¶
- enum:
- enum-as-flags:
True
- doc:
Constraints on the listeners this entry applies to.
server-sock¶
addr (nest)¶
- nested-attributes:
- multi-attr:
True
userspace-rpcbind (flag)¶
- doc:
The caller registers the listeners with rpcbind itself, so the kernel must not do it. The kernel echoes this attribute in the reply when it accepts the request. Ownership cannot change while a server exists.
rpcbind (nest)¶
- nested-attributes:
- multi-attr:
True
- doc:
A program and version that the caller should register for every listener reported in the same reply, except the netids that flags rules out. Reply only. NLM is absent because lockd still registers itself.
pool-mode¶
mode (string)¶
npools (u32)¶
fslocation¶
host (string)¶
path (string)¶
fslocations¶
location (nest)¶
- nested-attributes:
- multi-attr:
True
auth-flavor¶
pseudoflavor (u32)¶
flags (u32)¶
- enum:
- enum-as-flags:
True
svc-export¶
seqno (u64)¶
client (string)¶
path (string)¶
negative (flag)¶
expiry (u64)¶
anon-uid (u32)¶
anon-gid (u32)¶
fslocations (nest)¶
- nested-attributes:
uuid (binary)¶
secinfo (nest)¶
- nested-attributes:
- multi-attr:
True
xprtsec (u32)¶
- enum:
- multi-attr:
True
flags (u32)¶
- enum:
- enum-as-flags:
True
fsid (s32)¶
svc-export-reqs¶
requests (nest)¶
- nested-attributes:
- multi-attr:
True
expkey¶
seqno (u64)¶
client (string)¶
fsidtype (u8)¶
fsid (binary)¶
negative (flag)¶
expiry (u64)¶
path (string)¶
expkey-reqs¶
requests (nest)¶
- nested-attributes:
- multi-attr:
True
cache-flush¶
mask (u32)¶
- enum:
- enum-as-flags:
True
unlock-ip¶
address (binary)¶
- doc:
struct sockaddr_inorstruct sockaddr_in6.
unlock-filesystem¶
path (string)¶
- doc:
Filesystem path whose state should be released.
unlock-export¶
path (string)¶
- doc:
Export path whose NFSv4 state should be revoked. All state (opens, locks, delegations, layouts) acquired through any export of this path is revoked, regardless of which client holds the state. Intended for use after all clients have been unexported from a given path, enabling the underlying filesystem to be unmounted.
server-proc-entry¶
op (u32)¶
count (u64)¶
pad (pad)¶
server-stats¶
rc-hits (u64)¶
rc-misses (u64)¶
rc-nocache (u64)¶
pad (pad)¶
fh-stale (u64)¶
io-read (u64)¶
io-write (u64)¶
netcnt (u32)¶
netudpcnt (u32)¶
nettcpcnt (u32)¶
nettcpconn (u32)¶
rpccnt (u32)¶
rpcbadfmt (u32)¶
rpcbadauth (u32)¶
rpcbadclnt (u32)¶
proc2-ops (nest)¶
- nested-attributes:
- multi-attr:
True
proc3-ops (nest)¶
- nested-attributes:
- multi-attr:
True
proc4-ops (nest)¶
- nested-attributes:
- multi-attr:
True
proc4ops-ops (nest)¶
- nested-attributes:
- multi-attr:
True
proc4cb-ops (nest)¶
- nested-attributes:
- multi-attr:
True