xref: /linux/Documentation/netlink/specs/sunrpc_cache.yaml (revision d639d9fa162aadec1ae9980c4dcf6e50bd2f8290)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: sunrpc
4protocol: genetlink
5uapi-header: linux/sunrpc_netlink.h
6
7doc: SUNRPC cache upcall support over generic netlink.
8
9definitions:
10  -
11    type: flags
12    name: cache-type
13    entries: [ip_map, unix_gid]
14
15attribute-sets:
16  -
17    name: cache-notify
18    attributes:
19      -
20        name: cache-type
21        type: u32
22        enum: cache-type
23  -
24    name: ip-map
25    attributes:
26      -
27        name: seqno
28        type: u64
29      -
30        name: class
31        type: string
32      -
33        name: addr
34        type: string
35      -
36        name: domain
37        type: string
38      -
39        name: negative
40        type: flag
41      -
42        name: expiry
43        type: u64
44  -
45    name: ip-map-reqs
46    attributes:
47      -
48        name: requests
49        type: nest
50        nested-attributes: ip-map
51        multi-attr: true
52  -
53    name: unix-gid
54    attributes:
55      -
56        name: seqno
57        type: u64
58      -
59        name: uid
60        type: u32
61      -
62        name: gids
63        type: u32
64        multi-attr: true
65      -
66        name: negative
67        type: flag
68      -
69        name: expiry
70        type: u64
71  -
72    name: unix-gid-reqs
73    attributes:
74      -
75        name: requests
76        type: nest
77        nested-attributes: unix-gid
78        multi-attr: true
79  -
80    name: cache-flush
81    attributes:
82      -
83        name: mask
84        type: u32
85        enum: cache-type
86        enum-as-flags: true
87
88operations:
89  list:
90    -
91      name: cache-notify
92      doc: Notification that there are cache requests that need servicing
93      attribute-set: cache-notify
94      mcgrp: exportd
95      event:
96        attributes:
97          - cache-type
98    -
99      name: ip-map-get-reqs
100      doc: Dump all pending ip_map requests
101      attribute-set: ip-map-reqs
102      flags: [admin-perm]
103      dump:
104          reply:
105            attributes:
106              - requests
107    -
108      name: ip-map-set-reqs
109      doc: Respond to one or more ip_map requests
110      attribute-set: ip-map-reqs
111      flags: [admin-perm]
112      do:
113          request:
114            attributes:
115              - requests
116    -
117      name: unix-gid-get-reqs
118      doc: Dump all pending unix_gid requests
119      attribute-set: unix-gid-reqs
120      flags: [admin-perm]
121      dump:
122          reply:
123            attributes:
124              - requests
125    -
126      name: unix-gid-set-reqs
127      doc: Respond to one or more unix_gid requests
128      attribute-set: unix-gid-reqs
129      flags: [admin-perm]
130      do:
131          request:
132            attributes:
133              - requests
134    -
135      name: cache-flush
136      doc: Flush sunrpc caches (ip_map and/or unix_gid)
137      attribute-set: cache-flush
138      flags: [admin-perm]
139      do:
140        request:
141          attributes:
142            - mask
143
144mcast-groups:
145  list:
146    -
147      name: none
148    -
149      name: exportd
150