extern struct chain *chain_alloc(const char *name);
extern struct chain *chain_get(struct chain *chain);
extern void chain_free(struct chain *chain);
-extern struct chain *chain_lookup(const struct table *table,
- const struct handle *h);
extern struct chain *chain_lookup_fuzzy(const struct handle *h,
const struct nft_cache *cache,
const struct table **table);
return table_not_found(ctx);
if (chain == NULL) {
- if (chain_lookup(table, &ctx->cmd->handle) == NULL) {
+ if (chain_cache_find(table, &ctx->cmd->handle) == NULL) {
chain = chain_alloc(NULL);
handle_merge(&chain->handle, &ctx->cmd->handle);
chain_cache_add(chain, table);
}
return 0;
} else if (!(chain->flags & CHAIN_F_BINDING)) {
- if (chain_lookup(table, &chain->handle) == NULL)
+ if (chain_cache_find(table, &chain->handle) == NULL)
chain_cache_add(chain_get(chain), table);
}
if (table == NULL)
return table_not_found(ctx);
- if (chain_lookup(table, &cmd->handle) == NULL)
+ if (chain_cache_find(table, &cmd->handle) == NULL)
return chain_not_found(ctx);
return 0;
if (table == NULL)
return table_not_found(ctx);
- if (chain_lookup(table, &ctx->cmd->handle) == NULL)
+ if (chain_cache_find(table, &ctx->cmd->handle) == NULL)
return chain_not_found(ctx);
break;
xfree(chain);
}
-struct chain *chain_lookup(const struct table *table, const struct handle *h)
-{
- struct chain *chain;
-
- list_for_each_entry(chain, &table->cache_chain, cache_list) {
- if (!strcmp(chain->handle.chain.name, h->chain.name))
- return chain;
- }
- return NULL;
-}
-
struct chain *chain_binding_lookup(const struct table *table,
const char *chain_name)
{
switch (cmd->obj) {
case CMD_OBJ_CHAIN:
- chain = chain_lookup(table, &cmd->handle);
+ chain = chain_cache_find(table, &cmd->handle);
return mnl_nft_chain_rename(ctx, cmd, chain);
default: