X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_lpm%2Frte_lpm.c;h=d00b13d9310563acc69797ab06a8cc77e6ec43f9;hb=d5eb8edca2135501983246d6289e08c12fde45a1;hp=5ba595e2227f76aba9d2f503b9082eb1f54de854;hpb=b2e1c99ec8e22546e80454c9559db1c108394628;p=dpdk.git diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c index 5ba595e222..d00b13d931 100644 --- a/lib/librte_lpm/rte_lpm.c +++ b/lib/librte_lpm/rte_lpm.c @@ -99,7 +99,7 @@ rte_lpm_find_existing_v20(const char *name) rte_rwlock_read_lock(RTE_EAL_TAILQ_RWLOCK); TAILQ_FOREACH(te, lpm_list, next) { - l = (struct rte_lpm_v20 *) te->data; + l = te->data; if (strncmp(name, l->name, RTE_LPM_NAMESIZE) == 0) break; } @@ -125,7 +125,7 @@ rte_lpm_find_existing_v1604(const char *name) rte_rwlock_read_lock(RTE_EAL_TAILQ_RWLOCK); TAILQ_FOREACH(te, lpm_list, next) { - l = (struct rte_lpm *) te->data; + l = te->data; if (strncmp(name, l->name, RTE_LPM_NAMESIZE) == 0) break; } @@ -174,12 +174,13 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules, /* guarantee there's no existing */ TAILQ_FOREACH(te, lpm_list, next) { - lpm = (struct rte_lpm_v20 *) te->data; + lpm = te->data; if (strncmp(name, lpm->name, RTE_LPM_NAMESIZE) == 0) break; } - lpm = NULL; + if (te != NULL) { + lpm = NULL; rte_errno = EEXIST; goto exit; } @@ -193,7 +194,7 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules, } /* Allocate memory to store the LPM data structures. */ - lpm = (struct rte_lpm_v20 *)rte_zmalloc_socket(mem_name, mem_size, + lpm = rte_zmalloc_socket(mem_name, mem_size, RTE_CACHE_LINE_SIZE, socket_id); if (lpm == NULL) { RTE_LOG(ERR, LPM, "LPM memory allocation failed\n"); @@ -206,7 +207,7 @@ rte_lpm_create_v20(const char *name, int socket_id, int max_rules, lpm->max_rules = max_rules; snprintf(lpm->name, sizeof(lpm->name), "%s", name); - te->data = (void *) lpm; + te->data = lpm; TAILQ_INSERT_TAIL(lpm_list, te, next); @@ -250,12 +251,13 @@ rte_lpm_create_v1604(const char *name, int socket_id, /* guarantee there's no existing */ TAILQ_FOREACH(te, lpm_list, next) { - lpm = (struct rte_lpm *) te->data; + lpm = te->data; if (strncmp(name, lpm->name, RTE_LPM_NAMESIZE) == 0) break; } - lpm = NULL; + if (te != NULL) { + lpm = NULL; rte_errno = EEXIST; goto exit; } @@ -269,7 +271,7 @@ rte_lpm_create_v1604(const char *name, int socket_id, } /* Allocate memory to store the LPM data structures. */ - lpm = (struct rte_lpm *)rte_zmalloc_socket(mem_name, mem_size, + lpm = rte_zmalloc_socket(mem_name, mem_size, RTE_CACHE_LINE_SIZE, socket_id); if (lpm == NULL) { RTE_LOG(ERR, LPM, "LPM memory allocation failed\n"); @@ -278,7 +280,7 @@ rte_lpm_create_v1604(const char *name, int socket_id, goto exit; } - lpm->rules_tbl = (struct rte_lpm_rule *)rte_zmalloc_socket(NULL, + lpm->rules_tbl = rte_zmalloc_socket(NULL, (size_t)rules_size, RTE_CACHE_LINE_SIZE, socket_id); if (lpm->rules_tbl == NULL) { @@ -290,7 +292,7 @@ rte_lpm_create_v1604(const char *name, int socket_id, goto exit; } - lpm->tbl8 = (struct rte_lpm_tbl_entry *)rte_zmalloc_socket(NULL, + lpm->tbl8 = rte_zmalloc_socket(NULL, (size_t)tbl8s_size, RTE_CACHE_LINE_SIZE, socket_id); if (lpm->tbl8 == NULL) { @@ -308,7 +310,7 @@ rte_lpm_create_v1604(const char *name, int socket_id, lpm->number_tbl8s = config->number_tbl8s; snprintf(lpm->name, sizeof(lpm->name), "%s", name); - te->data = (void *) lpm; + te->data = lpm; TAILQ_INSERT_TAIL(lpm_list, te, next);