xref: /linux/Documentation/netlink/specs/nfsd.yaml (revision 89aa02edaa30e4327ebc8fca9b80795bbfd4ce9b)
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
119operations:
120  list:
121    -
122      name: rpc-status-get
123      doc: dump pending nfsd rpc
124      attribute-set: rpc-status
125      dump:
126        pre: nfsd-nl-rpc-status-get-start
127        post: nfsd-nl-rpc-status-get-done
128        reply:
129          attributes:
130            - xid
131            - flags
132            - prog
133            - version
134            - proc
135            - service_time
136            - saddr4
137            - daddr4
138            - saddr6
139            - daddr6
140            - sport
141            - dport
142            - compound-ops
143    -
144      name: threads-set
145      doc: set the number of running threads
146      attribute-set: server
147      flags: [ admin-perm ]
148      do:
149        request:
150          attributes:
151            - threads
152            - gracetime
153            - leasetime
154            - scope
155    -
156      name: threads-get
157      doc: get the number of running threads
158      attribute-set: server
159      do:
160        reply:
161          attributes:
162            - threads
163            - gracetime
164            - leasetime
165            - scope
166    -
167      name: version-set
168      doc: set nfs enabled versions
169      attribute-set: server-proto
170      flags: [ admin-perm ]
171      do:
172        request:
173          attributes:
174            - version
175    -
176      name: version-get
177      doc: get nfs enabled versions
178      attribute-set: server-proto
179      do:
180        reply:
181          attributes:
182            - version
183    -
184      name: listener-set
185      doc: set nfs running sockets
186      attribute-set: server-sock
187      flags: [ admin-perm ]
188      do:
189        request:
190          attributes:
191            - addr
192    -
193      name: listener-get
194      doc: get nfs running listeners
195      attribute-set: server-sock
196      do:
197        reply:
198          attributes:
199            - addr
200