0001
0002
0003
0004 #ifndef _FM10K_VF_H_
0005 #define _FM10K_VF_H_
0006
0007 #include "fm10k_type.h"
0008 #include "fm10k_common.h"
0009
0010 enum fm10k_vf_tlv_msg_id {
0011 FM10K_VF_MSG_ID_TEST = 0,
0012 FM10K_VF_MSG_ID_MSIX,
0013 FM10K_VF_MSG_ID_MAC_VLAN,
0014 FM10K_VF_MSG_ID_LPORT_STATE,
0015 FM10K_VF_MSG_ID_MAX,
0016 };
0017
0018 enum fm10k_tlv_mac_vlan_attr_id {
0019 FM10K_MAC_VLAN_MSG_VLAN,
0020 FM10K_MAC_VLAN_MSG_SET,
0021 FM10K_MAC_VLAN_MSG_MAC,
0022 FM10K_MAC_VLAN_MSG_DEFAULT_MAC,
0023 FM10K_MAC_VLAN_MSG_MULTICAST,
0024 FM10K_MAC_VLAN_MSG_ID_MAX
0025 };
0026
0027 enum fm10k_tlv_lport_state_attr_id {
0028 FM10K_LPORT_STATE_MSG_DISABLE,
0029 FM10K_LPORT_STATE_MSG_XCAST_MODE,
0030 FM10K_LPORT_STATE_MSG_READY,
0031 FM10K_LPORT_STATE_MSG_MAX
0032 };
0033
0034 #define FM10K_VF_MSG_MSIX_HANDLER(func) \
0035 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MSIX, NULL, func)
0036
0037 s32 fm10k_msg_mac_vlan_vf(struct fm10k_hw *, u32 **, struct fm10k_mbx_info *);
0038 extern const struct fm10k_tlv_attr fm10k_mac_vlan_msg_attr[];
0039 #define FM10K_VF_MSG_MAC_VLAN_HANDLER(func) \
0040 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_MAC_VLAN, \
0041 fm10k_mac_vlan_msg_attr, func)
0042
0043 s32 fm10k_msg_lport_state_vf(struct fm10k_hw *, u32 **,
0044 struct fm10k_mbx_info *);
0045 extern const struct fm10k_tlv_attr fm10k_lport_state_msg_attr[];
0046 #define FM10K_VF_MSG_LPORT_STATE_HANDLER(func) \
0047 FM10K_MSG_HANDLER(FM10K_VF_MSG_ID_LPORT_STATE, \
0048 fm10k_lport_state_msg_attr, func)
0049
0050 extern const struct fm10k_info fm10k_vf_info;
0051 #endif