xref: /linux/Documentation/netlink/specs/nfsd.yaml (revision 5a939bea25be9793d9aa5d8494df667dfe625e6b)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
3name: nfsd
4protocol: genetlink
5uapi-header: linux/nfsd_netlink.h
6
7doc: NFSD configuration over generic netlink.
8
9attribute-sets:
10  -
11    name: rpc-status
12    attributes:
13      -
14        name: xid
15        type: u32
16        byte-order: big-endian
17      -
18        name: flags
19        type: u32
20      -
21        name: prog
22        type: u32
23      -
24        name: version
25        type: u8
26      -
27        name: proc
28        type: u32
29      -
30        name: service_time
31        type: s64
32      -
33        name: pad
34        type: pad
35      -
36        name: saddr4
37        type: u32
38        byte-order: big-endian
39        display-hint: ipv4
40      -
41        name: daddr4
42        type: u32
43        byte-order: big-endian
44        display-hint: ipv4
45      -
46        name: saddr6
47        type: binary
48        display-hint: ipv6
49      -
50        name: daddr6
51        type: binary
52        display-hint: ipv6
53      -
54        name: sport
55        type: u16
56        byte-order: big-endian
57      -
58        name: dport
59        type: u16
60        byte-order: big-endian
61      -
62        name: compound-ops
63        type: u32
64        multi-attr: true
65  -
66    name: server
67    attributes:
68      -
69        name: threads
70        type: u32
71        multi-attr: true
72      -
73        name: gracetime
74        type: u32
75      -
76        name: leasetime
77        type: u32
78      -
79        name: scope
80        type: string
81  -
82    name: version
83    attributes:
84      -
85        name: major
86        type: u32
87      -
88        name: minor
89        type: u32
90      -
91        name: enabled
92        type: flag
93  -
94    name: server-proto
95    attributes:
96      -
97        name: version
98        type: nest
99        nested-attributes: version
100        multi-attr: true
101
102operations:
103  list:
104    -
105      name: rpc-status-get
106      doc: dump pending nfsd rpc
107      attribute-set: rpc-status
108      dump:
109        pre: nfsd-nl-rpc-status-get-start
110        post: nfsd-nl-rpc-status-get-done
111        reply:
112          attributes:
113            - xid
114            - flags
115            - prog
116            - version
117            - proc
118            - service_time
119            - saddr4
120            - daddr4
121            - saddr6
122            - daddr6
123            - sport
124            - dport
125            - compound-ops
126    -
127      name: threads-set
128      doc: set the number of running threads
129      attribute-set: server
130      flags: [ admin-perm ]
131      do:
132        request:
133          attributes:
134            - threads
135            - gracetime
136            - leasetime
137            - scope
138    -
139      name: threads-get
140      doc: get the number of running threads
141      attribute-set: server
142      do:
143        reply:
144          attributes:
145            - threads
146            - gracetime
147            - leasetime
148            - scope
149    -
150      name: version-set
151      doc: set nfs enabled versions
152      attribute-set: server-proto
153      flags: [ admin-perm ]
154      do:
155        request:
156          attributes:
157            - version
158    -
159      name: version-get
160      doc: get nfs enabled versions
161      attribute-set: server-proto
162      do:
163        reply:
164          attributes:
165            - version
166