According to the documentation (man ip-link), the minimum TXRATE should
be always <= Maximum TXRATE, but commit f89a2a05ffa9 ("Add support to
configure SR-IOV VF minimum and maximum Tx rate through ip tool") didn't
enforce it.
Fixes: f89a2a05ffa9 ("Add support to configure SR-IOV VF minimum and maximum Tx
rate through ip tool")
Cc: Sucheta Chakraborty <[email protected]>
Signed-off-by: Gal Pressman <[email protected]>
Reviewed-by: Eran Ben Elisha <[email protected]>
Reviewed-by: Leon Romanovsky <[email protected]>
---
ip/iplink.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/ip/iplink.c b/ip/iplink.c
index 4c96711..22c9a29 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -539,6 +539,14 @@ static int iplink_parse_vf(int vf, int *argcp, char
***argvp,
if (tivt.max_tx_rate == -1)
tivt.max_tx_rate = tmax;
}
+
+ if (tivt.max_tx_rate && tivt.min_tx_rate > tivt.max_tx_rate) {
+ fprintf(stderr,
+ "Invalid min_tx_rate %d - must be <=
max_tx_rate %d\n",
+ tivt.min_tx_rate, tivt.max_tx_rate);
+ return -1;
+ }
+
addattr_l(&req->n, sizeof(*req), IFLA_VF_RATE, &tivt,
sizeof(tivt));
}
--
2.7.4