On Fri, Apr 21, 2023 at 07:40:11PM +0200, Phil Sutter wrote: > nft-shared.c was already oversized, upcoming enhancement of the > nftnl_rule parser will add to that. So prepare any further work in that > field by creating a common 'nft-ruleparse.c' source and one for each > family to hold all the parsing code (basically the stack below > nft_rule_to_iptables_command_state). > > Collect the existing expression parsing callbacks in a new struct > nft_ruleparse_ops and add a pointer to it into nft_family_ops. This way > the callbacks may be static and the nft-ruleparse-<family>.c sources > only export their ops object. > > This series does things somewhat gradually: > > * First pull everything from nft-shared.c into nft-ruleparse.c (likewise > with header files) > * Then perform the *_ops struct changes which should not have a > functional implication > * Finally weed parsers from nft-<family>.c files into > nft-ruleparse-<family>.c ones. Series applied after rebasing it onto current HEAD - the previous arptables-related fixes caused a minor conflict.