Documentation / netlink / specs / nfsd.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 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 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)

name: nfsd
protocol: genetlink
uapi-header: linux/nfsd_netlink.h

doc: NFSD configuration over generic netlink.

attribute-sets:
  -
    name: rpc-status
    attributes:
      -
        name: xid
        type: u32
        byte-order: big-endian
      -
        name: flags
        type: u32
      -
        name: prog
        type: u32
      -
        name: version
        type: u8
      -
        name: proc
        type: u32
      -
        name: service_time
        type: s64
      -
        name: pad
        type: pad
      -
        name: saddr4
        type: u32
        byte-order: big-endian
        display-hint: ipv4
      -
        name: daddr4
        type: u32
        byte-order: big-endian
        display-hint: ipv4
      -
        name: saddr6
        type: binary
        display-hint: ipv6
      -
        name: daddr6
        type: binary
        display-hint: ipv6
      -
        name: sport
        type: u16
        byte-order: big-endian
      -
        name: dport
        type: u16
        byte-order: big-endian
      -
        name: compound-ops
        type: u32
        multi-attr: true
  -
    name: server
    attributes:
      -
        name: threads
        type: u32
        multi-attr: true
      -
        name: gracetime
        type: u32
      -
        name: leasetime
        type: u32
      -
        name: scope
        type: string
  -
    name: version
    attributes:
      -
        name: major
        type: u32
      -
        name: minor
        type: u32
      -
        name: enabled
        type: flag
  -
    name: server-proto
    attributes:
      -
        name: version
        type: nest
        nested-attributes: version
        multi-attr: true
  -
    name: sock
    attributes:
      -
        name: addr
        type: binary
      -
        name: transport-name
        type: string
  -
    name: server-sock
    attributes:
      -
        name: addr
        type: nest
        nested-attributes: sock
        multi-attr: true
  -
    name: pool-mode
    attributes:
      -
        name: mode
        type: string
      -
        name: npools
        type: u32

operations:
  list:
    -
      name: rpc-status-get
      doc: dump pending nfsd rpc
      attribute-set: rpc-status
      dump:
        reply:
          attributes:
            - xid
            - flags
            - prog
            - version
            - proc
            - service_time
            - saddr4
            - daddr4
            - saddr6
            - daddr6
            - sport
            - dport
            - compound-ops
    -
      name: threads-set
      doc: set the number of running threads
      attribute-set: server
      flags: [ admin-perm ]
      do:
        request:
          attributes:
            - threads
            - gracetime
            - leasetime
            - scope
    -
      name: threads-get
      doc: get the number of running threads
      attribute-set: server
      do:
        reply:
          attributes:
            - threads
            - gracetime
            - leasetime
            - scope
    -
      name: version-set
      doc: set nfs enabled versions
      attribute-set: server-proto
      flags: [ admin-perm ]
      do:
        request:
          attributes:
            - version
    -
      name: version-get
      doc: get nfs enabled versions
      attribute-set: server-proto
      do:
        reply:
          attributes:
            - version
    -
      name: listener-set
      doc: set nfs running sockets
      attribute-set: server-sock
      flags: [ admin-perm ]
      do:
        request:
          attributes:
            - addr
    -
      name: listener-get
      doc: get nfs running listeners
      attribute-set: server-sock
      do:
        reply:
          attributes:
            - addr
    -
      name: pool-mode-set
      doc: set the current server pool-mode
      attribute-set: pool-mode
      flags: [ admin-perm ]
      do:
        request:
          attributes:
            - mode
    -
      name: pool-mode-get
      doc: get info about server pool-mode
      attribute-set: pool-mode
      do:
        reply:
          attributes:
            - mode
            - npools