[PATCH net-next 1/8] devlink: fix the enum behind DEVLINK_ATTR_RELOAD_LIMITS
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-09-10 20:03:21
Subsystem:
devlink, networking [general], the rest, yaml netlink (ynl) · Maintainers:
Jiri Pirko, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds, Donald Hunter
DEVLINK_ATTR_RELOAD_LIMITS carries enum devlink_reload_limit, the spec says enum devlink_reload_action. The two are unrelated, and have a different set of values (bits 1, 2 vs bits 0, 1). AFAICT this is a cosmetic change - both DEVLINK_RELOAD_LIMIT_UNSPEC and the out of bounds bit 2 will be rejected either way because drivers don't declare them as supported. User will see either a policy validation failure or "Requested limit is not supported by the driver". Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- Documentation/netlink/specs/devlink.yaml | 15 ++++++++++++++- net/devlink/netlink_gen.c | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/Documentation/netlink/specs/devlink.yaml b/Documentation/netlink/specs/devlink.yaml
index 38b1190f3d26..d933b205ee86 100644
--- a/Documentation/netlink/specs/devlink.yaml
+++ b/Documentation/netlink/specs/devlink.yaml@@ -174,6 +174,18 @@ doc: Partial family for Devlink. value: 1 - name: fw-activate + - + type: enum + name: reload-limit + entries: + - + name: unspec + doc: no constraints + - + name: no-reset + doc: >- + No reset allowed, no down time allowed, no link flap and no + configuration is lost. - type: enum name: param-cmode
@@ -775,7 +787,7 @@ doc: Partial family for Devlink. - name: reload-limits type: bitfield32 - enum: reload-action + enum: reload-limit enum-as-flags: true - name: dev-stats
@@ -793,6 +805,7 @@ doc: Partial family for Devlink. - name: reload-stats-limit type: u8 + enum: reload-limit - name: reload-stats-value type: u32
diff --git a/net/devlink/netlink_gen.c b/net/devlink/netlink_gen.c
index dec00133178d..30f01901b587 100644
--- a/net/devlink/netlink_gen.c
+++ b/net/devlink/netlink_gen.c@@ -334,7 +334,7 @@ static const struct nla_policy devlink_reload_nl_policy[DEVLINK_ATTR_INDEX + 1] [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING, }, [DEVLINK_ATTR_INDEX] = NLA_POLICY_FULL_RANGE(NLA_UINT, &devlink_attr_index_range), [DEVLINK_ATTR_RELOAD_ACTION] = NLA_POLICY_RANGE(NLA_U8, 1, 2), - [DEVLINK_ATTR_RELOAD_LIMITS] = NLA_POLICY_BITFIELD32(6), + [DEVLINK_ATTR_RELOAD_LIMITS] = NLA_POLICY_BITFIELD32(3), [DEVLINK_ATTR_NETNS_PID] = { .type = NLA_U32, }, [DEVLINK_ATTR_NETNS_FD] = { .type = NLA_U32, }, [DEVLINK_ATTR_NETNS_ID] = { .type = NLA_U32, },
--
2.55.0