aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/dpdk/device/device.c7
-rw-r--r--src/plugins/dpdk/device/init.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/dpdk/device/device.c b/src/plugins/dpdk/device/device.c
index e58dd6f4228..532987c3130 100644
--- a/src/plugins/dpdk/device/device.c
+++ b/src/plugins/dpdk/device/device.c
@@ -639,6 +639,13 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm,
}));
/* *INDENT-ON* */
+ /* check valid_queue_count not zero, make coverity happy */
+ if (valid_queue_count == 0)
+ {
+ err = clib_error_return (0, "must assign at least one valid rss queue");
+ goto done;
+ }
+
valid_queue = reta;
for (i = valid_queue_count, j = 0; i < dev_info.reta_size; i++, j++)
{
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c
index 81803ab1cb4..d07acd644a2 100644
--- a/src/plugins/dpdk/device/init.c
+++ b/src/plugins/dpdk/device/init.c
@@ -759,7 +759,7 @@ dpdk_lib_init (dpdk_main_t * dm)
dpdk_device_setup (xd);
/* rss queues should be configured after dpdk_device_setup() */
- if (devconf->rss_queues != NULL)
+ if ((hi != NULL) && (devconf->rss_queues != NULL))
{
if (vnet_hw_interface_set_rss_queues
(vnet_get_main (), hi, devconf->rss_queues))