diff mbox series

[iproute2,1/3] iplink: Validate minimum tx rate is less than maximum tx rate

Message ID 1516110120-32132-2-git-send-email-galp@mellanox.com
State Accepted, archived
Delegated to: stephen hemminger
Headers show
Series Fixes for minimum/maximum VF rate API | expand

Commit Message

Gal Pressman Jan. 16, 2018, 1:41 p.m. UTC
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.chakraborty@qlogic.com>
Signed-off-by: Gal Pressman <galp@mellanox.com>
Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
---
 ip/iplink.c | 8 ++++++++
 1 file changed, 8 insertions(+)
diff mbox series

Patch

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));
 	}