diff options
author | Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> | 2018-03-20 10:58:15 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2018-03-26 14:54:49 -0400 |
commit | d76a60ba7afb89523c88cf2ed3a044ce4180289e (patch) | |
tree | 9cdcbbce6de9f28400f7610d565cc86450a3f80f /drivers/net/ethernet/intel/ice/ice_common.h | |
parent | 2b245cb29421abbad508e93cdfedf81adc12edf1 (diff) |
ice: Add support for VLANs and offloads
This patch adds support for VLANs. When a VLAN is created a switch filter
is added to direct the VLAN traffic to the corresponding VSI. When a VLAN
is deleted, the filter is deleted as well.
This patch also adds support for the following hardware offloads.
1) VLAN tag insertion/stripping
2) Receive Side Scaling (RSS)
3) Tx checksum and TCP segmentation
4) Rx checksum
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_common.h')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_common.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h index 8ed1135bb189..38719ba01d9b 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.h +++ b/drivers/net/ethernet/intel/ice/ice_common.h | |||
@@ -33,6 +33,19 @@ enum ice_status ice_get_caps(struct ice_hw *hw); | |||
33 | enum ice_status | 33 | enum ice_status |
34 | ice_write_rxq_ctx(struct ice_hw *hw, struct ice_rlan_ctx *rlan_ctx, | 34 | ice_write_rxq_ctx(struct ice_hw *hw, struct ice_rlan_ctx *rlan_ctx, |
35 | u32 rxq_index); | 35 | u32 rxq_index); |
36 | |||
37 | enum ice_status | ||
38 | ice_aq_get_rss_lut(struct ice_hw *hw, u16 vsi_id, u8 lut_type, u8 *lut, | ||
39 | u16 lut_size); | ||
40 | enum ice_status | ||
41 | ice_aq_set_rss_lut(struct ice_hw *hw, u16 vsi_id, u8 lut_type, u8 *lut, | ||
42 | u16 lut_size); | ||
43 | enum ice_status | ||
44 | ice_aq_get_rss_key(struct ice_hw *hw, u16 vsi_id, | ||
45 | struct ice_aqc_get_set_rss_keys *keys); | ||
46 | enum ice_status | ||
47 | ice_aq_set_rss_key(struct ice_hw *hw, u16 vsi_id, | ||
48 | struct ice_aqc_get_set_rss_keys *keys); | ||
36 | bool ice_check_sq_alive(struct ice_hw *hw, struct ice_ctl_q_info *cq); | 49 | bool ice_check_sq_alive(struct ice_hw *hw, struct ice_ctl_q_info *cq); |
37 | enum ice_status ice_aq_q_shutdown(struct ice_hw *hw, bool unloading); | 50 | enum ice_status ice_aq_q_shutdown(struct ice_hw *hw, bool unloading); |
38 | void ice_fill_dflt_direct_cmd_desc(struct ice_aq_desc *desc, u16 opcode); | 51 | void ice_fill_dflt_direct_cmd_desc(struct ice_aq_desc *desc, u16 opcode); |