Hi Guillaume, Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master] [also build test ERROR on net/master sparc-next/master linus/master v5.7-rc6 next-20200519] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Guillaume-Nault/flow_dissector-cls_flower-Add-support-for-multiple-MPLS-Label-Stack-Entries/20200521-052254 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 4f65e2f483b6f764c15094d14dd53dda048a4048 config: alpha-allyesconfig (attached as .config) compiler: alpha-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <l...@intel.com> All errors (new ones prefixed by >>, old ones prefixed by <<): In file included from include/linux/build_bug.h:5, from include/linux/bitfield.h:10, from drivers/net/ethernet/netronome/nfp/flower/match.c:4: drivers/net/ethernet/netronome/nfp/flower/match.c: In function 'nfp_flower_compile_mac': >> drivers/net/ethernet/netronome/nfp/flower/match.c:100:57: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_label' 100 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.key->mpls_label) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:100:12: note: in expansion of macro 'FIELD_PREP' 100 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.key->mpls_label) | | ^~~~~~~~~~ >> drivers/net/ethernet/netronome/nfp/flower/match.c:100:57: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_label' 100 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.key->mpls_label) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:100:12: note: in expansion of macro 'FIELD_PREP' 100 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.key->mpls_label) | | ^~~~~~~~~~ In file included from drivers/net/ethernet/netronome/nfp/flower/match.c:4: >> drivers/net/ethernet/netronome/nfp/flower/match.c:100:57: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_label' 100 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.key->mpls_label) | | ^~ include/linux/bitfield.h:95:20: note: in definition of macro 'FIELD_PREP' 95 | ((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); | ^~~~ In file included from include/linux/build_bug.h:5, from include/linux/bitfield.h:10, from drivers/net/ethernet/netronome/nfp/flower/match.c:4: >> drivers/net/ethernet/netronome/nfp/flower/match.c:101:50: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_tc' 101 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.key->mpls_tc) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:101:5: note: in expansion of macro 'FIELD_PREP' 101 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.key->mpls_tc) | | ^~~~~~~~~~ >> drivers/net/ethernet/netronome/nfp/flower/match.c:101:50: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_tc' 101 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.key->mpls_tc) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:101:5: note: in expansion of macro 'FIELD_PREP' 101 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.key->mpls_tc) | | ^~~~~~~~~~ In file included from drivers/net/ethernet/netronome/nfp/flower/match.c:4: >> drivers/net/ethernet/netronome/nfp/flower/match.c:101:50: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_tc' 101 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.key->mpls_tc) | | ^~ include/linux/bitfield.h:95:20: note: in definition of macro 'FIELD_PREP' 95 | ((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); | ^~~~ In file included from include/linux/build_bug.h:5, from include/linux/bitfield.h:10, from drivers/net/ethernet/netronome/nfp/flower/match.c:4: >> drivers/net/ethernet/netronome/nfp/flower/match.c:102:51: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_bos' 102 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.key->mpls_bos) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:102:5: note: in expansion of macro 'FIELD_PREP' 102 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.key->mpls_bos) | | ^~~~~~~~~~ >> drivers/net/ethernet/netronome/nfp/flower/match.c:102:51: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_bos' 102 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.key->mpls_bos) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:102:5: note: in expansion of macro 'FIELD_PREP' 102 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.key->mpls_bos) | | ^~~~~~~~~~ In file included from drivers/net/ethernet/netronome/nfp/flower/match.c:4: >> drivers/net/ethernet/netronome/nfp/flower/match.c:102:51: error: 'struct >> flow_dissector_key_mpls' has no member named 'mpls_bos' 102 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.key->mpls_bos) | | ^~ include/linux/bitfield.h:95:20: note: in definition of macro 'FIELD_PREP' 95 | ((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); | ^~~~ In file included from include/linux/build_bug.h:5, from include/linux/bitfield.h:10, from drivers/net/ethernet/netronome/nfp/flower/match.c:4: drivers/net/ethernet/netronome/nfp/flower/match.c:105:58: error: 'struct flow_dissector_key_mpls' has no member named 'mpls_label' 105 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.mask->mpls_label) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:105:12: note: in expansion of macro 'FIELD_PREP' 105 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.mask->mpls_label) | | ^~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:105:58: error: 'struct flow_dissector_key_mpls' has no member named 'mpls_label' 105 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.mask->mpls_label) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:105:12: note: in expansion of macro 'FIELD_PREP' 105 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.mask->mpls_label) | | ^~~~~~~~~~ In file included from drivers/net/ethernet/netronome/nfp/flower/match.c:4: drivers/net/ethernet/netronome/nfp/flower/match.c:105:58: error: 'struct flow_dissector_key_mpls' has no member named 'mpls_label' 105 | t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.mask->mpls_label) | | ^~ include/linux/bitfield.h:95:20: note: in definition of macro 'FIELD_PREP' 95 | ((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); | ^~~~ In file included from include/linux/build_bug.h:5, from include/linux/bitfield.h:10, from drivers/net/ethernet/netronome/nfp/flower/match.c:4: drivers/net/ethernet/netronome/nfp/flower/match.c:106:51: error: 'struct flow_dissector_key_mpls' has no member named 'mpls_tc' 106 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.mask->mpls_tc) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:106:5: note: in expansion of macro 'FIELD_PREP' 106 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.mask->mpls_tc) | | ^~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:106:51: error: 'struct flow_dissector_key_mpls' has no member named 'mpls_tc' 106 | FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.mask->mpls_tc) | | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/bitfield.h:49:3: note: in expansion of macro 'BUILD_BUG_ON_MSG' 49 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? | ^~~~~~~~~~~~~~~~ include/linux/bitfield.h:94:3: note: in expansion of macro '__BF_FIELD_CHECK' 94 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); | ^~~~~~~~~~~~~~~~ drivers/net/ethernet/netronome/nfp/flower/match.c:106:5: note: in expansion of macro 'FIELD_PREP' vim +100 drivers/net/ethernet/netronome/nfp/flower/match.c 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 76 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 77 static void 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 78 nfp_flower_compile_mac(struct nfp_flower_mac_mpls *ext, 31c491e56ad1ad John Hurley 2019-12-17 79 struct nfp_flower_mac_mpls *msk, struct flow_rule *rule) 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 80 { 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 81 memset(ext, 0, sizeof(struct nfp_flower_mac_mpls)); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 82 memset(msk, 0, sizeof(struct nfp_flower_mac_mpls)); 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 83 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 84 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 85 struct flow_match_eth_addrs match; 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 86 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 87 flow_rule_match_eth_addrs(rule, &match); 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 88 /* Populate mac frame. */ 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 89 ether_addr_copy(ext->mac_dst, &match.key->dst[0]); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 90 ether_addr_copy(ext->mac_src, &match.key->src[0]); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 91 ether_addr_copy(msk->mac_dst, &match.mask->dst[0]); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 92 ether_addr_copy(msk->mac_src, &match.mask->src[0]); a7cd39e0c7805a Pieter Jansen van Vuuren 2017-08-25 93 } 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 94 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 95 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS)) { 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 96 struct flow_match_mpls match; bb055c198d9b2b Pieter Jansen van Vuuren 2017-10-06 97 u32 t_mpls; bb055c198d9b2b Pieter Jansen van Vuuren 2017-10-06 98 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 99 flow_rule_match_mpls(rule, &match); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 @100 t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.key->mpls_label) | 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 @101 FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.key->mpls_tc) | 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 @102 FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.key->mpls_bos) | bb055c198d9b2b Pieter Jansen van Vuuren 2017-10-06 103 NFP_FLOWER_MASK_MPLS_Q; 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 104 ext->mpls_lse = cpu_to_be32(t_mpls); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 105 t_mpls = FIELD_PREP(NFP_FLOWER_MASK_MPLS_LB, match.mask->mpls_label) | 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 106 FIELD_PREP(NFP_FLOWER_MASK_MPLS_TC, match.mask->mpls_tc) | 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 107 FIELD_PREP(NFP_FLOWER_MASK_MPLS_BOS, match.mask->mpls_bos) | 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 108 NFP_FLOWER_MASK_MPLS_Q; 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 109 msk->mpls_lse = cpu_to_be32(t_mpls); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 110 } else if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { a64119415ff248 Pieter Jansen van Vuuren 2018-06-25 111 /* Check for mpls ether type and set NFP_FLOWER_MASK_MPLS_Q a64119415ff248 Pieter Jansen van Vuuren 2018-06-25 112 * bit, which indicates an mpls ether type but without any a64119415ff248 Pieter Jansen van Vuuren 2018-06-25 113 * mpls fields. a64119415ff248 Pieter Jansen van Vuuren 2018-06-25 114 */ 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 115 struct flow_match_basic match; a64119415ff248 Pieter Jansen van Vuuren 2018-06-25 116 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 117 flow_rule_match_basic(rule, &match); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 118 if (match.key->n_proto == cpu_to_be16(ETH_P_MPLS_UC) || 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 119 match.key->n_proto == cpu_to_be16(ETH_P_MPLS_MC)) { 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 120 ext->mpls_lse = cpu_to_be32(NFP_FLOWER_MASK_MPLS_Q); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 121 msk->mpls_lse = cpu_to_be32(NFP_FLOWER_MASK_MPLS_Q); 8f2566225ae2d6 Pablo Neira Ayuso 2019-02-02 122 } bb055c198d9b2b Pieter Jansen van Vuuren 2017-10-06 123 } 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 124 } 5571e8c9f2419c Pieter Jansen van Vuuren 2017-06-29 125 :::::: The code at line 100 was first introduced by commit :::::: 8f2566225ae2d62d532bb1810ed74fa4bbc5bbdb flow_offload: add flow_rule and flow_match structures and use them :::::: TO: Pablo Neira Ayuso <pa...@netfilter.org> :::::: CC: David S. Miller <da...@davemloft.net> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip