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 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 (17): 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 nft: Merge xtables-arp-standalone.c into xtables-standalone.c xtables: arptables doesn't warn about empty interface xtables: arptables accepts but ignores '-m' xtables: arptables ignores wrong -t values xtables: Support '!' betwen option and argument nft: Store maximum allowed chain name length in family ops include/xtables.h | 2 + iptables/Makefile.am | 2 +- iptables/nft-arp.c | 253 +++++++++- iptables/nft-ipv4.c | 94 ++++ iptables/nft-ipv6.c | 105 +++++ iptables/nft-shared.c | 5 + iptables/nft-shared.h | 25 + 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 | 336 +++++--------- 21 files changed, 701 insertions(+), 1047 deletions(-) delete mode 100644 iptables/xtables-arp-standalone.c -- 2.33.0