ice: Support configuring the device to Double VLAN Mode
In order to support configuring the device in Double VLAN Mode (DVM), the DDP and FW have to support DVM. If both support DVM, the PF that downloads the package needs to update the default recipes, set the VLAN mode, and update boost TCAM entries. To support updating the default recipes in DVM, add support for updating an existing switch recipe's lkup_idx and mask. This is done by first calling the get recipe AQ (0x0292) with the desired recipe ID. Then, if that is successful update one of the lookup indices (lkup_idx) and its associated mask if the mask is valid otherwise the already existing mask will be used. The VLAN mode of the device has to be configured while the global configuration lock is held while downloading the DDP, specifically after the DDP has been downloaded. If supported, the device will default to DVM. Co-developed-by: Dan Nowlin <dan.nowlin@intel.com> Signed-off-by: Dan Nowlin <dan.nowlin@intel.com> 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>
This commit is contained in:
committed by
Tony Nguyen
parent
cc71de8fa1
commit
a1ffafb0b4
@@ -23,11 +23,6 @@ struct ice_vsi_vlan_ops {
|
||||
int (*set_port_vlan)(struct ice_vsi *vsi, struct ice_vlan *vlan);
|
||||
};
|
||||
|
||||
static inline bool ice_is_dvm_ena(struct ice_hw __always_unused *hw)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void ice_vsi_init_vlan_ops(struct ice_vsi *vsi);
|
||||
struct ice_vsi_vlan_ops *ice_get_compat_vsi_vlan_ops(struct ice_vsi *vsi);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user