net/mlx5: E-switch, Introduce rate limiting groups API
Extend eswitch API with rate limiting groups: - Define new struct mlx5_esw_rate_group that is used to hold all internal group data. - Implement functions that allow creation, destruction and cleanup of groups. - Assign all vports to internal unlimited zero group by default. This commit lays the groundwork for group rate limiting by implementing devlink_ops->rate_node_{new|del}() callbacks to support creating and deleting groups through devlink rate node objects. APIs that allows setting rates and adding/removing members are implemented in following patches. Co-developed-by:Vlad Buslov <vladbu@nvidia.com> Signed-off-by:
Vlad Buslov <vladbu@nvidia.com> Signed-off-by:
Dmytro Linkin <dlinkin@nvidia.com> Reviewed-by:
Huy Nguyen <huyn@nvidia.com> Reviewed-by:
Mark Bloch <mbloch@nvidia.com> Reviewed-by:
Parav Pandit <parav@nvidia.com> Reviewed-by:
Saeed Mahameed <saeedm@nvidia.com>
Showing
- drivers/net/ethernet/mellanox/mlx5/core/devlink.c 2 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/devlink.c
- drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c 136 additions, 5 deletionsdrivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
- drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h 4 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h 1 addition, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/eswitch.h
- include/linux/mlx5/mlx5_ifc.h 2 additions, 1 deletioninclude/linux/mlx5/mlx5_ifc.h
Loading
Please register or sign in to comment