91f27b2e39
Current RSS implementation is not easy to scale and maintain. The patch refactor the code base on below design: 1. iavf_pattern_match_item->input_set_mask is the superset of ETH_RSS_xxx. 2. iavf_pattern_match_item->meta is the virtchnl_proto_hdrs template. 3. iavf_hash_parse_pattern will generate pattern hint. 4. iavf_hash_parse_action will refine the virtchnl_proto_hdrs base on pattern hint and ETH_RSS_xxx. 5. The refine process include 1) refine field selector of l2, l3, l4. 2) insert gtpu proto_hdr at the beginning base on pattern hint. 3) refine field selector for gtpu header. The patch reduce the code from 4000+ line to less than 1000. Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> |
||
---|---|---|
.. | ||
iavf_ethdev.c | ||
iavf_fdir.c | ||
iavf_generic_flow.c | ||
iavf_generic_flow.h | ||
iavf_hash.c | ||
iavf_log.h | ||
iavf_rxtx_vec_avx2.c | ||
iavf_rxtx_vec_common.h | ||
iavf_rxtx_vec_sse.c | ||
iavf_rxtx.c | ||
iavf_rxtx.h | ||
iavf_vchnl.c | ||
iavf.h | ||
meson.build | ||
rte_pmd_iavf_version.map |