From: Stanislav Fomichev <sdf@google.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, Stanislav Fomichev <sdf@google.com>
Subject: [PATCH net-next 3/4] ynl: regenerate all headers
Date: Tue, 25 Jul 2023 16:35:16 -0700 [thread overview]
Message-ID: <20230725233517.2614868-4-sdf@google.com> (raw)
In-Reply-To: <20230725233517.2614868-1-sdf@google.com>
Also add small (and simple - no dependencies) makefile rule do update
the UAPI ones.
Signed-off-by: Stanislav Fomichev <sdf@google.com>
---
include/uapi/linux/netdev.h | 4 +++-
tools/net/ynl/Makefile | 10 ++++++++++
tools/net/ynl/generated/netdev-user.c | 6 ++++++
tools/net/ynl/generated/netdev-user.h | 2 ++
4 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/include/uapi/linux/netdev.h b/include/uapi/linux/netdev.h
index bf71698a1e82..1a2f6e320f1c 100644
--- a/include/uapi/linux/netdev.h
+++ b/include/uapi/linux/netdev.h
@@ -11,7 +11,7 @@
/**
* enum netdev_xdp_act
- * @NETDEV_XDP_ACT_BASIC: XDP feautues set supported by all drivers
+ * @NETDEV_XDP_ACT_BASIC: XDP features set supported by all drivers
* (XDP_ABORTED, XDP_DROP, XDP_PASS, XDP_TX)
* @NETDEV_XDP_ACT_REDIRECT: The netdev supports XDP_REDIRECT
* @NETDEV_XDP_ACT_NDO_XMIT: This feature informs if netdev implements
@@ -34,6 +34,8 @@ enum netdev_xdp_act {
NETDEV_XDP_ACT_RX_SG = 32,
NETDEV_XDP_ACT_NDO_XMIT_SG = 64,
+ /* private: */
+
NETDEV_XDP_ACT_MASK = 127,
};
diff --git a/tools/net/ynl/Makefile b/tools/net/ynl/Makefile
index d664b36deb5b..f4eacafa9665 100644
--- a/tools/net/ynl/Makefile
+++ b/tools/net/ynl/Makefile
@@ -1,5 +1,10 @@
# SPDX-License-Identifier: GPL-2.0
+DIR_SPEC:=../../../Documentation/netlink/specs
+DIR_UAPI:=../../../include/uapi/linux
+SPECS:=netdev fou handshake
+TOOL:=./ynl-gen-c.py
+
SUBDIRS = lib generated samples
all: $(SUBDIRS)
@@ -16,4 +21,9 @@ all: $(SUBDIRS)
fi \
done
+generate:
+ for spec in $(SPECS); do \
+ $(TOOL) --spec $(DIR_SPEC)/$$spec.yaml --header --mode uapi > $(DIR_UAPI)/$$spec.h; \
+ done
+
.PHONY: clean all $(SUBDIRS)
diff --git a/tools/net/ynl/generated/netdev-user.c b/tools/net/ynl/generated/netdev-user.c
index 4eb8aefef0cd..68b408ca0f7f 100644
--- a/tools/net/ynl/generated/netdev-user.c
+++ b/tools/net/ynl/generated/netdev-user.c
@@ -50,6 +50,7 @@ struct ynl_policy_attr netdev_dev_policy[NETDEV_A_DEV_MAX + 1] = {
[NETDEV_A_DEV_IFINDEX] = { .name = "ifindex", .type = YNL_PT_U32, },
[NETDEV_A_DEV_PAD] = { .name = "pad", .type = YNL_PT_IGNORE, },
[NETDEV_A_DEV_XDP_FEATURES] = { .name = "xdp-features", .type = YNL_PT_U64, },
+ [NETDEV_A_DEV_XDP_ZC_MAX_SEGS] = { .name = "xdp-zc-max-segs", .type = YNL_PT_U32, },
};
struct ynl_policy_nest netdev_dev_nest = {
@@ -91,6 +92,11 @@ int netdev_dev_get_rsp_parse(const struct nlmsghdr *nlh, void *data)
return MNL_CB_ERROR;
dst->_present.xdp_features = 1;
dst->xdp_features = mnl_attr_get_u64(attr);
+ } else if (type == NETDEV_A_DEV_XDP_ZC_MAX_SEGS) {
+ if (ynl_attr_validate(yarg, attr))
+ return MNL_CB_ERROR;
+ dst->_present.xdp_zc_max_segs = 1;
+ dst->xdp_zc_max_segs = mnl_attr_get_u32(attr);
}
}
diff --git a/tools/net/ynl/generated/netdev-user.h b/tools/net/ynl/generated/netdev-user.h
index 5554dc69bb9c..0952d3261f4d 100644
--- a/tools/net/ynl/generated/netdev-user.h
+++ b/tools/net/ynl/generated/netdev-user.h
@@ -47,10 +47,12 @@ struct netdev_dev_get_rsp {
struct {
__u32 ifindex:1;
__u32 xdp_features:1;
+ __u32 xdp_zc_max_segs:1;
} _present;
__u32 ifindex;
__u64 xdp_features;
+ __u32 xdp_zc_max_segs;
};
void netdev_dev_get_rsp_free(struct netdev_dev_get_rsp *rsp);
--
2.41.0.487.g6d72f3e995-goog
next prev parent reply other threads:[~2023-07-25 23:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-25 23:35 [PATCH net-next 0/4] ynl: couple of unrelated fixes Stanislav Fomichev
2023-07-25 23:35 ` [PATCH net-next 1/4] ynl: expose xdp-zc-max-segs Stanislav Fomichev
2023-07-25 23:35 ` [PATCH net-next 2/4] ynl: mark max/mask as private for kdoc Stanislav Fomichev
2023-07-26 23:33 ` Jakub Kicinski
2023-07-26 23:35 ` Stanislav Fomichev
2023-07-25 23:35 ` Stanislav Fomichev [this message]
2023-07-26 23:37 ` [PATCH net-next 3/4] ynl: regenerate all headers Jakub Kicinski
2023-07-26 23:55 ` Stanislav Fomichev
2023-07-27 0:22 ` Jakub Kicinski
2023-07-25 23:35 ` [PATCH net-next 4/4] ynl: print xdp-zc-max-segs in the sample Stanislav Fomichev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230725233517.2614868-4-sdf@google.com \
--to=sdf@google.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.