Re: [PATCH nf-next v3 4/9] netfilter: nft_payload: add nft_set_payload offload support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch is also no this problem.  Because it is based on http://patchwork.ozlabs.org/patch/1140431/

On 8/7/2019 8:18 PM, kbuild test robot wrote:
> Hi,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on nf-next/master]
>
> url:    https://github.com/0day-ci/linux/commits/wenxu-ucloud-cn/netfilter-nf_tables_offload-support-more-expr-and-obj-offload/20190804-144846
> base:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/pablo/nf-next.git master
> config: x86_64-rhel (attached as .config)
> compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
>    net//netfilter/nft_payload.c: In function 'nft_payload_set_offload':
>>> net//netfilter/nft_payload.c:571:36: error: 'struct nft_offload_reg' has no member named 'data'
>      const struct nft_data *data = &reg->data;
>                                        ^~
>
> vim +571 net//netfilter/nft_payload.c
>
>    564	
>    565	static int nft_payload_set_offload(struct nft_offload_ctx *ctx,
>    566					   struct nft_flow_rule *flow,
>    567					   const struct nft_expr *expr)
>    568	{
>    569		const struct nft_payload_set *priv = nft_expr_priv(expr);
>    570		struct nft_offload_reg *reg = &ctx->regs[priv->sreg];
>  > 571		const struct nft_data *data = &reg->data;
>    572		struct flow_action_entry *entry;
>    573		u32 len = priv->len;
>    574		u32 offset, last;
>    575		int n_actions, i;
>    576	
>    577		if (priv->base != NFT_PAYLOAD_LL_HEADER || len > 16)
>    578			return -EOPNOTSUPP;
>    579	
>    580		offset = priv->offset;
>    581		n_actions = len >> 2;
>    582		last = len & 0x3;
>    583	
>    584		for (i = 0; i < n_actions; i++) {
>    585			entry = &flow->rule->action.entries[ctx->num_actions++];
>    586	
>    587			entry->id = FLOW_ACTION_MANGLE;
>    588			entry->mangle.htype = FLOW_ACT_MANGLE_HDR_TYPE_ETH;
>    589			entry->mangle.mask = 0;
>    590			entry->mangle.val = data->data[i];
>    591			entry->mangle.offset = offset;
>    592			offset = offset + 4;
>    593		}
>    594	
>    595		if (last) {
>    596			entry = &flow->rule->action.entries[ctx->num_actions++];
>    597	
>    598			entry->id = FLOW_ACTION_MANGLE;
>    599			entry->mangle.htype = FLOW_ACT_MANGLE_HDR_TYPE_ETH;
>    600			entry->mangle.mask = ~((1 << (last * 8)) - 1);
>    601			entry->mangle.val = data->data[i];
>    602			entry->mangle.offset = offset;
>    603		}
>    604	
>    605		return 0;
>    606	}
>    607	
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux