Merge branch 'mlx5_packet_pacing' into rdma.git for-next
Yishai Hadas Says: ==================== Expose raw packet pacing APIs to be used by DEVX based applications. The existing code was refactored to have a single flow with the new raw APIs. ==================== Based on the mlx5-next branch at git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Due to dependencies * branch 'mlx5_packet_pacing': IB/mlx5: Introduce UAPIs to manage packet pacing net/mlx5: Expose raw packet pacing APIs
This commit is contained in:
@@ -518,9 +518,11 @@ struct mlx5_rate_limit {
|
||||
};
|
||||
|
||||
struct mlx5_rl_entry {
|
||||
struct mlx5_rate_limit rl;
|
||||
u16 index;
|
||||
u16 refcount;
|
||||
u8 rl_raw[MLX5_ST_SZ_BYTES(set_pp_rate_limit_context)];
|
||||
u16 index;
|
||||
u64 refcount;
|
||||
u16 uid;
|
||||
u8 dedicated : 1;
|
||||
};
|
||||
|
||||
struct mlx5_rl_table {
|
||||
@@ -1007,6 +1009,9 @@ int mlx5_rl_add_rate(struct mlx5_core_dev *dev, u16 *index,
|
||||
struct mlx5_rate_limit *rl);
|
||||
void mlx5_rl_remove_rate(struct mlx5_core_dev *dev, struct mlx5_rate_limit *rl);
|
||||
bool mlx5_rl_is_in_range(struct mlx5_core_dev *dev, u32 rate);
|
||||
int mlx5_rl_add_rate_raw(struct mlx5_core_dev *dev, void *rl_in, u16 uid,
|
||||
bool dedicated_entry, u16 *index);
|
||||
void mlx5_rl_remove_rate_raw(struct mlx5_core_dev *dev, u16 index);
|
||||
bool mlx5_rl_are_equal(struct mlx5_rate_limit *rl_0,
|
||||
struct mlx5_rate_limit *rl_1);
|
||||
int mlx5_alloc_bfreg(struct mlx5_core_dev *mdev, struct mlx5_sq_bfreg *bfreg,
|
||||
|
@@ -813,7 +813,9 @@ struct mlx5_ifc_qos_cap_bits {
|
||||
u8 reserved_at_4[0x1];
|
||||
u8 packet_pacing_burst_bound[0x1];
|
||||
u8 packet_pacing_typical_size[0x1];
|
||||
u8 reserved_at_7[0x19];
|
||||
u8 reserved_at_7[0x4];
|
||||
u8 packet_pacing_uid[0x1];
|
||||
u8 reserved_at_c[0x14];
|
||||
|
||||
u8 reserved_at_20[0x20];
|
||||
|
||||
@@ -8265,9 +8267,20 @@ struct mlx5_ifc_set_pp_rate_limit_out_bits {
|
||||
u8 reserved_at_40[0x40];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_set_pp_rate_limit_context_bits {
|
||||
u8 rate_limit[0x20];
|
||||
|
||||
u8 burst_upper_bound[0x20];
|
||||
|
||||
u8 reserved_at_40[0x10];
|
||||
u8 typical_packet_size[0x10];
|
||||
|
||||
u8 reserved_at_60[0x120];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_set_pp_rate_limit_in_bits {
|
||||
u8 opcode[0x10];
|
||||
u8 reserved_at_10[0x10];
|
||||
u8 uid[0x10];
|
||||
|
||||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
@@ -8277,14 +8290,7 @@ struct mlx5_ifc_set_pp_rate_limit_in_bits {
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
|
||||
u8 rate_limit[0x20];
|
||||
|
||||
u8 burst_upper_bound[0x20];
|
||||
|
||||
u8 reserved_at_c0[0x10];
|
||||
u8 typical_packet_size[0x10];
|
||||
|
||||
u8 reserved_at_e0[0x120];
|
||||
struct mlx5_ifc_set_pp_rate_limit_context_bits ctx;
|
||||
};
|
||||
|
||||
struct mlx5_ifc_access_register_out_bits {
|
||||
|
@@ -608,7 +608,7 @@ struct mlx5_ifc_tls_cmd_bits {
|
||||
struct mlx5_ifc_tls_resp_bits {
|
||||
u8 syndrome[0x20];
|
||||
u8 stream_id[0x20];
|
||||
u8 reserverd[0x40];
|
||||
u8 reserved[0x40];
|
||||
};
|
||||
|
||||
#define MLX5_TLS_COMMAND_SIZE (0x100)
|
||||
|
Reference in New Issue
Block a user