Prevent double initialization of the KNI subsytem.

v2: added warning trace

Signed-off-by: Marc Sune <marc.sune at bisdn.de>
---
 lib/librte_kni/rte_kni.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index c5a0089..08155db 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -201,6 +201,12 @@ rte_kni_init(unsigned int max_kni_ifaces)
        char obj_name[OBJNAMSIZ];
        char mz_name[RTE_MEMZONE_NAMESIZE];

+       /* Immediately return if KNI is already initialized */
+       if (kni_memzone_pool.initialized) {
+               RTE_LOG(WARNING, KNI, "Double call to rte_kni_init()");
+               return;
+       }
+
        if (max_kni_ifaces == 0) {
                RTE_LOG(ERR, KNI, "Invalid number of max_kni_ifaces %d\n",
                                                        max_kni_ifaces);
-- 
2.1.4

Reply via email to