]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: devlink: stub port params cmds for they are unused internally
authorJiri Pirko <jiri@nvidia.com>
Fri, 26 Aug 2022 08:27:30 +0000 (10:27 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 30 Aug 2022 11:19:47 +0000 (13:19 +0200)
Follow-up the removal of unused internal api of port params made by
commit 42ded61aa75e ("devlink: Delete not used port parameters APIs")
and stub the commands and add extack message to tell the user what is
going on.

If later on port params are needed, could be easily re-introduced,
but until then it is a dead code.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20220826082730.1399735-1-jiri@resnulli.us
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/net/devlink.h
net/core/devlink.c

index 1f70260118563073535fbb68ed1d2521a930d1bb..264aa98e6da6a844fe2a4d6e1b61a1ba662ba202 100644 (file)
@@ -118,7 +118,6 @@ struct devlink_rate {
 
 struct devlink_port {
        struct list_head list;
-       struct list_head param_list;
        struct list_head region_list;
        struct devlink *devlink;
        unsigned int index;
index 95fd20ef58621c7baf883c5fe189cee014e0eae3..97a81b0a8ab4c036a9ed9371001c919655e590c8 100644 (file)
@@ -5635,89 +5635,22 @@ static int devlink_nl_cmd_param_set_doit(struct sk_buff *skb,
 static int devlink_nl_cmd_port_param_get_dumpit(struct sk_buff *msg,
                                                struct netlink_callback *cb)
 {
-       struct devlink_param_item *param_item;
-       struct devlink_port *devlink_port;
-       struct devlink *devlink;
-       int start = cb->args[0];
-       unsigned long index;
-       int idx = 0;
-       int err = 0;
-
-       devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) {
-               devl_lock(devlink);
-               list_for_each_entry(devlink_port, &devlink->port_list, list) {
-                       list_for_each_entry(param_item,
-                                           &devlink_port->param_list, list) {
-                               if (idx < start) {
-                                       idx++;
-                                       continue;
-                               }
-                               err = devlink_nl_param_fill(msg,
-                                               devlink_port->devlink,
-                                               devlink_port->index, param_item,
-                                               DEVLINK_CMD_PORT_PARAM_GET,
-                                               NETLINK_CB(cb->skb).portid,
-                                               cb->nlh->nlmsg_seq,
-                                               NLM_F_MULTI);
-                               if (err == -EOPNOTSUPP) {
-                                       err = 0;
-                               } else if (err) {
-                                       devl_unlock(devlink);
-                                       devlink_put(devlink);
-                                       goto out;
-                               }
-                               idx++;
-                       }
-               }
-               devl_unlock(devlink);
-               devlink_put(devlink);
-       }
-out:
-       if (err != -EMSGSIZE)
-               return err;
-
-       cb->args[0] = idx;
+       NL_SET_ERR_MSG_MOD(cb->extack, "Port params are not supported");
        return msg->len;
 }
 
 static int devlink_nl_cmd_port_param_get_doit(struct sk_buff *skb,
                                              struct genl_info *info)
 {
-       struct devlink_port *devlink_port = info->user_ptr[1];
-       struct devlink_param_item *param_item;
-       struct sk_buff *msg;
-       int err;
-
-       param_item = devlink_param_get_from_info(&devlink_port->param_list,
-                                                info);
-       if (!param_item)
-               return -EINVAL;
-
-       msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
-       if (!msg)
-               return -ENOMEM;
-
-       err = devlink_nl_param_fill(msg, devlink_port->devlink,
-                                   devlink_port->index, param_item,
-                                   DEVLINK_CMD_PORT_PARAM_GET,
-                                   info->snd_portid, info->snd_seq, 0);
-       if (err) {
-               nlmsg_free(msg);
-               return err;
-       }
-
-       return genlmsg_reply(msg, info);
+       NL_SET_ERR_MSG_MOD(info->extack, "Port params are not supported");
+       return -EINVAL;
 }
 
 static int devlink_nl_cmd_port_param_set_doit(struct sk_buff *skb,
                                              struct genl_info *info)
 {
-       struct devlink_port *devlink_port = info->user_ptr[1];
-
-       return __devlink_nl_cmd_param_set_doit(devlink_port->devlink,
-                                              devlink_port->index,
-                                              &devlink_port->param_list, info,
-                                              DEVLINK_CMD_PORT_PARAM_NEW);
+       NL_SET_ERR_MSG_MOD(info->extack, "Port params are not supported");
+       return -EINVAL;
 }
 
 static int devlink_nl_region_snapshot_id_put(struct sk_buff *msg,
@@ -9943,7 +9876,6 @@ int devl_port_register(struct devlink *devlink,
        INIT_LIST_HEAD(&devlink_port->reporter_list);
        mutex_init(&devlink_port->reporters_lock);
        list_add_tail(&devlink_port->list, &devlink->port_list);
-       INIT_LIST_HEAD(&devlink_port->param_list);
        INIT_LIST_HEAD(&devlink_port->region_list);
 
        INIT_DELAYED_WORK(&devlink_port->type_warn_dw, &devlink_port_type_warn);