diff options
author | Jiri Pirko <jiri@nvidia.com> | 2023-08-11 18:57:03 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-08-14 21:47:24 +0300 |
commit | 41a1d4d1399af0f4ba9754086b23f7b9576eb25f (patch) | |
tree | 7e9964de5075acff46d9f75fcba216664880b03c /net/devlink/netlink.c | |
parent | 63618463cb94bda3ee68dc2ada998c0ef3c00e67 (diff) | |
download | linux-41a1d4d1399af0f4ba9754086b23f7b9576eb25f.tar.xz |
devlink: parse rate attrs in doit() callbacks
No need to give the rate any special treatment in netlink attributes
parsing, as unlike for ports, there is only a couple of commands
benefiting from that.
Remove DEVLINK_NL_FLAG_NEED_RATE*, make pre_doit() callback simpler
by moving the rate attributes parsing to rate_*_doit() ops.
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20230811155714.1736405-3-jiri@resnulli.us
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/devlink/netlink.c')
-rw-r--r-- | net/devlink/netlink.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/net/devlink/netlink.c b/net/devlink/netlink.c index 9fd683f38a53..96cf8a1b8bce 100644 --- a/net/devlink/netlink.c +++ b/net/devlink/netlink.c @@ -132,24 +132,6 @@ int devlink_nl_pre_doit(const struct genl_split_ops *ops, devlink_port = devlink_port_get_from_info(devlink, info); if (!IS_ERR(devlink_port)) info->user_ptr[1] = devlink_port; - } else if (ops->internal_flags & DEVLINK_NL_FLAG_NEED_RATE) { - struct devlink_rate *devlink_rate; - - devlink_rate = devlink_rate_get_from_info(devlink, info); - if (IS_ERR(devlink_rate)) { - err = PTR_ERR(devlink_rate); - goto unlock; - } - info->user_ptr[1] = devlink_rate; - } else if (ops->internal_flags & DEVLINK_NL_FLAG_NEED_RATE_NODE) { - struct devlink_rate *rate_node; - - rate_node = devlink_rate_node_get_from_info(devlink, info); - if (IS_ERR(rate_node)) { - err = PTR_ERR(rate_node); - goto unlock; - } - info->user_ptr[1] = rate_node; } return 0; |