Re: [PATCH net-next v1 1/7] net: flow_offload: provision conntrack info in ct_metadata
From: kernel test robot <hidden>
Date: 2023-01-10 20:31:33
Also in:
llvm, netfilter-devel, oe-kbuild-all
Hi Vlad, Thank you for the patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Vlad-Buslov/net-flow_offload-provision-conntrack-info-in-ct_metadata/20230110-213500 patch link: https://lore.kernel.org/r/20230110133023.2366381-2-vladbu%40nvidia.com patch subject: [PATCH net-next v1 1/7] net: flow_offload: provision conntrack info in ct_metadata config: x86_64-randconfig-a003 compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/99f16b3535be4a9588707780f082146c647c5b5f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Vlad-Buslov/net-flow_offload-provision-conntrack-info-in-ct_metadata/20230110-213500 git checkout 99f16b3535be4a9588707780f082146c647c5b5f # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/sched/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot [off-list ref] All errors (new ones prefixed by >>): In file included from net/sched/act_skbedit.c:14: In file included from include/net/pkt_sched.h:9: In file included from include/net/sch_generic.h:21: include/net/flow_offload.h:291:27: error: field has incomplete type 'enum ip_conntrack_info' enum ip_conntrack_info ctinfo; ^ include/net/flow_offload.h:291:9: note: forward declaration of 'enum ip_conntrack_info' enum ip_conntrack_info ctinfo; ^
quoted
net/sched/act_skbedit.c:377:11: error: no member named 'mark' in 'struct flow_action_entry'
entry->mark = tcf_skbedit_mark(act);
~~~~~ ^quoted
net/sched/act_skbedit.c:380:11: error: no member named 'ptype' in 'struct flow_action_entry'
entry->ptype = tcf_skbedit_ptype(act);
~~~~~ ^quoted
net/sched/act_skbedit.c:383:11: error: no member named 'priority' in 'struct flow_action_entry'
entry->priority = tcf_skbedit_priority(act);
~~~~~ ^quoted
net/sched/act_skbedit.c:389:11: error: no member named 'rx_queue' in 'struct flow_action_entry'
entry->rx_queue = tcf_skbedit_rx_queue_mapping(act);
~~~~~ ^
5 errors generated.
--
In file included from net/sched/act_gact.c:17:
In file included from include/net/pkt_sched.h:9:
In file included from include/net/sch_generic.h:21:
include/net/flow_offload.h:291:27: error: field has incomplete type 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^
include/net/flow_offload.h:291:9: note: forward declaration of 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^quoted
net/sched/act_gact.c:254:11: error: no member named 'chain_index' in 'struct flow_action_entry'
entry->chain_index = tcf_gact_goto_chain_index(act);
~~~~~ ^
2 errors generated.
--
In file included from net/sched/act_mirred.c:23:
In file included from include/net/pkt_sched.h:9:
In file included from include/net/sch_generic.h:21:
include/net/flow_offload.h:291:27: error: field has incomplete type 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^
include/net/flow_offload.h:291:9: note: forward declaration of 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^quoted
net/sched/act_mirred.c:439:9: error: no member named 'dev' in 'struct flow_action_entry'
entry->dev = act->ops->get_dev(act, &entry->destructor);
~~~~~ ^
net/sched/act_mirred.c:440:14: error: no member named 'dev' in 'struct flow_action_entry'
if (!entry->dev)
~~~~~ ^
net/sched/act_mirred.c:442:34: error: no member named 'dev' in 'struct flow_action_entry'
entry->destructor_priv = entry->dev;
~~~~~ ^
4 errors generated.
--
In file included from net/sched/act_pedit.c:18:
In file included from include/net/pkt_sched.h:9:
In file included from include/net/sch_generic.h:21:
include/net/flow_offload.h:291:27: error: field has incomplete type 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^
include/net/flow_offload.h:291:9: note: forward declaration of 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^quoted
net/sched/act_pedit.c:516:11: error: no member named 'mangle' in 'struct flow_action_entry'
entry->mangle.htype = tcf_pedit_htype(act, k);
~~~~~ ^
net/sched/act_pedit.c:517:11: error: no member named 'mangle' in 'struct flow_action_entry'
entry->mangle.mask = tcf_pedit_mask(act, k);
~~~~~ ^
net/sched/act_pedit.c:518:11: error: no member named 'mangle' in 'struct flow_action_entry'
entry->mangle.val = tcf_pedit_val(act, k);
~~~~~ ^
net/sched/act_pedit.c:519:11: error: no member named 'mangle' in 'struct flow_action_entry'
entry->mangle.offset = tcf_pedit_offset(act, k);
~~~~~ ^
5 errors generated.
--
In file included from net/sched/act_tunnel_key.c:16:
In file included from include/net/pkt_sched.h:9:
In file included from include/net/sch_generic.h:21:
include/net/flow_offload.h:291:27: error: field has incomplete type 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^
include/net/flow_offload.h:291:9: note: forward declaration of 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^quoted
net/sched/act_tunnel_key.c:784:9: error: no member named 'tunnel' in 'struct flow_action_entry'
entry->tunnel = tcf_tunnel_info_copy(act);
~~~~~ ^
net/sched/act_tunnel_key.c:785:14: error: no member named 'tunnel' in 'struct flow_action_entry'
if (!entry->tunnel)
~~~~~ ^
net/sched/act_tunnel_key.c:788:34: error: no member named 'tunnel' in 'struct flow_action_entry'
entry->destructor_priv = entry->tunnel;
~~~~~ ^
4 errors generated.
--
In file included from net/sched/act_gate.c:13:
In file included from include/net/act_api.h:10:
include/net/flow_offload.h:291:27: error: field has incomplete type 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^
include/net/flow_offload.h:291:9: note: forward declaration of 'enum ip_conntrack_info'
enum ip_conntrack_info ctinfo;
^quoted
net/sched/act_gate.c:594:9: error: no member named 'gate' in 'struct flow_action_entry'
entry->gate.entries = tcf_gate_get_list(act);
~~~~~ ^
net/sched/act_gate.c:596:14: error: no member named 'gate' in 'struct flow_action_entry'
if (!entry->gate.entries)
~~~~~ ^
net/sched/act_gate.c:600:34: error: no member named 'gate' in 'struct flow_action_entry'
entry->destructor_priv = entry->gate.entries;
~~~~~ ^
net/sched/act_gate.c:615:10: error: no member named 'gate' in 'struct flow_action_entry'
entry->gate.prio = tcf_gate_prio(act);
~~~~~ ^
net/sched/act_gate.c:616:10: error: no member named 'gate' in 'struct flow_action_entry'
entry->gate.basetime = tcf_gate_basetime(act);
~~~~~ ^
net/sched/act_gate.c:617:10: error: no member named 'gate' in 'struct flow_action_entry'
entry->gate.cycletime = tcf_gate_cycletime(act);
~~~~~ ^
net/sched/act_gate.c:618:10: error: no member named 'gate' in 'struct flow_action_entry'
entry->gate.cycletimeext = tcf_gate_cycletimeext(act);
~~~~~ ^
net/sched/act_gate.c:619:10: error: no member named 'gate' in 'struct flow_action_entry'
entry->gate.num_entries = tcf_gate_num_entries(act);
~~~~~ ^
9 errors generated.
vim +377 net/sched/act_skbedit.c
e1fea322fc6d407 Roman Mashak 2019-08-07 367
c54e1d920f04d52 Baowen Zheng 2021-12-17 368 static int tcf_skbedit_offload_act_setup(struct tc_action *act, void *entry_data,
c2ccf84ecb715bb Ido Schimmel 2022-04-07 369 u32 *index_inc, bool bind,
c2ccf84ecb715bb Ido Schimmel 2022-04-07 370 struct netlink_ext_ack *extack)
c54e1d920f04d52 Baowen Zheng 2021-12-17 371 {
c54e1d920f04d52 Baowen Zheng 2021-12-17 372 if (bind) {
c54e1d920f04d52 Baowen Zheng 2021-12-17 373 struct flow_action_entry *entry = entry_data;
c54e1d920f04d52 Baowen Zheng 2021-12-17 374
c54e1d920f04d52 Baowen Zheng 2021-12-17 375 if (is_tcf_skbedit_mark(act)) {
c54e1d920f04d52 Baowen Zheng 2021-12-17 376 entry->id = FLOW_ACTION_MARK;
c54e1d920f04d52 Baowen Zheng 2021-12-17 @377 entry->mark = tcf_skbedit_mark(act);
c54e1d920f04d52 Baowen Zheng 2021-12-17 378 } else if (is_tcf_skbedit_ptype(act)) {
c54e1d920f04d52 Baowen Zheng 2021-12-17 379 entry->id = FLOW_ACTION_PTYPE;
c54e1d920f04d52 Baowen Zheng 2021-12-17 @380 entry->ptype = tcf_skbedit_ptype(act);
c54e1d920f04d52 Baowen Zheng 2021-12-17 381 } else if (is_tcf_skbedit_priority(act)) {
c54e1d920f04d52 Baowen Zheng 2021-12-17 382 entry->id = FLOW_ACTION_PRIORITY;
c54e1d920f04d52 Baowen Zheng 2021-12-17 @383 entry->priority = tcf_skbedit_priority(act);
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 384 } else if (is_tcf_skbedit_tx_queue_mapping(act)) {
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 385 NL_SET_ERR_MSG_MOD(extack, "Offload not supported when \"queue_mapping\" option is used on transmit side");
a9c64939b669b3c Ido Schimmel 2022-04-07 386 return -EOPNOTSUPP;
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 387 } else if (is_tcf_skbedit_rx_queue_mapping(act)) {
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 388 entry->id = FLOW_ACTION_RX_QUEUE_MAPPING;
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 @389 entry->rx_queue = tcf_skbedit_rx_queue_mapping(act);
a9c64939b669b3c Ido Schimmel 2022-04-07 390 } else if (is_tcf_skbedit_inheritdsfield(act)) {
a9c64939b669b3c Ido Schimmel 2022-04-07 391 NL_SET_ERR_MSG_MOD(extack, "Offload not supported when \"inheritdsfield\" option is used");
a9c64939b669b3c Ido Schimmel 2022-04-07 392 return -EOPNOTSUPP;
c54e1d920f04d52 Baowen Zheng 2021-12-17 393 } else {
a9c64939b669b3c Ido Schimmel 2022-04-07 394 NL_SET_ERR_MSG_MOD(extack, "Unsupported skbedit option offload");
c54e1d920f04d52 Baowen Zheng 2021-12-17 395 return -EOPNOTSUPP;
c54e1d920f04d52 Baowen Zheng 2021-12-17 396 }
c54e1d920f04d52 Baowen Zheng 2021-12-17 397 *index_inc = 1;
c54e1d920f04d52 Baowen Zheng 2021-12-17 398 } else {
8cbfe939abe9052 Baowen Zheng 2021-12-17 399 struct flow_offload_action *fl_action = entry_data;
8cbfe939abe9052 Baowen Zheng 2021-12-17 400
8cbfe939abe9052 Baowen Zheng 2021-12-17 401 if (is_tcf_skbedit_mark(act))
8cbfe939abe9052 Baowen Zheng 2021-12-17 402 fl_action->id = FLOW_ACTION_MARK;
8cbfe939abe9052 Baowen Zheng 2021-12-17 403 else if (is_tcf_skbedit_ptype(act))
8cbfe939abe9052 Baowen Zheng 2021-12-17 404 fl_action->id = FLOW_ACTION_PTYPE;
8cbfe939abe9052 Baowen Zheng 2021-12-17 405 else if (is_tcf_skbedit_priority(act))
8cbfe939abe9052 Baowen Zheng 2021-12-17 406 fl_action->id = FLOW_ACTION_PRIORITY;
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 407 else if (is_tcf_skbedit_rx_queue_mapping(act))
4a6a676f8c16ec1 Amritha Nambiar 2022-10-21 408 fl_action->id = FLOW_ACTION_RX_QUEUE_MAPPING;
8cbfe939abe9052 Baowen Zheng 2021-12-17 409 else
c54e1d920f04d52 Baowen Zheng 2021-12-17 410 return -EOPNOTSUPP;
c54e1d920f04d52 Baowen Zheng 2021-12-17 411 }
c54e1d920f04d52 Baowen Zheng 2021-12-17 412
c54e1d920f04d52 Baowen Zheng 2021-12-17 413 return 0;
c54e1d920f04d52 Baowen Zheng 2021-12-17 414 }
c54e1d920f04d52 Baowen Zheng 2021-12-17 415
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests