Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* Copyright (C) 2019-2021, Intel Corporation. */
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 /* _ICE_VSI_VLAN_OPS_H_ */