0001
0002
0003
0004 #ifndef _ICE_FLTR_H_
0005 #define _ICE_FLTR_H_
0006
0007 #include "ice_vlan.h"
0008
0009 void ice_fltr_free_list(struct device *dev, struct list_head *h);
0010 int
0011 ice_fltr_set_vlan_vsi_promisc(struct ice_hw *hw, struct ice_vsi *vsi,
0012 u8 promisc_mask);
0013 int
0014 ice_fltr_clear_vlan_vsi_promisc(struct ice_hw *hw, struct ice_vsi *vsi,
0015 u8 promisc_mask);
0016 int
0017 ice_fltr_clear_vsi_promisc(struct ice_hw *hw, u16 vsi_handle, u8 promisc_mask,
0018 u16 vid);
0019 int
0020 ice_fltr_set_vsi_promisc(struct ice_hw *hw, u16 vsi_handle, u8 promisc_mask,
0021 u16 vid);
0022 int
0023 ice_fltr_add_mac_to_list(struct ice_vsi *vsi, struct list_head *list,
0024 const u8 *mac, enum ice_sw_fwd_act_type action);
0025 int
0026 ice_fltr_add_mac(struct ice_vsi *vsi, const u8 *mac,
0027 enum ice_sw_fwd_act_type action);
0028 int
0029 ice_fltr_add_mac_and_broadcast(struct ice_vsi *vsi, const u8 *mac,
0030 enum ice_sw_fwd_act_type action);
0031 int ice_fltr_add_mac_list(struct ice_vsi *vsi, struct list_head *list);
0032 int
0033 ice_fltr_remove_mac(struct ice_vsi *vsi, const u8 *mac,
0034 enum ice_sw_fwd_act_type action);
0035 int ice_fltr_remove_mac_list(struct ice_vsi *vsi, struct list_head *list);
0036
0037 int ice_fltr_add_vlan(struct ice_vsi *vsi, struct ice_vlan *vlan);
0038 int ice_fltr_remove_vlan(struct ice_vsi *vsi, struct ice_vlan *vlan);
0039
0040 int
0041 ice_fltr_add_eth(struct ice_vsi *vsi, u16 ethertype, u16 flag,
0042 enum ice_sw_fwd_act_type action);
0043 int
0044 ice_fltr_remove_eth(struct ice_vsi *vsi, u16 ethertype, u16 flag,
0045 enum ice_sw_fwd_act_type action);
0046 void ice_fltr_remove_all(struct ice_vsi *vsi);
0047
0048 int
0049 ice_fltr_update_flags(struct ice_vsi *vsi, u16 rule_id, u16 recipe_id,
0050 u32 new_flags);
0051 #endif