[dpdk-dev] [PATCH] lpm: set errno on creation error

Igor Ryzhov iryzhov at nfware.com
Tue Oct 24 15:28:30 CEST 2017


Signed-off-by: Igor Ryzhov <iryzhov at nfware.com>
---
 lib/librte_lpm/rte_lpm.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 64c074e..140dbb2 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -218,6 +218,7 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules,
 	te = rte_zmalloc("LPM_TAILQ_ENTRY", sizeof(*te), 0);
 	if (te == NULL) {
 		RTE_LOG(ERR, LPM, "Failed to allocate tailq entry\n");
+		rte_errno = ENOMEM;
 		goto exit;
 	}
 
@@ -227,6 +228,7 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules,
 	if (lpm == NULL) {
 		RTE_LOG(ERR, LPM, "LPM memory allocation failed\n");
 		rte_free(te);
+		rte_errno = ENOMEM;
 		goto exit;
 	}
 
@@ -292,6 +294,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,
 	te = rte_zmalloc("LPM_TAILQ_ENTRY", sizeof(*te), 0);
 	if (te == NULL) {
 		RTE_LOG(ERR, LPM, "Failed to allocate tailq entry\n");
+		rte_errno = ENOMEM;
 		goto exit;
 	}
 
@@ -301,6 +304,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,
 	if (lpm == NULL) {
 		RTE_LOG(ERR, LPM, "LPM memory allocation failed\n");
 		rte_free(te);
+		rte_errno = ENOMEM;
 		goto exit;
 	}
 
@@ -312,6 +316,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,
 		rte_free(lpm);
 		lpm = NULL;
 		rte_free(te);
+		rte_errno = ENOMEM;
 		goto exit;
 	}
 
@@ -324,6 +329,7 @@ rte_lpm_create_v1604(const char *name, int socket_id,
 		rte_free(lpm);
 		lpm = NULL;
 		rte_free(te);
+		rte_errno = ENOMEM;
 		goto exit;
 	}
 
-- 
2.6.4



More information about the dev mailing list