lpm: set errno on creation error
authorIgor Ryzhov <iryzhov@nfware.com>
Tue, 24 Oct 2017 13:28:30 +0000 (16:28 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 24 Oct 2017 19:35:53 +0000 (21:35 +0200)
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_lpm/rte_lpm.c

index 64c074e..140dbb2 100644 (file)
@@ -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");
        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;
        }
 
                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);
        if (lpm == NULL) {
                RTE_LOG(ERR, LPM, "LPM memory allocation failed\n");
                rte_free(te);
+               rte_errno = ENOMEM;
                goto exit;
        }
 
                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");
        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;
        }
 
                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);
        if (lpm == NULL) {
                RTE_LOG(ERR, LPM, "LPM memory allocation failed\n");
                rte_free(te);
+               rte_errno = ENOMEM;
                goto exit;
        }
 
                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_free(lpm);
                lpm = NULL;
                rte_free(te);
+               rte_errno = ENOMEM;
                goto exit;
        }
 
                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_free(lpm);
                lpm = NULL;
                rte_free(te);
+               rte_errno = ENOMEM;
                goto exit;
        }
 
                goto exit;
        }