mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
i40e: Display LLDP information on vSphere Web Client
This patch enables driver to display LLDP information on the vSphere Web Client with Intel adapters (X710, XL710) and Distributed Virtual Switch. Signed-off-by: Upasana Menon <upasana.menon@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
b5b5f37088
commit
b6a02a6fbf
@ -205,6 +205,7 @@ enum i40e_admin_queue_opc {
|
|||||||
/* DCB commands */
|
/* DCB commands */
|
||||||
i40e_aqc_opc_dcb_ignore_pfc = 0x0301,
|
i40e_aqc_opc_dcb_ignore_pfc = 0x0301,
|
||||||
i40e_aqc_opc_dcb_updated = 0x0302,
|
i40e_aqc_opc_dcb_updated = 0x0302,
|
||||||
|
i40e_aqc_opc_set_dcb_parameters = 0x0303,
|
||||||
|
|
||||||
/* TX scheduler */
|
/* TX scheduler */
|
||||||
i40e_aqc_opc_configure_vsi_bw_limit = 0x0400,
|
i40e_aqc_opc_configure_vsi_bw_limit = 0x0400,
|
||||||
@ -2496,6 +2497,17 @@ struct i40e_aqc_lldp_start {
|
|||||||
|
|
||||||
I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_start);
|
I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_start);
|
||||||
|
|
||||||
|
/* Set DCB (direct 0x0303) */
|
||||||
|
struct i40e_aqc_set_dcb_parameters {
|
||||||
|
u8 command;
|
||||||
|
#define I40E_AQ_DCB_SET_AGENT 0x1
|
||||||
|
#define I40E_DCB_VALID 0x1
|
||||||
|
u8 valid_flags;
|
||||||
|
u8 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
I40E_CHECK_CMD_LENGTH(i40e_aqc_set_dcb_parameters);
|
||||||
|
|
||||||
/* Get CEE DCBX Oper Config (0x0A07)
|
/* Get CEE DCBX Oper Config (0x0A07)
|
||||||
* uses the generic descriptor struct
|
* uses the generic descriptor struct
|
||||||
* returns below as indirect response
|
* returns below as indirect response
|
||||||
|
@ -3641,7 +3641,34 @@ i40e_status i40e_aq_start_lldp(struct i40e_hw *hw,
|
|||||||
i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_lldp_start);
|
i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_lldp_start);
|
||||||
|
|
||||||
cmd->command = I40E_AQ_LLDP_AGENT_START;
|
cmd->command = I40E_AQ_LLDP_AGENT_START;
|
||||||
|
status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* i40e_aq_set_dcb_parameters
|
||||||
|
* @hw: pointer to the hw struct
|
||||||
|
* @cmd_details: pointer to command details structure or NULL
|
||||||
|
* @dcb_enable: True if DCB configuration needs to be applied
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
enum i40e_status_code
|
||||||
|
i40e_aq_set_dcb_parameters(struct i40e_hw *hw, bool dcb_enable,
|
||||||
|
struct i40e_asq_cmd_details *cmd_details)
|
||||||
|
{
|
||||||
|
struct i40e_aq_desc desc;
|
||||||
|
struct i40e_aqc_set_dcb_parameters *cmd =
|
||||||
|
(struct i40e_aqc_set_dcb_parameters *)&desc.params.raw;
|
||||||
|
i40e_status status;
|
||||||
|
|
||||||
|
i40e_fill_default_direct_cmd_desc(&desc,
|
||||||
|
i40e_aqc_opc_set_dcb_parameters);
|
||||||
|
|
||||||
|
if (dcb_enable) {
|
||||||
|
cmd->valid_flags = I40E_DCB_VALID;
|
||||||
|
cmd->command = I40E_AQ_DCB_SET_AGENT;
|
||||||
|
}
|
||||||
status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
|
status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
@ -225,6 +225,10 @@ i40e_status i40e_aq_cfg_lldp_mib_change_event(struct i40e_hw *hw,
|
|||||||
struct i40e_asq_cmd_details *cmd_details);
|
struct i40e_asq_cmd_details *cmd_details);
|
||||||
i40e_status i40e_aq_stop_lldp(struct i40e_hw *hw, bool shutdown_agent,
|
i40e_status i40e_aq_stop_lldp(struct i40e_hw *hw, bool shutdown_agent,
|
||||||
struct i40e_asq_cmd_details *cmd_details);
|
struct i40e_asq_cmd_details *cmd_details);
|
||||||
|
i40e_status i40e_aq_set_dcb_parameters(struct i40e_hw *hw,
|
||||||
|
bool dcb_enable,
|
||||||
|
struct i40e_asq_cmd_details
|
||||||
|
*cmd_details);
|
||||||
i40e_status i40e_aq_start_lldp(struct i40e_hw *hw,
|
i40e_status i40e_aq_start_lldp(struct i40e_hw *hw,
|
||||||
struct i40e_asq_cmd_details *cmd_details);
|
struct i40e_asq_cmd_details *cmd_details);
|
||||||
i40e_status i40e_aq_get_cee_dcb_config(struct i40e_hw *hw,
|
i40e_status i40e_aq_get_cee_dcb_config(struct i40e_hw *hw,
|
||||||
|
@ -205,6 +205,7 @@ enum i40e_admin_queue_opc {
|
|||||||
/* DCB commands */
|
/* DCB commands */
|
||||||
i40e_aqc_opc_dcb_ignore_pfc = 0x0301,
|
i40e_aqc_opc_dcb_ignore_pfc = 0x0301,
|
||||||
i40e_aqc_opc_dcb_updated = 0x0302,
|
i40e_aqc_opc_dcb_updated = 0x0302,
|
||||||
|
i40e_aqc_opc_set_dcb_parameters = 0x0303,
|
||||||
|
|
||||||
/* TX scheduler */
|
/* TX scheduler */
|
||||||
i40e_aqc_opc_configure_vsi_bw_limit = 0x0400,
|
i40e_aqc_opc_configure_vsi_bw_limit = 0x0400,
|
||||||
@ -2461,6 +2462,17 @@ struct i40e_aqc_lldp_start {
|
|||||||
|
|
||||||
I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_start);
|
I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_start);
|
||||||
|
|
||||||
|
/* Set DCB (direct 0x0303) */
|
||||||
|
struct i40e_aqc_set_dcb_parameters {
|
||||||
|
u8 command;
|
||||||
|
#define I40E_AQ_DCB_SET_AGENT 0x1
|
||||||
|
#define I40E_DCB_VALID 0x1
|
||||||
|
u8 valid_flags;
|
||||||
|
u8 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
I40E_CHECK_CMD_LENGTH(i40e_aqc_set_dcb_parameters);
|
||||||
|
|
||||||
/* Apply MIB changes (0x0A07)
|
/* Apply MIB changes (0x0A07)
|
||||||
* uses the generic struc as it contains no data
|
* uses the generic struc as it contains no data
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user