Commandline parsing was widely identical with iptables and ip6tables. This series adds the necessary code-changes to unify the parsers into a common one. Changes since v2: - Drop quirks for ignoring bogus table names and '-m' options, they likely just hide bugs. - Rewrite empty interface name quirk patch, make arptables-nft print iptables' error message as warning to notify users. - Integrate intrapositioned negation support into the final merge patch and revive iptables' old warning to notify users. Changes since v1: - Fix patch 12, the parser has to check existence of proto_parse callback before dereferencing it. Otherwise arptables-nft segfaults if '-p' option is given. - Patches 13-17 add all the arptables quirks to restore compatibility with arptables-legacy. I didn't consider them important enough to push them unless someone complains. Yet breaking existing scripts is bad indeed. Please consider them RFC: If you consider (one of) them not important, please NACk and I will drop them before pushing. Phil Sutter (13): nft: Introduce builtin_tables_lookup() xshared: Store optstring in xtables_globals nft-shared: Introduce init_cs family ops callback xtables: Simplify addr_mask freeing nft: Add family ops callbacks wrapping different nft_cmd_* functions xtables-standalone: Drop version number from init errors libxtables: Introduce xtables_globals print_help callback arptables: Use standard data structures when parsing nft-arp: Introduce post_parse callback nft-shared: Make nft_check_xt_legacy() family agnostic xtables: Derive xtables_globals from family xtables: arptables accepts empty interface names nft: Merge xtables-arp-standalone.c into xtables-standalone.c include/xtables.h | 2 + iptables/Makefile.am | 2 +- iptables/nft-arp.c | 252 +++++++++- iptables/nft-ipv4.c | 93 ++++ iptables/nft-ipv6.c | 104 +++++ iptables/nft-shared.c | 5 + iptables/nft-shared.h | 24 + iptables/nft.c | 19 +- iptables/nft.h | 2 +- iptables/xshared.h | 2 + iptables/xtables-arp-standalone.c | 65 --- iptables/xtables-arp.c | 749 +----------------------------- iptables/xtables-eb-translate.c | 1 - iptables/xtables-eb.c | 7 +- iptables/xtables-monitor.c | 2 +- iptables/xtables-multi.h | 3 + iptables/xtables-restore.c | 9 +- iptables/xtables-save.c | 6 +- iptables/xtables-standalone.c | 54 ++- iptables/xtables-translate.c | 7 +- iptables/xtables.c | 348 ++++++-------- 21 files changed, 706 insertions(+), 1050 deletions(-) delete mode 100644 iptables/xtables-arp-standalone.c -- 2.33.0