mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
i40e: add functions to control default VSI
Add functions to enable and disable default VSI on a VEB. This allows for configuration of limited promiscuous mode specifically for bridging purposes. Change-ID: I0cc5bd68b31c500fdff4d47e1f15d50d2739faf4 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
de2fbe7ae3
commit
fb70fabad8
@ -1966,6 +1966,62 @@ aq_add_vsi_exit:
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_aq_set_default_vsi
|
||||
* @hw: pointer to the hw struct
|
||||
* @seid: vsi number
|
||||
* @cmd_details: pointer to command details structure or NULL
|
||||
**/
|
||||
i40e_status i40e_aq_set_default_vsi(struct i40e_hw *hw,
|
||||
u16 seid,
|
||||
struct i40e_asq_cmd_details *cmd_details)
|
||||
{
|
||||
struct i40e_aq_desc desc;
|
||||
struct i40e_aqc_set_vsi_promiscuous_modes *cmd =
|
||||
(struct i40e_aqc_set_vsi_promiscuous_modes *)
|
||||
&desc.params.raw;
|
||||
i40e_status status;
|
||||
|
||||
i40e_fill_default_direct_cmd_desc(&desc,
|
||||
i40e_aqc_opc_set_vsi_promiscuous_modes);
|
||||
|
||||
cmd->promiscuous_flags = cpu_to_le16(I40E_AQC_SET_VSI_DEFAULT);
|
||||
cmd->valid_flags = cpu_to_le16(I40E_AQC_SET_VSI_DEFAULT);
|
||||
cmd->seid = cpu_to_le16(seid);
|
||||
|
||||
status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_aq_clear_default_vsi
|
||||
* @hw: pointer to the hw struct
|
||||
* @seid: vsi number
|
||||
* @cmd_details: pointer to command details structure or NULL
|
||||
**/
|
||||
i40e_status i40e_aq_clear_default_vsi(struct i40e_hw *hw,
|
||||
u16 seid,
|
||||
struct i40e_asq_cmd_details *cmd_details)
|
||||
{
|
||||
struct i40e_aq_desc desc;
|
||||
struct i40e_aqc_set_vsi_promiscuous_modes *cmd =
|
||||
(struct i40e_aqc_set_vsi_promiscuous_modes *)
|
||||
&desc.params.raw;
|
||||
i40e_status status;
|
||||
|
||||
i40e_fill_default_direct_cmd_desc(&desc,
|
||||
i40e_aqc_opc_set_vsi_promiscuous_modes);
|
||||
|
||||
cmd->promiscuous_flags = cpu_to_le16(0);
|
||||
cmd->valid_flags = cpu_to_le16(I40E_AQC_SET_VSI_DEFAULT);
|
||||
cmd->seid = cpu_to_le16(seid);
|
||||
|
||||
status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* i40e_aq_set_vsi_unicast_promiscuous
|
||||
* @hw: pointer to the hw struct
|
||||
|
@ -98,6 +98,8 @@ i40e_status i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags,
|
||||
struct i40e_asq_cmd_details *cmd_details);
|
||||
i40e_status i40e_aq_set_default_vsi(struct i40e_hw *hw, u16 vsi_id,
|
||||
struct i40e_asq_cmd_details *cmd_details);
|
||||
i40e_status i40e_aq_clear_default_vsi(struct i40e_hw *hw, u16 vsi_id,
|
||||
struct i40e_asq_cmd_details *cmd_details);
|
||||
enum i40e_status_code i40e_aq_get_phy_capabilities(struct i40e_hw *hw,
|
||||
bool qualified_modules, bool report_init,
|
||||
struct i40e_aq_get_phy_abilities_resp *abilities,
|
||||
|
Loading…
Reference in New Issue
Block a user