On Fri, Nov 03, 2023 at 05:01:29PM +0100, Florian Westphal wrote: > Phil Sutter <phil@xxxxxx> wrote: > > Hmm. This is a partial revert of 44457c0805905 ("xtables-arp: Don't use > > ARPT_INV_*") and therefore very likely incomplete - e.g. it does not > > reinstate ipt_to_arpt_flags() which was used in nft_arp_parse_meta(). > > > > Above commit introduced IPT_INV_SRCDEVADDR in the first place, iptables > > does not make use of it. > > > > A revert of that commit requires a thorough review of later changes in > > arptables code as it may have allowed for some code-sharing which is no > > longer possible then. So please hold back with this a bit, I'll check if > > any follow-ups are required. > > Well, in that case it might be better to convert libarpt_mangle.c > AND remove all of the ARTP_INV? Indeed, I broke the checks for ARPT_INV_ARPHLN in there. That needs a fix either way. The ARPT_INV_* defines are part of UAPI. They can't be removed without breaking (or also converting?) legacy arptables. Either way, we're breaking third-party arptables DSOs using them. Right now, they are only broken with arptables-nft. No idea if such DSOs exist, but if compatibility is to be taken seriously, there's no way around reverting above commit (and reintroducing do_commandarp() or at least a wrapper around the shared do_parse()). Cheers, Phil