mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep
commit e401a1848be87123a2b2049addbf21138cb47081 upstream.
Since the implementation relies on limiting the VF transmit rate to
simulate ingress rate limiting, and since either uplink representor or
ecpf are not associated with a VF, we limit the rate limit configuration
for those ports.
Fixes: fcb64c0f56 ("net/mlx5: E-Switch, add ingress rate support")
Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b20f5fb7d4
commit
8a3b1a86d4
1 changed files with 7 additions and 2 deletions
|
|
@ -3951,6 +3951,13 @@ static int apply_police_params(struct mlx5e_priv *priv, u32 rate,
|
|||
u32 rate_mbps;
|
||||
int err;
|
||||
|
||||
vport_num = rpriv->rep->vport;
|
||||
if (vport_num >= MLX5_VPORT_ECPF) {
|
||||
NL_SET_ERR_MSG_MOD(extack,
|
||||
"Ingress rate limit is supported only for Eswitch ports connected to VFs");
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
esw = priv->mdev->priv.eswitch;
|
||||
/* rate is given in bytes/sec.
|
||||
* First convert to bits/sec and then round to the nearest mbit/secs.
|
||||
|
|
@ -3959,8 +3966,6 @@ static int apply_police_params(struct mlx5e_priv *priv, u32 rate,
|
|||
* 1 mbit/sec.
|
||||
*/
|
||||
rate_mbps = rate ? max_t(u32, (rate * 8 + 500000) / 1000000, 1) : 0;
|
||||
vport_num = rpriv->rep->vport;
|
||||
|
||||
err = mlx5_esw_modify_vport_rate(esw, vport_num, rate_mbps);
|
||||
if (err)
|
||||
NL_SET_ERR_MSG_MOD(extack, "failed applying action to hardware");
|
||||
|
|
|
|||
Loading…
Reference in a new issue