1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2001-2020 Intel Corporation
5 #ifndef _ICE_VLAN_MODE_H_
6 #define _ICE_VLAN_MODE_H_
10 enum ice_status ice_set_vlan_mode(struct ice_hw *hw);
11 void ice_init_vlan_mode_ops(struct ice_hw *hw);
13 /* This structure defines the VLAN mode configuration interface. It is used to set the VLAN mode.
15 * Note: These operations will be called while the global configuration lock is held.
17 * enum ice_status (*set_svm)(struct ice_hw *hw);
18 * This function is called when the DDP and/or Firmware don't support double VLAN mode (DVM) or
19 * if the set_dvm op is not implemented and/or returns failure. It will set the device in
20 * single VLAN mode (SVM).
22 * enum ice_status (*set_dvm)(struct ice_hw *hw);
23 * This function is called when the DDP and Firmware support double VLAN mode (DVM). It should
24 * be implemented to set double VLAN mode. If it fails or remains unimplemented, set_svm will
25 * be called as a fallback plan.
27 struct ice_vlan_mode_ops {
28 enum ice_status (*set_svm)(struct ice_hw *hw);
29 enum ice_status (*set_dvm)(struct ice_hw *hw);
32 #endif /* _ICE_VLAN_MODE_H */