devlink: Add relation between dpipe and resource
The hardware processes which are modeled via dpipe commonly use some internal hardware resources. Such relation can improve the understanding of hardware limitations. The number of resource's unit consumed per table's entry are also provided for each table. Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
2d8dc5bbf4
commit
56dc7cd0a8
@@ -183,6 +183,9 @@ struct devlink_dpipe_table_ops;
|
||||
* @counters_enabled: indicates if counters are active
|
||||
* @counter_control_extern: indicates if counter control is in dpipe or
|
||||
* external tool
|
||||
* @resource_valid: Indicate that the resource id is valid
|
||||
* @resource_id: relative resource this table is related to
|
||||
* @resource_units: number of resource's unit consumed per table's entry
|
||||
* @table_ops: table operations
|
||||
* @rcu: rcu
|
||||
*/
|
||||
@@ -192,6 +195,9 @@ struct devlink_dpipe_table {
|
||||
const char *name;
|
||||
bool counters_enabled;
|
||||
bool counter_control_extern;
|
||||
bool resource_valid;
|
||||
u64 resource_id;
|
||||
u64 resource_units;
|
||||
struct devlink_dpipe_table_ops *table_ops;
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
@@ -403,6 +409,9 @@ void devlink_resources_unregister(struct devlink *devlink,
|
||||
int devlink_resource_size_get(struct devlink *devlink,
|
||||
u64 resource_id,
|
||||
u64 *p_resource_size);
|
||||
int devlink_dpipe_table_resource_set(struct devlink *devlink,
|
||||
const char *table_name, u64 resource_id,
|
||||
u64 resource_units);
|
||||
|
||||
#else
|
||||
|
||||
@@ -566,6 +575,14 @@ devlink_resource_size_get(struct devlink *devlink, u64 resource_id,
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static inline int
|
||||
devlink_dpipe_table_resource_set(struct devlink *devlink,
|
||||
const char *table_name, u64 resource_id,
|
||||
u64 resource_units)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _NET_DEVLINK_H_ */
|
||||
|
Reference in New Issue
Block a user