net/iavf: refactor RSS
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>
This commit is contained in:
parent
55b41f2372
commit
91f27b2e39