X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fbase%2Fice_flow.h;h=c6442dc144e034c2df9f6becd90da384637492b3;hb=9c27a91018db96206edf3a1338a792b6d9d91a45;hp=bad925c8c4a0151a38dbd320c888701e68d70ecc;hpb=abd6cd540ee9c908362e2643dabea5d7b539c04c;p=dpdk.git diff --git a/drivers/net/ice/base/ice_flow.h b/drivers/net/ice/base/ice_flow.h index bad925c8c4..c6442dc144 100644 --- a/drivers/net/ice/base/ice_flow.h +++ b/drivers/net/ice/base/ice_flow.h @@ -174,7 +174,7 @@ enum ice_flow_priority { struct ice_flow_seg_xtrct { u8 prot_id; /* Protocol ID of extracted header field */ - u8 off; /* Starting offset of the field in header in bytes */ + u16 off; /* Starting offset of the field in header in bytes */ u8 idx; /* Index of FV entry used */ u8 disp; /* Displacement of field in bits fr. FV entry's start */ }; @@ -225,17 +225,15 @@ struct ice_flow_entry { struct LIST_ENTRY_TYPE l_entry; u64 id; - u16 vsi_handle; - enum ice_flow_priority priority; struct ice_flow_prof *prof; - + /* Action list */ + struct ice_flow_action *acts; /* Flow entry's content */ - u16 entry_sz; void *entry; - - /* Action list */ + enum ice_flow_priority priority; + u16 vsi_handle; + u16 entry_sz; u8 acts_cnt; - struct ice_flow_action *acts; }; #define ICE_FLOW_ENTRY_HNDL(e) ((unsigned long)e) @@ -246,12 +244,13 @@ struct ice_flow_prof { u64 id; enum ice_flow_dir dir; + u8 segs_cnt; + u8 acts_cnt; /* Keep track of flow entries associated with this flow profile */ struct ice_lock entries_lock; struct LIST_HEAD_TYPE entries; - u8 segs_cnt; struct ice_flow_seg_info segs[ICE_FLOW_SEG_MAX]; /* software VSI handles referenced by this flow profile */ @@ -264,12 +263,13 @@ struct ice_flow_prof { } cfg; /* Default actions */ - u8 acts_cnt; struct ice_flow_action *acts; }; struct ice_rss_cfg { struct LIST_ENTRY_TYPE l_entry; + /* bitmap of VSIs added to the RSS entry */ + ice_declare_bitmap(vsis, ICE_MAX_VSI); u64 hashed_flds; u32 packet_hdr; }; @@ -338,7 +338,7 @@ ice_flow_set_fld_prefix(struct ice_flow_seg_info *seg, enum ice_flow_field fld, void ice_flow_add_fld_raw(struct ice_flow_seg_info *seg, u16 off, u8 len, u16 val_loc, u16 mask_loc); -void ice_rem_all_rss_vsi_ctx(struct ice_hw *hw, u16 vsi_handle); +void ice_rem_vsi_rss_list(struct ice_hw *hw, u16 vsi_handle); enum ice_status ice_replay_rss_cfg(struct ice_hw *hw, u16 vsi_handle); enum ice_status ice_add_avf_rss_cfg(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds);