bnx2x_vfpf.h revision 08f6dd89d26f8599dd138c25506960e3856fd062
11ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior/* bnx2x_vfpf.h: Broadcom Everest network driver. 21ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * 3247fa82be1301e4f89eaa5dc10be62a9cc84e8c5Yuval Mintz * Copyright (c) 2011-2013 Broadcom Corporation 41ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * 51ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * Unless you and Broadcom execute a separate written software license 61ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * agreement governing use of this software, this software is licensed to you 71ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * under the terms of the GNU General Public License version 2, available 81ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * at http://www.gnu.org/licenses/old-licenses/gpl-2.0.html (the "GPL"). 91ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * 101ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * Notwithstanding the above, under no circumstances may you combine this 111ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * software in any way with any other Broadcom software provided under a 121ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * license other than the GPL, without Broadcom's express prior written 131ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * consent. 141ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * 1508f6dd89d26f8599dd138c25506960e3856fd062Ariel Elior * Maintained by: Ariel Elior <ariel.elior@qlogic.com> 1608f6dd89d26f8599dd138c25506960e3856fd062Ariel Elior * Written by: Ariel Elior <ariel.elior@qlogic.com> 171ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior */ 181ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior#ifndef VF_PF_IF_H 191ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior#define VF_PF_IF_H 201ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior 216411280ac94db94a09770807d3871d2661803604Ariel Elior#ifdef CONFIG_BNX2X_SRIOV 226411280ac94db94a09770807d3871d2661803604Ariel Elior 23be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* Common definitions for all HVs */ 24be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct vf_pf_resc_request { 25be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_rxqs; 26be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_txqs; 27be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_sbs; 28be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_mac_filters; 29be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_vlan_filters; 30be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_mc_filters; /* No limit so superfluous */ 31be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 32be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 33be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct hw_sb_info { 34be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 hw_sb_id; /* aka absolute igu id, used to ack the sb */ 35be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 sb_qid; /* used to update DHC for sb */ 36be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 37be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 381ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior/* HW VF-PF channel definitions 391ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior * A.K.A VF-PF mailbox 401ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior */ 411ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior#define TLV_BUFFER_SIZE 1024 42abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior#define PF_VF_BULLETIN_SIZE 512 431ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior 448d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_TPA 0x0001 458d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_TPA_IPV6 0x0002 468d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_TPA_GRO 0x0004 478d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_CACHE_ALIGN 0x0008 488d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_STATS 0x0010 498d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_OV 0x0020 508d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_VLAN 0x0040 518d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_COS 0x0080 528d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_HC 0x0100 538d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_FLG_DHC 0x0200 54b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_QUEUE_FLG_LEADING_RSS 0x0400 558d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 568d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_DROP_IP_CS_ERR (1 << 0) 578d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_DROP_TCP_CS_ERR (1 << 1) 588d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_DROP_TTL0 (1 << 2) 598d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_QUEUE_DROP_UDP_CS_ERR (1 << 3) 608d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 61381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior#define VFPF_RX_MASK_ACCEPT_NONE 0x00000000 62381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior#define VFPF_RX_MASK_ACCEPT_MATCHED_UNICAST 0x00000001 63381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior#define VFPF_RX_MASK_ACCEPT_MATCHED_MULTICAST 0x00000002 64381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior#define VFPF_RX_MASK_ACCEPT_ALL_UNICAST 0x00000004 65381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior#define VFPF_RX_MASK_ACCEPT_ALL_MULTICAST 0x00000008 66381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior#define VFPF_RX_MASK_ACCEPT_BROADCAST 0x00000010 67abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior#define BULLETIN_CONTENT_SIZE (sizeof(struct pf_vf_bulletin_content)) 68abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior#define BULLETIN_ATTEMPTS 5 /* crc failures before throwing towel */ 69abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior#define BULLETIN_CRC_SEED 0 70381ac16b10ae9369ebbbd74bb52b970818f68022Ariel Elior 71be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorenum { 72be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior PFVF_STATUS_WAITING = 0, 73be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior PFVF_STATUS_SUCCESS, 74be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior PFVF_STATUS_FAILURE, 75be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior PFVF_STATUS_NOT_SUPPORTED, 76be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior PFVF_STATUS_NO_RESOURCE 77be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 78be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 79be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* vf pf channel tlvs */ 80be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* general tlv header (used for both vf->pf request and pf->vf response) */ 81be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct channel_tlv { 82be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u16 type; 83be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u16 length; 84be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 85be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 86be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* header of first vf->pf tlv carries the offset used to calculate response 87be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior * buffer address 88be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior */ 89be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct vfpf_first_tlv { 90be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct channel_tlv tl; 91be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u32 resp_msg_offset; 92be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 93be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 94be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* header of pf->vf tlvs, carries the status of handling the request */ 95be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct pfvf_tlv { 96be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct channel_tlv tl; 97be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 status; 98be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 padding[3]; 99be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 100be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 1014513f92576856c552212fb9608aca56b88022454Ariel Elior/* response tlv used for most tlvs */ 1024513f92576856c552212fb9608aca56b88022454Ariel Eliorstruct pfvf_general_resp_tlv { 1034513f92576856c552212fb9608aca56b88022454Ariel Elior struct pfvf_tlv hdr; 1044513f92576856c552212fb9608aca56b88022454Ariel Elior}; 1054513f92576856c552212fb9608aca56b88022454Ariel Elior 106be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* used to terminate and pad a tlv list */ 107be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct channel_list_end_tlv { 108be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct channel_tlv tl; 109be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 padding[4]; 110be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 111be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 112be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* Acquire */ 113be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct vfpf_acquire_tlv { 114be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct vfpf_first_tlv first_tlv; 115be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 116be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct vf_pf_vfdev_info { 117be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior /* the following fields are for debug purposes */ 118be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 vf_id; /* ME register value */ 119be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 vf_os; /* e.g. Linux, W2K8 */ 120be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 padding[2]; 121be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior } vfdev_info; 122be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 123be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct vf_pf_resc_request resc_request; 124be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 125be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior aligned_u64 bulletin_addr; 126be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 127be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 1289b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior/* simple operation request on queue */ 1299b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Eliorstruct vfpf_q_op_tlv { 1309b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior struct vfpf_first_tlv first_tlv; 1319b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior u8 vf_qid; 1329b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior u8 padding[3]; 1339b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior}; 1349b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior 135b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior/* receive side scaling tlv */ 136b9871bcfd211d316adee317608dab44c58d6ea2dAriel Eliorstruct vfpf_rss_tlv { 137b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior struct vfpf_first_tlv first_tlv; 138b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u32 rss_flags; 139b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_MODE_DISABLED (1 << 0) 140b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_MODE_REGULAR (1 << 1) 141b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_SET_SRCH (1 << 2) 142b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_IPV4 (1 << 3) 143b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_IPV4_TCP (1 << 4) 144b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_IPV4_UDP (1 << 5) 145b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_IPV6 (1 << 6) 146b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_IPV6_TCP (1 << 7) 147b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_RSS_IPV6_UDP (1 << 8) 148b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u8 rss_result_mask; 149b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u8 ind_table_size; 150b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u8 rss_key_size; 151b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u8 padding; 152b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u8 ind_table[T_ETH_INDIRECTION_TABLE_SIZE]; 153b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u32 rss_key[T_ETH_RSS_KEY]; /* hash values */ 154b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior}; 155b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior 156be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior/* acquire response tlv - carries the allocated resources */ 157be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorstruct pfvf_acquire_resp_tlv { 158be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct pfvf_tlv hdr; 159be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct pf_vf_pfdev_info { 160be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u32 chip_num; 161be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u32 pf_cap; 162be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior#define PFVF_CAP_RSS 0x00000001 163be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior#define PFVF_CAP_DHC 0x00000002 164be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior#define PFVF_CAP_TPA 0x00000004 16514a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon#define PFVF_CAP_TPA_UPDATE 0x00000008 166be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior char fw_ver[32]; 167be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u16 db_size; 168be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 indices_per_sb; 169be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 padding; 170be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior } pfdev_info; 171be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct pf_vf_resc { 172be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior /* in case of status NO_RESOURCE in message hdr, pf will fill 173be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior * this struct with suggested amount of resources for next 174be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior * acquire request 175be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior */ 176be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior#define PFVF_MAX_QUEUES_PER_VF 16 177be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior#define PFVF_MAX_SBS_PER_VF 16 178be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct hw_sb_info hw_sbs[PFVF_MAX_SBS_PER_VF]; 179be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 hw_qid[PFVF_MAX_QUEUES_PER_VF]; 180be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_rxqs; 181be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_txqs; 182be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_sbs; 183be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_mac_filters; 184be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_vlan_filters; 185be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 num_mc_filters; 186be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 permanent_mac_addr[ETH_ALEN]; 187be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 current_mac_addr[ETH_ALEN]; 188be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior u8 padding[2]; 189be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior } resc; 190be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 191be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 1923d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintzstruct vfpf_port_phys_id_resp_tlv { 1933d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintz struct channel_tlv tl; 1943d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintz u8 id[ETH_ALEN]; 1953d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintz u8 padding[2]; 1963d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintz}; 1973d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintz 198b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior#define VFPF_INIT_FLG_STATS_COALESCE (1 << 0) /* when set the VFs queues 199b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior * stats will be coalesced on 200b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior * the leading RSS queue 201b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior */ 202b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior 2038d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior/* Init VF */ 2048d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Eliorstruct vfpf_init_tlv { 2058d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_first_tlv first_tlv; 2068d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 sb_addr[PFVF_MAX_SBS_PER_VF]; /* vf_sb based */ 2078d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 spq_addr; 2088d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 stats_addr; 209b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u16 stats_stride; 210b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u32 flags; 211b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior u32 padding[2]; 2128d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior}; 2138d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2148d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior/* Setup Queue */ 2158d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Eliorstruct vfpf_setup_q_tlv { 2168d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_first_tlv first_tlv; 2178d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2188d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vf_pf_rxq_params { 2198d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* physical addresses */ 2208d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 rcq_addr; 2218d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 rcq_np_addr; 2228d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 rxq_addr; 2238d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 sge_addr; 2248d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2258d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* sb + hc info */ 2268d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 vf_sb; /* index in hw_sbs[] */ 2278d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 sb_index; /* Index in the SB */ 2288d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 hc_rate; /* desired interrupts per sec. */ 2298d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* valid iff VFPF_QUEUE_FLG_HC */ 2308d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* rx buffer info */ 2318d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 mtu; 2328d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 buf_sz; 2338d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 flags; /* VFPF_QUEUE_FLG_X flags */ 2348d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 stat_id; /* valid iff VFPF_QUEUE_FLG_STATS */ 2358d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2368d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* valid iff VFPF_QUEUE_FLG_TPA */ 2378d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 sge_buf_sz; 2388d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 tpa_agg_sz; 2398d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 max_sge_pkt; 2408d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2418d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 drop_flags; /* VFPF_QUEUE_DROP_X, for Linux VMs 2428d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior * all the flags are turned off 2438d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior */ 2448d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2458d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 cache_line_log; /* VFPF_QUEUE_FLG_CACHE_ALIGN */ 2468d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 padding; 2478d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior } rxq; 2488d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2498d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vf_pf_txq_params { 2508d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* physical addresses */ 2518d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior aligned_u64 txq_addr; 2528d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2538d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* sb + hc info */ 2548d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 vf_sb; /* index in hw_sbs[] */ 2558d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 sb_index; /* Index in the SB */ 2568d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 hc_rate; /* desired interrupts per sec. */ 2578d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior /* valid iff VFPF_QUEUE_FLG_HC */ 2588d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u32 flags; /* VFPF_QUEUE_FLG_X flags */ 2598d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 stat_id; /* valid iff VFPF_QUEUE_FLG_STATS */ 2608d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 traffic_type; /* see in setup_context() */ 2618d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 padding; 2628d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior } txq; 2638d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2648d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 vf_qid; /* index in hw_qid[] */ 2658d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 param_valid; 2668d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_RXQ_VALID 0x01 2678d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_TXQ_VALID 0x02 2688d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 padding[2]; 2698d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior}; 2708d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2718d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior/* Set Queue Filters */ 2728d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Eliorstruct vfpf_q_mac_vlan_filter { 2738d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u32 flags; 2748d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_Q_FILTER_DEST_MAC_VALID 0x01 2758d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_Q_FILTER_VLAN_TAG_VALID 0x02 2768d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_Q_FILTER_SET_MAC 0x100 /* set/clear */ 2778d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 mac[ETH_ALEN]; 2788d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u16 vlan_tag; 2798d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior}; 2808d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2818d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior/* configure queue filters */ 2828d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Eliorstruct vfpf_set_q_filters_tlv { 2838d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_first_tlv first_tlv; 2848d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2858d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u32 flags; 2868d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_SET_Q_FILTERS_MAC_VLAN_CHANGED 0x01 2878d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_SET_Q_FILTERS_MULTICAST_CHANGED 0x02 2888d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define VFPF_SET_Q_FILTERS_RX_MASK_CHANGED 0x04 2898d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2908d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 vf_qid; /* index in hw_qid[] */ 2918d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 n_mac_vlan_filters; 2928d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 n_multicast; 2938d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 padding; 2948d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 2958d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define PFVF_MAX_MAC_FILTERS 16 2968d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define PFVF_MAX_VLAN_FILTERS 16 2978d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define PFVF_MAX_FILTERS (PFVF_MAX_MAC_FILTERS +\ 2988d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior PFVF_MAX_VLAN_FILTERS) 2998d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_q_mac_vlan_filter filters[PFVF_MAX_FILTERS]; 3008d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 3018d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior#define PFVF_MAX_MULTICAST_PER_VF 32 3028d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u8 multicast[PFVF_MAX_MULTICAST_PER_VF][ETH_ALEN]; 3038d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 3048d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior u32 rx_mask; /* see mask constants at the top of the file */ 3058d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior}; 3068d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior 30714a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderonstruct vfpf_tpa_tlv { 30814a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon struct vfpf_first_tlv first_tlv; 30914a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon 31014a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon struct vf_pf_tpa_client_info { 31114a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon aligned_u64 sge_addr[PFVF_MAX_QUEUES_PER_VF]; 31214a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 update_ipv4; 31314a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 update_ipv6; 31414a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 max_tpa_queues; 31514a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 max_sges_for_packet; 31614a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 complete_on_both_clients; 31714a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 dont_verify_thr; 31814a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u8 tpa_mode; 31914a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u16 sge_buff_size; 32014a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u16 max_agg_size; 32114a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u16 sge_pause_thr_low; 32214a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon u16 sge_pause_thr_high; 32314a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon } tpa_client_info; 32414a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon}; 32514a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon 3269b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior/* close VF (disable VF) */ 3279b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Eliorstruct vfpf_close_tlv { 3289b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior struct vfpf_first_tlv first_tlv; 3299b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior u16 vf_id; /* for debug */ 3309b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior u8 padding[2]; 3319b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior}; 3329b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior 3334513f92576856c552212fb9608aca56b88022454Ariel Elior/* release the VF's acquired resources */ 3344513f92576856c552212fb9608aca56b88022454Ariel Eliorstruct vfpf_release_tlv { 3354513f92576856c552212fb9608aca56b88022454Ariel Elior struct vfpf_first_tlv first_tlv; 3364513f92576856c552212fb9608aca56b88022454Ariel Elior u16 vf_id; 3374513f92576856c552212fb9608aca56b88022454Ariel Elior u8 padding[2]; 3384513f92576856c552212fb9608aca56b88022454Ariel Elior}; 3394513f92576856c552212fb9608aca56b88022454Ariel Elior 3401ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Eliorstruct tlv_buffer_size { 3411ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior u8 tlv_buffer[TLV_BUFFER_SIZE]; 3421ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior}; 3431ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior 3441ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Eliorunion vfpf_tlvs { 345be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct vfpf_first_tlv first_tlv; 346be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct vfpf_acquire_tlv acquire; 3478d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_init_tlv init; 3489b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior struct vfpf_close_tlv close; 3499b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior struct vfpf_q_op_tlv q_op; 3508d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_setup_q_tlv setup_q; 3518d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior struct vfpf_set_q_filters_tlv set_q_filters; 352b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior struct vfpf_release_tlv release; 353b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior struct vfpf_rss_tlv update_rss; 35414a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon struct vfpf_tpa_tlv update_tpa; 355b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior struct channel_list_end_tlv list_end; 3561ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior struct tlv_buffer_size tlv_buf_size; 3571ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior}; 3581ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior 3591ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Eliorunion pfvf_tlvs { 360b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior struct pfvf_general_resp_tlv general_resp; 361be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct pfvf_acquire_resp_tlv acquire_resp; 362be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior struct channel_list_end_tlv list_end; 3631ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior struct tlv_buffer_size tlv_buf_size; 3641ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior}; 365be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 366abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior/* This is a structure which is allocated in the VF, which the PF may update 367abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior * when it deems it necessary to do so. The bulletin board is sampled 368abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior * periodically by the VF. A copy per VF is maintained in the PF (to prevent 369abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior * loss of data upon multiple updates (or the need for read modify write)). 370abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior */ 371abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Eliorstruct pf_vf_bulletin_size { 372abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior u8 size[PF_VF_BULLETIN_SIZE]; 373abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior}; 374abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior 375abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Eliorstruct pf_vf_bulletin_content { 376abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior u32 crc; /* crc of structure to ensure is not in 377abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior * mid-update 378abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior */ 3794c133c39ae1bc541b3db5903a680da738a0c57e3Ariel Elior u16 version; 3804c133c39ae1bc541b3db5903a680da738a0c57e3Ariel Elior u16 length; 381abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior 382abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior aligned_u64 valid_bitmap; /* bitmap indicating which fields 383abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior * hold valid values 384abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior */ 385abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior 386abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior#define MAC_ADDR_VALID 0 /* alert the vf that a new mac address 387abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior * is available for it 388abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior */ 3893ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior#define VLAN_VALID 1 /* when set, the vf should not access 3903ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior * the vfpf channel 3913ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior */ 39278c3bcc5d1af64f51d9f30b0f5a2d1985bf69734Ariel Elior#define CHANNEL_DOWN 2 /* vfpf channel is disabled. VFs are not 39378c3bcc5d1af64f51d9f30b0f5a2d1985bf69734Ariel Elior * to attempt to send messages on the 39478c3bcc5d1af64f51d9f30b0f5a2d1985bf69734Ariel Elior * channel after this bit is set 39578c3bcc5d1af64f51d9f30b0f5a2d1985bf69734Ariel Elior */ 396abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior u8 mac[ETH_ALEN]; 3973ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior u8 mac_padding[2]; 3983ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior 3993ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior u16 vlan; 4003ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior u8 vlan_padding[6]; 401abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior}; 402abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior 403abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Eliorunion pf_vf_bulletin { 404abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior struct pf_vf_bulletin_content content; 405abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior struct pf_vf_bulletin_size size; 406abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior}; 407abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior 408be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior#define MAX_TLVS_IN_LIST 50 409be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 410be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Eliorenum channel_tlvs { 411be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior CHANNEL_TLV_NONE, 412be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior CHANNEL_TLV_ACQUIRE, 4138d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior CHANNEL_TLV_INIT, 4148d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior CHANNEL_TLV_SETUP_Q, 4158d9ac297d18dbe05b6e7cb4378da51e67143b452Ariel Elior CHANNEL_TLV_SET_Q_FILTERS, 416b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior CHANNEL_TLV_ACTIVATE_Q, 417b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior CHANNEL_TLV_DEACTIVATE_Q, 4189b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior CHANNEL_TLV_TEARDOWN_Q, 4199b176b6b63ed07472c26b6833a0ac23b373e6bf8Ariel Elior CHANNEL_TLV_CLOSE, 4204513f92576856c552212fb9608aca56b88022454Ariel Elior CHANNEL_TLV_RELEASE, 421b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior CHANNEL_TLV_UPDATE_RSS_DEPRECATED, 422f1929b016c2161c364e45c21788aaae938ae557cAriel Elior CHANNEL_TLV_PF_RELEASE_VF, 423be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior CHANNEL_TLV_LIST_END, 424d16132cef8a72ff7563aff95f03bf505779fe3e6Ariel Elior CHANNEL_TLV_FLR, 425abc5a021ba645cd162205209bd5664a0d4b866a6Ariel Elior CHANNEL_TLV_PF_SET_MAC, 4263ec9f9ca79757c54b12f87e51a6664ba1e597b17Ariel Elior CHANNEL_TLV_PF_SET_VLAN, 427b9871bcfd211d316adee317608dab44c58d6ea2dAriel Elior CHANNEL_TLV_UPDATE_RSS, 4283d7d562ca4a884089344eb13451b5903a18d3817Yuval Mintz CHANNEL_TLV_PHYS_PORT_ID, 42914a94ebd48c12f1aee7495c1a1518c33efd3647cMichal Kalderon CHANNEL_TLV_UPDATE_TPA, 430be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior CHANNEL_TLV_MAX 431be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior}; 432be1f1ffaf9acf06f556a00e2d1548c70af2b6deaAriel Elior 4336411280ac94db94a09770807d3871d2661803604Ariel Elior#endif /* CONFIG_BNX2X_SRIOV */ 4341ab4434c64f8d4786e4a26299e0ebb138a0a6415Ariel Elior#endif /* VF_PF_IF_H */ 435