-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generate stubs and uAPI for nfsd netlink protocol. For the moment, the new protocol has one operation: rpc_status. The generated header and source files are created by running: tools/net/ynl/ynl-regen.sh Tested-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Acked-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
- Loading branch information
Lorenzo Bianconi
authored and
Chuck Lever
committed
Oct 16, 2023
1 parent
6c41d9a
commit 13727f8
Showing
6 changed files
with
201 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# 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 | ||
|
||
operations: | ||
list: | ||
- | ||
name: rpc-status-get | ||
doc: dump pending nfsd rpc | ||
attribute-set: rpc-status | ||
dump: | ||
pre: nfsd-nl-rpc-status-get-start | ||
post: nfsd-nl-rpc-status-get-done | ||
reply: | ||
attributes: | ||
- xid | ||
- flags | ||
- prog | ||
- version | ||
- proc | ||
- service_time | ||
- saddr4 | ||
- daddr4 | ||
- saddr6 | ||
- daddr6 | ||
- sport | ||
- dport | ||
- compound-ops |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) | ||
/* Do not edit directly, auto-generated from: */ | ||
/* Documentation/netlink/specs/nfsd.yaml */ | ||
/* YNL-GEN kernel source */ | ||
|
||
#include <net/netlink.h> | ||
#include <net/genetlink.h> | ||
|
||
#include "netlink.h" | ||
|
||
#include <uapi/linux/nfsd_netlink.h> | ||
|
||
/* Ops table for nfsd */ | ||
static const struct genl_split_ops nfsd_nl_ops[] = { | ||
{ | ||
.cmd = NFSD_CMD_RPC_STATUS_GET, | ||
.start = nfsd_nl_rpc_status_get_start, | ||
.dumpit = nfsd_nl_rpc_status_get_dumpit, | ||
.done = nfsd_nl_rpc_status_get_done, | ||
.flags = GENL_CMD_CAP_DUMP, | ||
}, | ||
}; | ||
|
||
struct genl_family nfsd_nl_family __ro_after_init = { | ||
.name = NFSD_FAMILY_NAME, | ||
.version = NFSD_FAMILY_VERSION, | ||
.netnsok = true, | ||
.parallel_ops = true, | ||
.module = THIS_MODULE, | ||
.split_ops = nfsd_nl_ops, | ||
.n_split_ops = ARRAY_SIZE(nfsd_nl_ops), | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ | ||
/* Do not edit directly, auto-generated from: */ | ||
/* Documentation/netlink/specs/nfsd.yaml */ | ||
/* YNL-GEN kernel header */ | ||
|
||
#ifndef _LINUX_NFSD_GEN_H | ||
#define _LINUX_NFSD_GEN_H | ||
|
||
#include <net/netlink.h> | ||
#include <net/genetlink.h> | ||
|
||
#include <uapi/linux/nfsd_netlink.h> | ||
|
||
int nfsd_nl_rpc_status_get_start(struct netlink_callback *cb); | ||
int nfsd_nl_rpc_status_get_done(struct netlink_callback *cb); | ||
|
||
int nfsd_nl_rpc_status_get_dumpit(struct sk_buff *skb, | ||
struct netlink_callback *cb); | ||
|
||
extern struct genl_family nfsd_nl_family; | ||
|
||
#endif /* _LINUX_NFSD_GEN_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ | ||
/* Do not edit directly, auto-generated from: */ | ||
/* Documentation/netlink/specs/nfsd.yaml */ | ||
/* YNL-GEN uapi header */ | ||
|
||
#ifndef _UAPI_LINUX_NFSD_H | ||
#define _UAPI_LINUX_NFSD_H | ||
|
||
#define NFSD_FAMILY_NAME "nfsd" | ||
#define NFSD_FAMILY_VERSION 1 | ||
|
||
enum { | ||
NFSD_A_RPC_STATUS_XID = 1, | ||
NFSD_A_RPC_STATUS_FLAGS, | ||
NFSD_A_RPC_STATUS_PROG, | ||
NFSD_A_RPC_STATUS_VERSION, | ||
NFSD_A_RPC_STATUS_PROC, | ||
NFSD_A_RPC_STATUS_SERVICE_TIME, | ||
NFSD_A_RPC_STATUS_PAD, | ||
NFSD_A_RPC_STATUS_SADDR4, | ||
NFSD_A_RPC_STATUS_DADDR4, | ||
NFSD_A_RPC_STATUS_SADDR6, | ||
NFSD_A_RPC_STATUS_DADDR6, | ||
NFSD_A_RPC_STATUS_SPORT, | ||
NFSD_A_RPC_STATUS_DPORT, | ||
NFSD_A_RPC_STATUS_COMPOUND_OPS, | ||
|
||
__NFSD_A_RPC_STATUS_MAX, | ||
NFSD_A_RPC_STATUS_MAX = (__NFSD_A_RPC_STATUS_MAX - 1) | ||
}; | ||
|
||
enum { | ||
NFSD_CMD_RPC_STATUS_GET = 1, | ||
|
||
__NFSD_CMD_MAX, | ||
NFSD_CMD_MAX = (__NFSD_CMD_MAX - 1) | ||
}; | ||
|
||
#endif /* _UAPI_LINUX_NFSD_H */ |