diff options
author | Laura Garcia Liebana <nevola@gmail.com> | 2019-07-31 13:27:46 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-07-31 14:44:46 +0200 |
commit | e8417f7bcbfe20524307557f8687bdd3a665f73e (patch) | |
tree | 2235deb2e5447cf281c92009ce7eee38b4b8ca52 /tests/shell | |
parent | 88849ff15acaada4b0b76870ca48268236c6f30a (diff) |
cache: incorrect flush flag for table/chain
After the new cache system, nft raises a table error flushing a chain in
a transaction.
# nft "flush chain ip nftlb filter-newfarm ; \
add rule ip nftlb filter-newfarm update \
@persist-newfarm { ip saddr : ct mark } ; \
flush chain ip nftlb nat-newfarm"
Error: No such file or directory
flush chain ip nftlb filter-newfarm ; add rule ip nftlb (...)
^^^^^
This patch sets the cache flag properly to save this case.
Fixes: 01e5c6f0ed031 ("src: add cache level flags")
Signed-off-by: Laura Garcia Liebana <nevola@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/shell')
-rwxr-xr-x | tests/shell/testcases/cache/0005_cache_chain_flush | 16 | ||||
-rwxr-xr-x | tests/shell/testcases/cache/0006_cache_table_flush | 16 |
2 files changed, 32 insertions, 0 deletions
diff --git a/tests/shell/testcases/cache/0005_cache_chain_flush b/tests/shell/testcases/cache/0005_cache_chain_flush new file mode 100755 index 00000000..7dfe5c1c --- /dev/null +++ b/tests/shell/testcases/cache/0005_cache_chain_flush @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +RULESET="add table ip x +add chain x y +add chain x z +add map ip x mapping { type ipv4_addr : inet_service; flags dynamic,timeout; } +add rule x y counter +add rule x z counter" + +$NFT -f - <<< "$RULESET" 2>&1 + +RULESET="flush chain x y; add rule x y update @mapping { ip saddr : tcp sport }; flush chain x z" + +$NFT "$RULESET" 2>&1 diff --git a/tests/shell/testcases/cache/0006_cache_table_flush b/tests/shell/testcases/cache/0006_cache_table_flush new file mode 100755 index 00000000..fa4da97a --- /dev/null +++ b/tests/shell/testcases/cache/0006_cache_table_flush @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +RULESET="add table ip x +add chain x y +add chain x z +add map ip x mapping { type ipv4_addr : inet_service; flags dynamic,timeout; } +add rule x y counter +add rule x z counter" + +$NFT -f - <<< "$RULESET" 2>&1 + +RULESET="flush table x; add rule x y update @mapping { ip saddr : tcp sport }; flush chain x z" + +$NFT "$RULESET" 2>&1 |