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