0001
0002
0003
0004 #ifndef _ICE_VSI_VLAN_OPS_H_
0005 #define _ICE_VSI_VLAN_OPS_H_
0006
0007 #include "ice_type.h"
0008 #include "ice_vsi_vlan_lib.h"
0009
0010 struct ice_vsi;
0011
0012 struct ice_vsi_vlan_ops {
0013 int (*add_vlan)(struct ice_vsi *vsi, struct ice_vlan *vlan);
0014 int (*del_vlan)(struct ice_vsi *vsi, struct ice_vlan *vlan);
0015 int (*ena_stripping)(struct ice_vsi *vsi, const u16 tpid);
0016 int (*dis_stripping)(struct ice_vsi *vsi);
0017 int (*ena_insertion)(struct ice_vsi *vsi, const u16 tpid);
0018 int (*dis_insertion)(struct ice_vsi *vsi);
0019 int (*ena_rx_filtering)(struct ice_vsi *vsi);
0020 int (*dis_rx_filtering)(struct ice_vsi *vsi);
0021 int (*ena_tx_filtering)(struct ice_vsi *vsi);
0022 int (*dis_tx_filtering)(struct ice_vsi *vsi);
0023 int (*set_port_vlan)(struct ice_vsi *vsi, struct ice_vlan *vlan);
0024 };
0025
0026 void ice_vsi_init_vlan_ops(struct ice_vsi *vsi);
0027 struct ice_vsi_vlan_ops *ice_get_compat_vsi_vlan_ops(struct ice_vsi *vsi);
0028
0029 #endif