Hi Kevin,
Sorry I know I said that I would get a spare moment to do this work over a month ago, but the University of Manchester's elves are very busy this time of year! Here are the changes you requested...
Please let me know if there are issues building. I still don't much understand why that last series had a problem.
Changes from v3: - [XX/05] Modified the use of __nf_kptr_t in the xtables plugin structs to use a union, with the original struct as a member. This trick allows for removal of the heavy casting in the kernel which was required in the earlier version. - [XX/05] Squashed many of the commits (those from the xtables plugin header files) into a single commit, since each individual commit now makes far fewer changes.
Testing: - Tested with purecap iptables tests (nftables only), passing 65/68 tests. Those which fail are expected to fail at this point, due primarily to improperly written test cases, or missing versions of userspace tooling.
Joshua Lant (5): netfilter: Create new type for kernel pointers. x_tables.h: pointers to unions in uapi struct xt plugins: pointers to unions in uapi struct ebtables: pointers to unions in uapi struct xtables: move include to headers
include/linux/netfilter.h | 6 +++++ include/uapi/linux/netfilter.h | 8 ++++++ include/uapi/linux/netfilter/x_tables.h | 18 +++++++++++-- include/uapi/linux/netfilter/xt_CT.h | 10 +++++-- include/uapi/linux/netfilter/xt_IDLETIMER.h | 12 +++++++-- include/uapi/linux/netfilter/xt_RATEEST.h | 6 ++++- include/uapi/linux/netfilter/xt_TEE.h | 6 ++++- include/uapi/linux/netfilter/xt_bpf.h | 13 +++++++-- include/uapi/linux/netfilter/xt_connlimit.h | 6 ++++- include/uapi/linux/netfilter/xt_hashlimit.h | 24 ++++++++++++++--- include/uapi/linux/netfilter/xt_limit.h | 6 ++++- include/uapi/linux/netfilter/xt_nfacct.h | 12 +++++++-- include/uapi/linux/netfilter/xt_quota.h | 6 ++++- include/uapi/linux/netfilter/xt_rateest.h | 9 +++++-- include/uapi/linux/netfilter/xt_statistic.h | 7 ++++- .../uapi/linux/netfilter_bridge/ebtables.h | 27 +++++++++++++++---- net/netfilter/xt_bpf.c | 1 - net/netfilter/xt_statistic.c | 1 - 18 files changed, 149 insertions(+), 29 deletions(-)