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]

 



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

Attachment: .config.gz
Description: application/gzip


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

  Powered by Linux