From 12a22b874a4852996dcec56ae30c7a17551bfeeb Mon Sep 17 00:00:00 2001
From: wuchangsheng <wuchangsheng2@huawei.com>
Date: Thu, 6 Oct 2022 16:35:16 +0800
Subject: [PATCH] reinit support return ok

---
 lib/eal/linux/eal.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index 7ca8bb2..fc2a7fd 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -1055,6 +1055,7 @@ rte_eal_init(int argc, char **argv)
 	int i, fctret, ret;
 	pthread_t thread_id;
 	static uint32_t run_once;
+       static uint32_t reinit_ok = 0;
 	uint32_t has_run = 0;
 	const char *p;
 	static char logid[PATH_MAX];
@@ -1072,8 +1073,15 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
+       if (argc > 1 && !strncmp(argv[1], "reinit-ok", strlen("reinit-ok"))) {
+               reinit_ok = 1;
+       }
+
 	if (!__atomic_compare_exchange_n(&run_once, &has_run, 1, 0,
 					__ATOMIC_RELAXED, __ATOMIC_RELAXED)) {
+               if (reinit_ok) {
+                       return 0;
+               }
 		rte_eal_init_alert("already called initialization.");
 		rte_errno = EALREADY;
 		return -1;
-- 
2.27.0

