Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /* Copyright (C) 2019-2021, Intel Corporation. */
0003 
0004 #include "ice_vsi_vlan_ops.h"
0005 #include "ice_vsi_vlan_lib.h"
0006 #include "ice_vlan_mode.h"
0007 #include "ice.h"
0008 #include "ice_pf_vsi_vlan_ops.h"
0009 
0010 void ice_pf_vsi_init_vlan_ops(struct ice_vsi *vsi)
0011 {
0012     struct ice_vsi_vlan_ops *vlan_ops;
0013 
0014     if (ice_is_dvm_ena(&vsi->back->hw)) {
0015         vlan_ops = &vsi->outer_vlan_ops;
0016 
0017         vlan_ops->add_vlan = ice_vsi_add_vlan;
0018         vlan_ops->del_vlan = ice_vsi_del_vlan;
0019         vlan_ops->ena_stripping = ice_vsi_ena_outer_stripping;
0020         vlan_ops->dis_stripping = ice_vsi_dis_outer_stripping;
0021         vlan_ops->ena_insertion = ice_vsi_ena_outer_insertion;
0022         vlan_ops->dis_insertion = ice_vsi_dis_outer_insertion;
0023         vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering;
0024         vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering;
0025     } else {
0026         vlan_ops = &vsi->inner_vlan_ops;
0027 
0028         vlan_ops->add_vlan = ice_vsi_add_vlan;
0029         vlan_ops->del_vlan = ice_vsi_del_vlan;
0030         vlan_ops->ena_stripping = ice_vsi_ena_inner_stripping;
0031         vlan_ops->dis_stripping = ice_vsi_dis_inner_stripping;
0032         vlan_ops->ena_insertion = ice_vsi_ena_inner_insertion;
0033         vlan_ops->dis_insertion = ice_vsi_dis_inner_insertion;
0034         vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering;
0035         vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering;
0036     }
0037 }
0038