From 56ca2432526ac14cc677b7da1262f027c7cf34be Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Fri, 30 Apr 2021 00:30:05 +0200 Subject: src: unbreak deletion by table handle Use NFTA_TABLE_HANDLE instead of NFTA_TABLE_NAME to refer to the table 64-bit unique handle. Fixes: 7840b9224d5b ("evaluate: remove table from cache on delete table") Fixes: f8aec603aa7e ("src: initial extended netlink error reporting") Signed-off-by: Pablo Neira Ayuso --- src/evaluate.c | 3 +++ src/mnl.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/evaluate.c b/src/evaluate.c index a6bb1792..c52309f4 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -4335,6 +4335,9 @@ static void table_del_cache(struct eval_ctx *ctx, struct cmd *cmd) { struct table *table; + if (!cmd->handle.table.name) + return; + table = table_lookup(&cmd->handle, &ctx->nft->cache); if (!table) return; diff --git a/src/mnl.c b/src/mnl.c index d5ea87d8..1a8e8105 100644 --- a/src/mnl.c +++ b/src/mnl.c @@ -960,7 +960,7 @@ int mnl_nft_table_del(struct netlink_ctx *ctx, struct cmd *cmd) mnl_attr_put_strz(nlh, NFTA_TABLE_NAME, cmd->handle.table.name); } else if (cmd->handle.handle.id) { cmd_add_loc(cmd, nlh->nlmsg_len, &cmd->handle.handle.location); - mnl_attr_put_u64(nlh, NFTA_TABLE_NAME, + mnl_attr_put_u64(nlh, NFTA_TABLE_HANDLE, htobe64(cmd->handle.handle.id)); } nftnl_table_nlmsg_build_payload(nlh, nlt); -- cgit v1.2.3