1c31af68aSBrett Creeley // SPDX-License-Identifier: GPL-2.0 2c31af68aSBrett Creeley /* Copyright (C) 2019-2021, Intel Corporation. */ 3c31af68aSBrett Creeley 4c31af68aSBrett Creeley #include "ice_vsi_vlan_ops.h" 5c31af68aSBrett Creeley #include "ice_vsi_vlan_lib.h" 6*a1ffafb0SBrett Creeley #include "ice_vlan_mode.h" 7c31af68aSBrett Creeley #include "ice.h" 8c31af68aSBrett Creeley #include "ice_pf_vsi_vlan_ops.h" 9c31af68aSBrett Creeley ice_pf_vsi_init_vlan_ops(struct ice_vsi * vsi)10c31af68aSBrett Creeleyvoid ice_pf_vsi_init_vlan_ops(struct ice_vsi *vsi) 11c31af68aSBrett Creeley { 12c31af68aSBrett Creeley struct ice_vsi_vlan_ops *vlan_ops; 13c31af68aSBrett Creeley 14c31af68aSBrett Creeley if (ice_is_dvm_ena(&vsi->back->hw)) { 15c31af68aSBrett Creeley vlan_ops = &vsi->outer_vlan_ops; 16c31af68aSBrett Creeley 17c31af68aSBrett Creeley vlan_ops->add_vlan = ice_vsi_add_vlan; 18c31af68aSBrett Creeley vlan_ops->del_vlan = ice_vsi_del_vlan; 19c31af68aSBrett Creeley vlan_ops->ena_stripping = ice_vsi_ena_outer_stripping; 20c31af68aSBrett Creeley vlan_ops->dis_stripping = ice_vsi_dis_outer_stripping; 21c31af68aSBrett Creeley vlan_ops->ena_insertion = ice_vsi_ena_outer_insertion; 22c31af68aSBrett Creeley vlan_ops->dis_insertion = ice_vsi_dis_outer_insertion; 23c31af68aSBrett Creeley vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering; 24c31af68aSBrett Creeley vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering; 25c31af68aSBrett Creeley } else { 26c31af68aSBrett Creeley vlan_ops = &vsi->inner_vlan_ops; 27c31af68aSBrett Creeley 28c31af68aSBrett Creeley vlan_ops->add_vlan = ice_vsi_add_vlan; 29c31af68aSBrett Creeley vlan_ops->del_vlan = ice_vsi_del_vlan; 30c31af68aSBrett Creeley vlan_ops->ena_stripping = ice_vsi_ena_inner_stripping; 31c31af68aSBrett Creeley vlan_ops->dis_stripping = ice_vsi_dis_inner_stripping; 32c31af68aSBrett Creeley vlan_ops->ena_insertion = ice_vsi_ena_inner_insertion; 33c31af68aSBrett Creeley vlan_ops->dis_insertion = ice_vsi_dis_inner_insertion; 34c31af68aSBrett Creeley vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering; 35c31af68aSBrett Creeley vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering; 36c31af68aSBrett Creeley } 37c31af68aSBrett Creeley } 38c31af68aSBrett Creeley 39