Admittedly, the subject is not quite related anymore yet I kept it to make reviewers recognize this as v4 of the series with same subject. Contained in here are the leftover patches not applied from v3 (patches 4 and 5) which remain unchanged (apart from being reapplied on top of the others) and three new ones addressing feedback from v3 (I put those first because they are follow-ups to already applied ones): * Patch 1 changes nft_is_chain_compatible() to not open-code builtin table and chain traversal as suggested in review of commit e774b15299c27 ("nft: Review is_*_compatible() routines"). * Patch 2 eliminates the weird code I seemed to have written with crossed-eyes after reading too many lines of diff output (commit d4b0d248cc057 ("nft: Reduce indenting level in flush_chain_cache()"). * I found patch 3 in my stack of yet to be submitted patches when addressing feedback for commit 947c51c95edbb ("xtables: Implement per chain rule cache"). Phil Sutter (5): nft: Simplify nft_is_chain_compatible() nft: Simplify flush_chain_cache() xtables: Set errno in nft_rule_check() if chain not found xtables: Fix for inserting rule at wrong position xtables: Do not change ruleset while listing iptables/nft.c | 252 ++++++++++-------- .../ipt-restore/0003-restore-ordering_0 | 94 +++++++ .../testcases/iptables/0005-rule-replace_0 | 38 +++ iptables/xtables-arp.c | 1 + iptables/xtables-eb.c | 1 + iptables/xtables.c | 8 +- 6 files changed, 276 insertions(+), 118 deletions(-) create mode 100755 iptables/tests/shell/testcases/ipt-restore/0003-restore-ordering_0 create mode 100755 iptables/tests/shell/testcases/iptables/0005-rule-replace_0 -- 2.19.0