On 7/25/2019 6:14 PM, Pablo Neira Ayuso wrote: > On Tue, Jul 23, 2019 at 08:52:39PM +0800, wenxu@xxxxxxxxx wrote: >> From: wenxu <wenxu@xxxxxxxxx> >> >> There will be zero one or serval actions for some expr. such as >> payload set and immediate >> >> Signed-off-by: wenxu <wenxu@xxxxxxxxx> >> --- >> include/net/netfilter/nf_tables.h | 7 ++++++- >> include/net/netfilter/nf_tables_offload.h | 2 -- >> net/netfilter/nf_tables_offload.c | 4 ++-- >> net/netfilter/nft_immediate.c | 2 +- >> 4 files changed, 9 insertions(+), 6 deletions(-) >> >> diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h >> index 9b62456..9285df2 100644 >> --- a/include/net/netfilter/nf_tables.h >> +++ b/include/net/netfilter/nf_tables.h >> @@ -785,7 +785,7 @@ struct nft_expr_ops { >> int (*offload)(struct nft_offload_ctx *ctx, >> struct nft_flow_rule *flow, >> const struct nft_expr *expr); >> - u32 offload_flags; >> + int (*offload_actions)(const struct nft_expr *expr); > I don't understand why you need to add this? is it for payload? yes it is used for set payload and immediately actions. It maybe splited to several actions. The immediate action may conatian 1 or 0 actions >