Documentation / netlink / specs / sunrpc_cache.yaml


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

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