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