aboutsummaryrefslogtreecommitdiffstats
path: root/lib/librte_ether/rte_ethdev.c
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2018-08-29 19:00:48 +0100
committerLuca Boccassi <luca.boccassi@gmail.com>2018-08-29 19:00:53 +0100
commitcf8d7fb48307479d0f6c8d16a17332fdf9be0fb3 (patch)
treea073dec0d3c8f5fb6d023b2e8e2e004fdf83bd14 /lib/librte_ether/rte_ethdev.c
parent5e15744b6ce0be444d1820387f54424343b728f6 (diff)
parent8e6d9d118f6105a3627b64a7949e1fb0b145879e (diff)
Merge tag 'upstream/16.11.8' into 16.11.x
Upstream version 16.11.8 Change-Id: I35e67795fa6968463a7d15c9cd198c178323e92b Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'lib/librte_ether/rte_ethdev.c')
-rw-r--r--lib/librte_ether/rte_ethdev.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a698fc00..9b28e95a 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -1598,6 +1598,16 @@ set_queue_stats_mapping(uint8_t port_id, uint16_t queue_id, uint8_t stat_idx,
dev = &rte_eth_devices[port_id];
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_stats_mapping_set, -ENOTSUP);
+
+ if (is_rx && (queue_id >= dev->data->nb_rx_queues))
+ return -EINVAL;
+
+ if (!is_rx && (queue_id >= dev->data->nb_tx_queues))
+ return -EINVAL;
+
+ if (stat_idx >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
+ return -EINVAL;
+
return (*dev->dev_ops->queue_stats_mapping_set)
(dev, queue_id, stat_idx, is_rx);
}