X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_acl%2Frte_acl.c;h=b6ddeebcaf5ec0b853ab18c1532499d7942031f3;hb=a2348166ea186506d45b61d5073d16ad974e79bb;hp=7d103019c3f44d058e33253422b46779c51a0777;hpb=873a61c7526be06f45d8d709a7c56d10cc06ab34;p=dpdk.git diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c index 7d103019c3..b6ddeebcaf 100644 --- a/lib/librte_acl/rte_acl.c +++ b/lib/librte_acl/rte_acl.c @@ -38,6 +38,11 @@ TAILQ_HEAD(rte_acl_list, rte_tailq_entry); +static struct rte_tailq_elem rte_acl_tailq = { + .name = "RTE_ACL", +}; +EAL_REGISTER_TAILQ(rte_acl_tailq) + /* * If the compiler doesn't support AVX2 instructions, * then the dummy one would be used instead for AVX2 classify method. @@ -129,12 +134,7 @@ rte_acl_find_existing(const char *name) struct rte_acl_list *acl_list; struct rte_tailq_entry *te; - /* check that we have an initialised tail queue */ - acl_list = RTE_TAILQ_LOOKUP_BY_IDX(RTE_TAILQ_ACL, rte_acl_list); - if (acl_list == NULL) { - rte_errno = E_RTE_NO_TAILQ; - return NULL; - } + acl_list = RTE_TAILQ_CAST(rte_acl_tailq.head, rte_acl_list); rte_rwlock_read_lock(RTE_EAL_TAILQ_RWLOCK); TAILQ_FOREACH(te, acl_list, next) { @@ -160,12 +160,7 @@ rte_acl_free(struct rte_acl_ctx *ctx) if (ctx == NULL) return; - /* check that we have an initialised tail queue */ - acl_list = RTE_TAILQ_LOOKUP_BY_IDX(RTE_TAILQ_ACL, rte_acl_list); - if (acl_list == NULL) { - rte_errno = E_RTE_NO_TAILQ; - return; - } + acl_list = RTE_TAILQ_CAST(rte_acl_tailq.head, rte_acl_list); rte_rwlock_write_lock(RTE_EAL_TAILQ_RWLOCK); @@ -197,12 +192,7 @@ rte_acl_create(const struct rte_acl_param *param) struct rte_tailq_entry *te; char name[sizeof(ctx->name)]; - /* check that we have an initialised tail queue */ - acl_list = RTE_TAILQ_LOOKUP_BY_IDX(RTE_TAILQ_ACL, rte_acl_list); - if (acl_list == NULL) { - rte_errno = E_RTE_NO_TAILQ; - return NULL; - } + acl_list = RTE_TAILQ_CAST(rte_acl_tailq.head, rte_acl_list); /* check that input parameters are valid. */ if (param == NULL || param->name == NULL) { @@ -365,12 +355,7 @@ rte_acl_list_dump(void) struct rte_acl_list *acl_list; struct rte_tailq_entry *te; - /* check that we have an initialised tail queue */ - acl_list = RTE_TAILQ_LOOKUP_BY_IDX(RTE_TAILQ_ACL, rte_acl_list); - if (acl_list == NULL) { - rte_errno = E_RTE_NO_TAILQ; - return; - } + acl_list = RTE_TAILQ_CAST(rte_acl_tailq.head, rte_acl_list); rte_rwlock_read_lock(RTE_EAL_TAILQ_RWLOCK); TAILQ_FOREACH(te, acl_list, next) {