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 <sucheta.chakrabo...@qlogic.com> Signed-off-by: Gal Pressman <g...@mellanox.com> Reviewed-by: Eran Ben Elisha <era...@mellanox.com> Reviewed-by: Leon Romanovsky <leo...@mellanox.com> --- 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