Lines Matching refs:devlink
22 devlink_rate_leaf_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_leaf_get_from_info() argument
27 devlink_port = devlink_port_get_from_attrs(devlink, info->attrs); in devlink_rate_leaf_get_from_info()
35 devlink_rate_node_get_by_name(struct devlink *devlink, const char *node_name) in devlink_rate_node_get_by_name() argument
39 list_for_each_entry(devlink_rate, &devlink->rate_list, list) { in devlink_rate_node_get_by_name()
48 devlink_rate_node_get_from_attrs(struct devlink *devlink, struct nlattr **attrs) in devlink_rate_node_get_from_attrs() argument
61 return devlink_rate_node_get_by_name(devlink, rate_node_name); in devlink_rate_node_get_from_attrs()
65 devlink_rate_node_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_node_get_from_info() argument
67 return devlink_rate_node_get_from_attrs(devlink, info->attrs); in devlink_rate_node_get_from_info()
71 devlink_rate_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_get_from_info() argument
76 return devlink_rate_leaf_get_from_info(devlink, info); in devlink_rate_get_from_info()
78 return devlink_rate_node_get_from_info(devlink, info); in devlink_rate_get_from_info()
111 struct devlink *devlink = devlink_rate->devlink; in devlink_nl_rate_fill() local
118 if (devlink_nl_put_handle(msg, devlink)) in devlink_nl_rate_fill()
169 struct devlink *devlink = devlink_rate->devlink; in devlink_rate_notify() local
175 if (!devl_is_registered(devlink) || !devlink_nl_notify_need(devlink)) in devlink_rate_notify()
188 devlink_nl_notify_send(devlink, msg); in devlink_rate_notify()
191 void devlink_rates_notify_register(struct devlink *devlink) in devlink_rates_notify_register() argument
195 list_for_each_entry(rate_node, &devlink->rate_list, list) in devlink_rates_notify_register()
199 void devlink_rates_notify_unregister(struct devlink *devlink) in devlink_rates_notify_unregister() argument
203 list_for_each_entry_reverse(rate_node, &devlink->rate_list, list) in devlink_rates_notify_unregister()
208 devlink_nl_rate_get_dump_one(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_rate_get_dump_one() argument
216 list_for_each_entry(devlink_rate, &devlink->rate_list, list) { in devlink_nl_rate_get_dump_one()
243 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_rate_get_doit() local
248 devlink_rate = devlink_rate_get_from_info(devlink, info); in devlink_nl_rate_get_doit()
284 struct devlink *devlink = devlink_rate->devlink; in devlink_nl_rate_parent_node_set() local
286 const struct devlink_ops *ops = devlink->ops; in devlink_nl_rate_parent_node_set()
308 parent = devlink_rate_node_get_by_name(devlink, parent_name); in devlink_nl_rate_parent_node_set()
388 struct devlink *devlink = devlink_rate->devlink; in devlink_nl_rate_tc_bw_set() local
389 const struct devlink_ops *ops = devlink->ops; in devlink_nl_rate_tc_bw_set()
589 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_rate_set_doit() local
594 devlink_rate = devlink_rate_get_from_info(devlink, info); in devlink_nl_rate_set_doit()
598 ops = devlink->ops; in devlink_nl_rate_set_doit()
611 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_rate_new_doit() local
616 ops = devlink->ops; in devlink_nl_rate_new_doit()
625 rate_node = devlink_rate_node_get_from_attrs(devlink, info->attrs); in devlink_nl_rate_new_doit()
635 rate_node->devlink = devlink; in devlink_nl_rate_new_doit()
652 list_add(&rate_node->list, &devlink->rate_list); in devlink_nl_rate_new_doit()
667 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_rate_del_doit() local
671 rate_node = devlink_rate_node_get_from_info(devlink, info); in devlink_nl_rate_del_doit()
681 err = devlink->ops->rate_node_del(rate_node, rate_node->priv, in devlink_nl_rate_del_doit()
691 int devlink_rate_nodes_check(struct devlink *devlink, u16 mode, in devlink_rate_nodes_check() argument
696 list_for_each_entry(devlink_rate, &devlink->rate_list, list) in devlink_rate_nodes_check()
714 devl_rate_node_create(struct devlink *devlink, void *priv, char *node_name, in devl_rate_node_create() argument
719 rate_node = devlink_rate_node_get_by_name(devlink, node_name); in devl_rate_node_create()
733 rate_node->devlink = devlink; in devl_rate_node_create()
743 list_add(&rate_node->list, &devlink->rate_list); in devl_rate_node_create()
760 struct devlink *devlink = devlink_port->devlink; in devl_rate_leaf_create() local
763 devl_assert_locked(devlink_port->devlink); in devl_rate_leaf_create()
778 devlink_rate->devlink = devlink; in devl_rate_leaf_create()
781 list_add_tail(&devlink_rate->list, &devlink->rate_list); in devl_rate_leaf_create()
800 devl_assert_locked(devlink_port->devlink); in devl_rate_leaf_destroy()
820 void devl_rate_nodes_destroy(struct devlink *devlink) in devl_rate_nodes_destroy() argument
822 const struct devlink_ops *ops = devlink->ops; in devl_rate_nodes_destroy()
825 devl_assert_locked(devlink); in devl_rate_nodes_destroy()
827 list_for_each_entry(devlink_rate, &devlink->rate_list, list) { in devl_rate_nodes_destroy()
841 list_for_each_entry_safe(devlink_rate, tmp, &devlink->rate_list, list) { in devl_rate_nodes_destroy()