Lines Matching +refs:rate +refs:id +refs:attrs

27 	devlink_port = devlink_port_get_from_attrs(devlink, info->attrs);  in devlink_rate_leaf_get_from_info()
48 devlink_rate_node_get_from_attrs(struct devlink *devlink, struct nlattr **attrs) in devlink_rate_node_get_from_attrs() argument
53 if (!attrs[DEVLINK_ATTR_RATE_NODE_NAME]) in devlink_rate_node_get_from_attrs()
55 rate_node_name = nla_data(attrs[DEVLINK_ATTR_RATE_NODE_NAME]); in devlink_rate_node_get_from_attrs()
67 return devlink_rate_node_get_from_attrs(devlink, info->attrs); in devlink_rate_node_get_from_info()
73 struct nlattr **attrs = info->attrs; in devlink_rate_get_from_info() local
75 if (attrs[DEVLINK_ATTR_PORT_INDEX]) in devlink_rate_get_from_info()
77 else if (attrs[DEVLINK_ATTR_RATE_NODE_NAME]) in devlink_rate_get_from_info()
193 u32 id = NETLINK_CB(cb->skb).portid; in devlink_nl_rate_get_dump_one() local
199 err = devlink_nl_rate_fill(msg, devlink_rate, cmd, id, in devlink_nl_rate_get_dump_one()
324 struct nlattr *nla_parent, **attrs = info->attrs; in devlink_nl_rate_set() local
328 u64 rate; in devlink_nl_rate_set() local
330 if (attrs[DEVLINK_ATTR_RATE_TX_SHARE]) { in devlink_nl_rate_set()
331 rate = nla_get_u64(attrs[DEVLINK_ATTR_RATE_TX_SHARE]); in devlink_nl_rate_set()
334 rate, info->extack); in devlink_nl_rate_set()
337 rate, info->extack); in devlink_nl_rate_set()
340 devlink_rate->tx_share = rate; in devlink_nl_rate_set()
343 if (attrs[DEVLINK_ATTR_RATE_TX_MAX]) { in devlink_nl_rate_set()
344 rate = nla_get_u64(attrs[DEVLINK_ATTR_RATE_TX_MAX]); in devlink_nl_rate_set()
347 rate, info->extack); in devlink_nl_rate_set()
350 rate, info->extack); in devlink_nl_rate_set()
353 devlink_rate->tx_max = rate; in devlink_nl_rate_set()
356 if (attrs[DEVLINK_ATTR_RATE_TX_PRIORITY]) { in devlink_nl_rate_set()
357 priority = nla_get_u32(attrs[DEVLINK_ATTR_RATE_TX_PRIORITY]); in devlink_nl_rate_set()
370 if (attrs[DEVLINK_ATTR_RATE_TX_WEIGHT]) { in devlink_nl_rate_set()
371 weight = nla_get_u32(attrs[DEVLINK_ATTR_RATE_TX_WEIGHT]); in devlink_nl_rate_set()
384 nla_parent = attrs[DEVLINK_ATTR_RATE_PARENT_NODE_NAME]; in devlink_nl_rate_set()
399 struct nlattr **attrs = info->attrs; in devlink_rate_set_ops_supported() local
402 if (attrs[DEVLINK_ATTR_RATE_TX_SHARE] && !ops->rate_leaf_tx_share_set) { in devlink_rate_set_ops_supported()
406 if (attrs[DEVLINK_ATTR_RATE_TX_MAX] && !ops->rate_leaf_tx_max_set) { in devlink_rate_set_ops_supported()
410 if (attrs[DEVLINK_ATTR_RATE_PARENT_NODE_NAME] && in devlink_rate_set_ops_supported()
415 if (attrs[DEVLINK_ATTR_RATE_TX_PRIORITY] && !ops->rate_leaf_tx_priority_set) { in devlink_rate_set_ops_supported()
417 attrs[DEVLINK_ATTR_RATE_TX_PRIORITY], in devlink_rate_set_ops_supported()
421 if (attrs[DEVLINK_ATTR_RATE_TX_WEIGHT] && !ops->rate_leaf_tx_weight_set) { in devlink_rate_set_ops_supported()
423 attrs[DEVLINK_ATTR_RATE_TX_WEIGHT], in devlink_rate_set_ops_supported()
428 if (attrs[DEVLINK_ATTR_RATE_TX_SHARE] && !ops->rate_node_tx_share_set) { in devlink_rate_set_ops_supported()
432 if (attrs[DEVLINK_ATTR_RATE_TX_MAX] && !ops->rate_node_tx_max_set) { in devlink_rate_set_ops_supported()
436 if (attrs[DEVLINK_ATTR_RATE_PARENT_NODE_NAME] && in devlink_rate_set_ops_supported()
441 if (attrs[DEVLINK_ATTR_RATE_TX_PRIORITY] && !ops->rate_node_tx_priority_set) { in devlink_rate_set_ops_supported()
443 attrs[DEVLINK_ATTR_RATE_TX_PRIORITY], in devlink_rate_set_ops_supported()
447 if (attrs[DEVLINK_ATTR_RATE_TX_WEIGHT] && !ops->rate_node_tx_weight_set) { in devlink_rate_set_ops_supported()
449 attrs[DEVLINK_ATTR_RATE_TX_WEIGHT], in devlink_rate_set_ops_supported()
499 rate_node = devlink_rate_node_get_from_attrs(devlink, info->attrs); in devlink_nl_cmd_rate_new_doit()
511 rate_node->name = nla_strdup(info->attrs[DEVLINK_ATTR_RATE_NODE_NAME], GFP_KERNEL); in devlink_nl_cmd_rate_new_doit()