summaryrefslogtreecommitdiff
path: root/Documentation/netlink/specs/sunrpc_cache.yaml
blob: f22ff22b9418fa0c0de2198199eba01e4c7ba34d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
---
name: sunrpc
protocol: genetlink
uapi-header: linux/sunrpc_netlink.h

doc: SUNRPC cache upcall support over generic netlink.

definitions:
  -
    type: flags
    name: cache-type
    entries: [ip_map, unix_gid]

attribute-sets:
  -
    name: cache-notify
    attributes:
      -
        name: cache-type
        type: u32
        enum: cache-type
  -
    name: ip-map
    attributes:
      -
        name: seqno
        type: u64
      -
        name: class
        type: string
      -
        name: addr
        type: string
      -
        name: domain
        type: string
      -
        name: negative
        type: flag
      -
        name: expiry
        type: u64
  -
    name: ip-map-reqs
    attributes:
      -
        name: requests
        type: nest
        nested-attributes: ip-map
        multi-attr: true
  -
    name: unix-gid
    attributes:
      -
        name: seqno
        type: u64
      -
        name: uid
        type: u32
      -
        name: gids
        type: u32
        multi-attr: true
      -
        name: negative
        type: flag
      -
        name: expiry
        type: u64
  -
    name: unix-gid-reqs
    attributes:
      -
        name: requests
        type: nest
        nested-attributes: unix-gid
        multi-attr: true
  -
    name: cache-flush
    attributes:
      -
        name: mask
        type: u32
        enum: cache-type
        enum-as-flags: true

operations:
  list:
    -
      name: cache-notify
      doc: Notification that there are cache requests that need servicing
      attribute-set: cache-notify
      mcgrp: exportd
      event:
        attributes:
          - cache-type
    -
      name: ip-map-get-reqs
      doc: Dump all pending ip_map requests
      attribute-set: ip-map-reqs
      flags: [admin-perm]
      dump:
          reply:
            attributes:
              - requests
    -
      name: ip-map-set-reqs
      doc: Respond to one or more ip_map requests
      attribute-set: ip-map-reqs
      flags: [admin-perm]
      do:
          request:
            attributes:
              - requests
    -
      name: unix-gid-get-reqs
      doc: Dump all pending unix_gid requests
      attribute-set: unix-gid-reqs
      flags: [admin-perm]
      dump:
          reply:
            attributes:
              - requests
    -
      name: unix-gid-set-reqs
      doc: Respond to one or more unix_gid requests
      attribute-set: unix-gid-reqs
      flags: [admin-perm]
      do:
          request:
            attributes:
              - requests
    -
      name: cache-flush
      doc: Flush sunrpc caches (ip_map and/or unix_gid)
      attribute-set: cache-flush
      flags: [admin-perm]
      do:
        request:
          attributes:
            - mask

mcast-groups:
  list:
    -
      name: none
    -
      name: exportd