Since commit <dda987315ca2> ("vdev: make virtual bus use
its device struct"), rte_eal_vdev_init cannot be called
with same name twice.

If several devices with the same driver are needed
(as in the crypto scheduler test), then driver name argument
has to be unique, concatenating the driver name and an index.

Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com>

---

I have tested all PMDs expect for the ARMv8 one, but I assume
it should work as well. Let me know if you see a problem.
---
 test/test/test_cryptodev.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/test/test/test_cryptodev.c b/test/test/test_cryptodev.c
index ca7d6df..9f13171 100644
--- a/test/test/test_cryptodev.c
+++ b/test/test/test_cryptodev.c
@@ -7751,14 +7751,17 @@ test_scheduler_attach_slave_op(void)
        uint8_t sched_id = ts_params->valid_devs[0];
        uint32_t nb_devs, i, nb_devs_attached = 0;
        int ret;
+       char vdev_name[32];
 
        /* create 2 AESNI_MB if necessary */
        nb_devs = rte_cryptodev_count_devtype(
                        RTE_CRYPTODEV_AESNI_MB_PMD);
        if (nb_devs < 2) {
                for (i = nb_devs; i < 2; i++) {
-                       ret = rte_eal_vdev_init(
-                               RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD), NULL);
+                       snprintf(vdev_name, sizeof(vdev_name), "%s_%u",
+                                       RTE_STR(CRYPTODEV_NAME_AESNI_MB_PMD),
+                                       i);
+                       ret = rte_eal_vdev_init(vdev_name, NULL);
 
                        TEST_ASSERT(ret == 0,
                                "Failed to create instance %u of"
-- 
2.7.4

Reply via email to