diff options
-rw-r--r-- | src/plugins/dpdk/device/device.c | 7 | ||||
-rw-r--r-- | src/plugins/dpdk/device/init.c | 2 |
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)) |