diff options
author | Brett Creeley <brett.creeley@intel.com> | 2021-12-02 08:38:41 -0800 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2022-02-09 09:24:45 -0800 |
commit | bc42afa954870985ca07dbb38c79eca1a5d81a39 (patch) | |
tree | 9560307326b0de3117995218c1ee3e79b194bc82 /drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.h | |
parent | 3e0b59714bd4648c395ba823ca0e56261061631a (diff) | |
download | linux-bc42afa954870985ca07dbb38c79eca1a5d81a39.tar.gz linux-bc42afa954870985ca07dbb38c79eca1a5d81a39.tar.bz2 linux-bc42afa954870985ca07dbb38c79eca1a5d81a39.zip |
ice: Add new VSI VLAN ops
Incoming changes to support 802.1Q and/or 802.1ad VLAN filtering and
offloads require more flexibility when configuring VLANs. The VSI VLAN
interface will allow flexibility for configuring VLANs for all VSI
types. Add new files to separate the VSI VLAN ops and move functions to
make the code more organized.
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.h')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.h b/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.h new file mode 100644 index 000000000000..f9fe33026306 --- /dev/null +++ b/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (C) 2019-2021, Intel Corporation. */ + +#ifndef _ICE_VSI_VLAN_LIB_H_ +#define _ICE_VSI_VLAN_LIB_H_ + +#include <linux/types.h> +#include "ice_type.h" + +struct ice_vsi; + +int +ice_vsi_add_vlan(struct ice_vsi *vsi, u16 vid, enum ice_sw_fwd_act_type action); +int ice_vsi_del_vlan(struct ice_vsi *vsi, u16 vid); + +int ice_vsi_ena_stripping(struct ice_vsi *vsi); +int ice_vsi_dis_stripping(struct ice_vsi *vsi); +int ice_vsi_ena_insertion(struct ice_vsi *vsi); +int ice_vsi_dis_insertion(struct ice_vsi *vsi); +int ice_vsi_set_port_vlan(struct ice_vsi *vsi, u16 pvid_info); + +int ice_vsi_ena_rx_vlan_filtering(struct ice_vsi *vsi); +int ice_vsi_dis_rx_vlan_filtering(struct ice_vsi *vsi); +int ice_vsi_ena_tx_vlan_filtering(struct ice_vsi *vsi); +int ice_vsi_dis_tx_vlan_filtering(struct ice_vsi *vsi); + +#endif /* _ICE_VSI_VLAN_LIB_H_ */ |