Lines Matching defs:info
22 devlink_rate_leaf_get_from_info(struct devlink *devlink, struct genl_info *info)
27 devlink_port = devlink_port_get_from_attrs(devlink, info->attrs);
65 devlink_rate_node_get_from_info(struct devlink *devlink, struct genl_info *info)
67 return devlink_rate_node_get_from_attrs(devlink, info->attrs);
71 devlink_rate_get_from_info(struct devlink *devlink, struct genl_info *info)
73 struct nlattr **attrs = info->attrs;
76 return devlink_rate_leaf_get_from_info(devlink, info);
78 return devlink_rate_node_get_from_info(devlink, info);
216 int devlink_nl_rate_get_doit(struct sk_buff *skb, struct genl_info *info)
218 struct devlink *devlink = info->user_ptr[0];
223 devlink_rate = devlink_rate_get_from_info(devlink, info);
232 info->snd_portid, info->snd_seq, 0,
233 info->extack);
239 return genlmsg_reply(msg, info);
256 struct genl_info *info,
272 info->extack);
276 info->extack);
288 NL_SET_ERR_MSG(info->extack, "Parent to self is not allowed");
294 NL_SET_ERR_MSG(info->extack, "Node is already a parent of parent node.");
301 info->extack);
305 info->extack);
322 struct genl_info *info)
324 struct nlattr *nla_parent, **attrs = info->attrs;
334 rate, info->extack);
337 rate, info->extack);
347 rate, info->extack);
350 rate, info->extack);
360 priority, info->extack);
363 priority, info->extack);
374 weight, info->extack);
377 weight, info->extack);
386 err = devlink_nl_rate_parent_node_set(devlink_rate, info,
396 struct genl_info *info,
399 struct nlattr **attrs = info->attrs;
403 NL_SET_ERR_MSG(info->extack, "TX share set isn't supported for the leafs");
407 NL_SET_ERR_MSG(info->extack, "TX max set isn't supported for the leafs");
412 NL_SET_ERR_MSG(info->extack, "Parent set isn't supported for the leafs");
416 NL_SET_ERR_MSG_ATTR(info->extack,
422 NL_SET_ERR_MSG_ATTR(info->extack,
429 NL_SET_ERR_MSG(info->extack, "TX share set isn't supported for the nodes");
433 NL_SET_ERR_MSG(info->extack, "TX max set isn't supported for the nodes");
438 NL_SET_ERR_MSG(info->extack, "Parent set isn't supported for the nodes");
442 NL_SET_ERR_MSG_ATTR(info->extack,
448 NL_SET_ERR_MSG_ATTR(info->extack,
461 int devlink_nl_cmd_rate_set_doit(struct sk_buff *skb, struct genl_info *info)
463 struct devlink *devlink = info->user_ptr[0];
468 devlink_rate = devlink_rate_get_from_info(devlink, info);
473 if (!ops || !devlink_rate_set_ops_supported(ops, info, devlink_rate->type))
476 err = devlink_nl_rate_set(devlink_rate, ops, info);
483 int devlink_nl_cmd_rate_new_doit(struct sk_buff *skb, struct genl_info *info)
485 struct devlink *devlink = info->user_ptr[0];
492 NL_SET_ERR_MSG(info->extack, "Rate nodes aren't supported");
496 if (!devlink_rate_set_ops_supported(ops, info, DEVLINK_RATE_TYPE_NODE))
499 rate_node = devlink_rate_node_get_from_attrs(devlink, info->attrs);
511 rate_node->name = nla_strdup(info->attrs[DEVLINK_ATTR_RATE_NODE_NAME], GFP_KERNEL);
517 err = ops->rate_node_new(rate_node, &rate_node->priv, info->extack);
521 err = devlink_nl_rate_set(rate_node, ops, info);
531 ops->rate_node_del(rate_node, rate_node->priv, info->extack);
539 int devlink_nl_cmd_rate_del_doit(struct sk_buff *skb, struct genl_info *info)
541 struct devlink *devlink = info->user_ptr[0];
545 rate_node = devlink_rate_node_get_from_info(devlink, info);
550 NL_SET_ERR_MSG(info->extack, "Node has children. Cannot delete node.");
556 info->extack);