diff options
| author | Jeff Layton <jlayton@kernel.org> | 2026-03-25 10:40:28 -0400 |
|---|---|---|
| committer | Chuck Lever <chuck.lever@oracle.com> | 2026-06-01 11:08:18 -0400 |
| commit | af81cb247ca94e4bcfea31ea862cf3aaf955a503 (patch) | |
| tree | de9046636c5a30bea2540815de0fa2c8403ed8e8 /Documentation/netlink/specs/sunrpc_cache.yaml | |
| parent | c13ecd47648cc98e9f324ce4bcaa3d0654c3c91c (diff) | |
| download | linux-next-af81cb247ca94e4bcfea31ea862cf3aaf955a503.tar.gz linux-next-af81cb247ca94e4bcfea31ea862cf3aaf955a503.zip | |
sunrpc: add a generic netlink family for cache upcalls
The auth.unix.ip and auth.unix.gid caches live in the sunrpc module,
so they cannot use the nfsd generic netlink family. Create a new
"sunrpc" generic netlink family with its own "exportd" multicast
group to support cache upcall notifications for sunrpc-resident
caches.
Define a YAML spec (sunrpc_cache.yaml) with a cache-type enum
(ip_map, unix_gid), a cache-notify multicast event, and the
corresponding uapi header.
Implement sunrpc_cache_notify() in cache.c, which checks for
listeners on the exportd multicast group, builds and sends a
SUNRPC_CMD_CACHE_NOTIFY message with the cache-type attribute.
Register/unregister the sunrpc_nl_family in init_sunrpc() and
cleanup_sunrpc().
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'Documentation/netlink/specs/sunrpc_cache.yaml')
| -rw-r--r-- | Documentation/netlink/specs/sunrpc_cache.yaml | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Documentation/netlink/specs/sunrpc_cache.yaml b/Documentation/netlink/specs/sunrpc_cache.yaml new file mode 100644 index 000000000000..f4aa699598bc --- /dev/null +++ b/Documentation/netlink/specs/sunrpc_cache.yaml @@ -0,0 +1,40 @@ +# 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 + +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 + +mcast-groups: + list: + - + name: none + - + name: exportd |
