xref: /linux/Documentation/netlink/specs/nfsd.yaml (revision 53597deca0e38c30e6cd4ba2114fa42d2bcd85bb)
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: min-threads
83        type: u32
84      -
85        name: fh-key
86        type: binary
87        checks:
88            exact-len: 16
89  -
90    name: version
91    attributes:
92      -
93        name: major
94        type: u32
95      -
96        name: minor
97        type: u32
98      -
99        name: enabled
100        type: flag
101  -
102    name: server-proto
103    attributes:
104      -
105        name: version
106        type: nest
107        nested-attributes: version
108        multi-attr: true
109  -
110    name: sock
111    attributes:
112      -
113        name: addr
114        type: binary
115      -
116        name: transport-name
117        type: string
118  -
119    name: server-sock
120    attributes:
121      -
122        name: addr
123        type: nest
124        nested-attributes: sock
125        multi-attr: true
126  -
127    name: pool-mode
128    attributes:
129      -
130        name: mode
131        type: string
132      -
133        name: npools
134        type: u32
135
136operations:
137  list:
138    -
139      name: rpc-status-get
140      doc: dump pending nfsd rpc
141      attribute-set: rpc-status
142      dump:
143        reply:
144          attributes:
145            - xid
146            - flags
147            - prog
148            - version
149            - proc
150            - service-time
151            - saddr4
152            - daddr4
153            - saddr6
154            - daddr6
155            - sport
156            - dport
157            - compound-ops
158    -
159      name: threads-set
160      doc: set the maximum number of running threads
161      attribute-set: server
162      flags: [admin-perm]
163      do:
164        request:
165          attributes:
166            - threads
167            - gracetime
168            - leasetime
169            - scope
170            - min-threads
171            - fh-key
172    -
173      name: threads-get
174      doc: get the maximum number of running threads
175      attribute-set: server
176      do:
177        reply:
178          attributes:
179            - threads
180            - gracetime
181            - leasetime
182            - scope
183            - min-threads
184    -
185      name: version-set
186      doc: set nfs enabled versions
187      attribute-set: server-proto
188      flags: [admin-perm]
189      do:
190        request:
191          attributes:
192            - version
193    -
194      name: version-get
195      doc: get nfs enabled versions
196      attribute-set: server-proto
197      do:
198        reply:
199          attributes:
200            - version
201    -
202      name: listener-set
203      doc: set nfs running sockets
204      attribute-set: server-sock
205      flags: [admin-perm]
206      do:
207        request:
208          attributes:
209            - addr
210    -
211      name: listener-get
212      doc: get nfs running listeners
213      attribute-set: server-sock
214      do:
215        reply:
216          attributes:
217            - addr
218    -
219      name: pool-mode-set
220      doc: set the current server pool-mode
221      attribute-set: pool-mode
222      flags: [admin-perm]
223      do:
224        request:
225          attributes:
226            - mode
227    -
228      name: pool-mode-get
229      doc: get info about server pool-mode
230      attribute-set: pool-mode
231      do:
232        reply:
233          attributes:
234            - mode
235            - npools
236