OSDN Git Service

devlink: use generated split ops and remove duplicated commands from small ops
authorJiri Pirko <jiri@nvidia.com>
Thu, 3 Aug 2023 11:13:40 +0000 (13:13 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 4 Aug 2023 21:03:02 +0000 (14:03 -0700)
Do the switch and use generated split ops for get and info_get commands.
Remove those from small ops array.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20230803111340.1074067-13-jiri@resnulli.us
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/devlink/devl_internal.h
net/devlink/leftover.c
net/devlink/netlink.c

index 51de0e1..7fdd956 100644 (file)
@@ -124,7 +124,7 @@ struct devlink_cmd {
        devlink_nl_dump_one_func_t *dump_one;
 };
 
-extern const struct genl_small_ops devlink_nl_small_ops[56];
+extern const struct genl_small_ops devlink_nl_small_ops[54];
 
 struct devlink *
 devlink_get_from_attrs_lock(struct net *net, struct nlattr **attrs);
index 895b732..3bf42f5 100644 (file)
@@ -6278,14 +6278,7 @@ static int devlink_nl_cmd_trap_policer_set_doit(struct sk_buff *skb,
        return devlink_trap_policer_set(devlink, policer_item, info);
 }
 
-const struct genl_small_ops devlink_nl_small_ops[56] = {
-       {
-               .cmd = DEVLINK_CMD_GET,
-               .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
-               .doit = devlink_nl_get_doit,
-               .dumpit = devlink_nl_get_dumpit,
-               /* can be retrieved by unprivileged users */
-       },
+const struct genl_small_ops devlink_nl_small_ops[54] = {
        {
                .cmd = DEVLINK_CMD_PORT_GET,
                .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
@@ -6534,13 +6527,6 @@ const struct genl_small_ops devlink_nl_small_ops[56] = {
                .flags = GENL_ADMIN_PERM,
        },
        {
-               .cmd = DEVLINK_CMD_INFO_GET,
-               .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
-               .doit = devlink_nl_info_get_doit,
-               .dumpit = devlink_nl_info_get_dumpit,
-               /* can be retrieved by unprivileged users */
-       },
-       {
                .cmd = DEVLINK_CMD_HEALTH_REPORTER_GET,
                .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
                .doit = devlink_nl_cmd_health_reporter_get_doit,
index 98d5c6b..bada281 100644 (file)
@@ -248,6 +248,8 @@ struct genl_family devlink_nl_family __ro_after_init = {
        .module         = THIS_MODULE,
        .small_ops      = devlink_nl_small_ops,
        .n_small_ops    = ARRAY_SIZE(devlink_nl_small_ops),
+       .split_ops      = devlink_nl_ops,
+       .n_split_ops    = ARRAY_SIZE(devlink_nl_ops),
        .resv_start_op  = DEVLINK_CMD_SELFTESTS_RUN + 1,
        .mcgrps         = devlink_nl_mcgrps,
        .n_mcgrps       = ARRAY_SIZE(devlink_nl_mcgrps),