30fcdee694ea94783fd7dbfd032b44d4ac1cda56
[dpdk.git] / lib / librte_eal / common / include / rte_pci_dev_ids.h
1 /*-
2  * This file is provided under a dual BSD/GPLv2 license.  When using or
3  *   redistributing this file, you may do so under either license.
4  *
5  *   GPL LICENSE SUMMARY
6  *
7  *   Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
8  *
9  *   This program is free software; you can redistribute it and/or modify
10  *   it under the terms of version 2 of the GNU General Public License as
11  *   published by the Free Software Foundation.
12  *
13  *   This program is distributed in the hope that it will be useful, but
14  *   WITHOUT ANY WARRANTY; without even the implied warranty of
15  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  *   General Public License for more details.
17  *
18  *   You should have received a copy of the GNU General Public License
19  *   along with this program; if not, write to the Free Software
20  *   Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21  *   The full GNU General Public License is included in this distribution
22  *   in the file called LICENSE.GPL.
23  *
24  *   Contact Information:
25  *   Intel Corporation
26  *
27  *   BSD LICENSE
28  *
29  *   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
30  *   All rights reserved.
31  *
32  *   Redistribution and use in source and binary forms, with or without
33  *   modification, are permitted provided that the following conditions
34  *   are met:
35  *
36  *     * Redistributions of source code must retain the above copyright
37  *       notice, this list of conditions and the following disclaimer.
38  *     * Redistributions in binary form must reproduce the above copyright
39  *       notice, this list of conditions and the following disclaimer in
40  *       the documentation and/or other materials provided with the
41  *       distribution.
42  *     * Neither the name of Intel Corporation nor the names of its
43  *       contributors may be used to endorse or promote products derived
44  *       from this software without specific prior written permission.
45  *
46  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
47  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
48  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
49  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
50  *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
53  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
54  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
55  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57  *
58  */
59
60 #ifndef RTE_PCI_DEV_ID_DECL_IGB
61 #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev)
62 #endif
63
64 #ifndef RTE_PCI_DEV_ID_DECL_IGBVF
65 #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev)
66 #endif
67
68 #ifndef RTE_PCI_DEV_ID_DECL_IXGBE
69 #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev)
70 #endif
71
72 #ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF
73 #define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev)
74 #endif
75
76 #ifndef RTE_PCI_DEV_ID_DECL_VIRTIO
77 #define RTE_PCI_DEV_ID_DECL_VIRTIO(vend, dev)
78 #endif
79
80 #ifndef RTE_PCI_DEV_ID_DECL_VMXNET3
81 #define RTE_PCI_DEV_ID_DECL_VMXNET3(vend, dev)
82 #endif
83
84 #ifndef RTE_PCI_DEV_ID_DECL_FM10K
85 #define RTE_PCI_DEV_ID_DECL_FM10K(vend, dev)
86 #endif
87
88 #ifndef RTE_PCI_DEV_ID_DECL_FM10KVF
89 #define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev)
90 #endif
91
92 #ifndef RTE_PCI_DEV_ID_DECL_ENIC
93 #define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev)
94 #endif
95
96 #ifndef RTE_PCI_DEV_ID_DECL_BNX2X
97 #define RTE_PCI_DEV_ID_DECL_BNX2X(vend, dev)
98 #endif
99
100 #ifndef RTE_PCI_DEV_ID_DECL_BNX2XVF
101 #define RTE_PCI_DEV_ID_DECL_BNX2XVF(vend, dev)
102 #endif
103
104 #ifndef RTE_PCI_DEV_ID_DECL_BNXT
105 #define RTE_PCI_DEV_ID_DECL_BNXT(vend, dev)
106 #endif
107
108 #ifndef PCI_VENDOR_ID_INTEL
109 /** Vendor ID used by Intel devices */
110 #define PCI_VENDOR_ID_INTEL 0x8086
111 #endif
112
113 #ifndef PCI_VENDOR_ID_QUMRANET
114 /** Vendor ID used by virtio devices */
115 #define PCI_VENDOR_ID_QUMRANET 0x1AF4
116 #endif
117
118 #ifndef PCI_VENDOR_ID_VMWARE
119 /** Vendor ID used by VMware devices */
120 #define PCI_VENDOR_ID_VMWARE 0x15AD
121 #endif
122
123 #ifndef PCI_VENDOR_ID_CISCO
124 /** Vendor ID used by Cisco VIC devices */
125 #define PCI_VENDOR_ID_CISCO 0x1137
126 #endif
127
128 #ifndef PCI_VENDOR_ID_BROADCOM
129 /** Vendor ID used by Broadcom devices */
130 #define PCI_VENDOR_ID_BROADCOM 0x14E4
131 #endif
132
133 /******************** Physical IGB devices from e1000_hw.h ********************/
134
135 #define E1000_DEV_ID_82576                      0x10C9
136 #define E1000_DEV_ID_82576_FIBER                0x10E6
137 #define E1000_DEV_ID_82576_SERDES               0x10E7
138 #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
139 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
140 #define E1000_DEV_ID_82576_NS                   0x150A
141 #define E1000_DEV_ID_82576_NS_SERDES            0x1518
142 #define E1000_DEV_ID_82576_SERDES_QUAD          0x150D
143 #define E1000_DEV_ID_82575EB_COPPER             0x10A7
144 #define E1000_DEV_ID_82575EB_FIBER_SERDES       0x10A9
145 #define E1000_DEV_ID_82575GB_QUAD_COPPER        0x10D6
146 #define E1000_DEV_ID_82580_COPPER               0x150E
147 #define E1000_DEV_ID_82580_FIBER                0x150F
148 #define E1000_DEV_ID_82580_SERDES               0x1510
149 #define E1000_DEV_ID_82580_SGMII                0x1511
150 #define E1000_DEV_ID_82580_COPPER_DUAL          0x1516
151 #define E1000_DEV_ID_82580_QUAD_FIBER           0x1527
152 #define E1000_DEV_ID_I350_COPPER                0x1521
153 #define E1000_DEV_ID_I350_FIBER                 0x1522
154 #define E1000_DEV_ID_I350_SERDES                0x1523
155 #define E1000_DEV_ID_I350_SGMII                 0x1524
156 #define E1000_DEV_ID_I350_DA4                   0x1546
157 #define E1000_DEV_ID_I210_COPPER                0x1533
158 #define E1000_DEV_ID_I210_COPPER_OEM1           0x1534
159 #define E1000_DEV_ID_I210_COPPER_IT             0x1535
160 #define E1000_DEV_ID_I210_FIBER                 0x1536
161 #define E1000_DEV_ID_I210_SERDES                0x1537
162 #define E1000_DEV_ID_I210_SGMII                 0x1538
163 #define E1000_DEV_ID_I210_COPPER_FLASHLESS      0x157B
164 #define E1000_DEV_ID_I210_SERDES_FLASHLESS      0x157C
165 #define E1000_DEV_ID_I211_COPPER                0x1539
166 #define E1000_DEV_ID_I354_BACKPLANE_1GBPS       0x1F40
167 #define E1000_DEV_ID_I354_SGMII                 0x1F41
168 #define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS     0x1F45
169 #define E1000_DEV_ID_DH89XXCC_SGMII             0x0438
170 #define E1000_DEV_ID_DH89XXCC_SERDES            0x043A
171 #define E1000_DEV_ID_DH89XXCC_BACKPLANE         0x043C
172 #define E1000_DEV_ID_DH89XXCC_SFP               0x0440
173
174 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576)
175 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER)
176 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES)
177 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER)
178 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2)
179 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS)
180 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES)
181 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD)
182
183 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
184 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES)
185 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER)
186
187 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER)
188 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER)
189 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES)
190 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII)
191 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL)
192 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER)
193
194 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER)
195 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER)
196 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES)
197 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII)
198 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4)
199 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER)
200 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1)
201 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT)
202 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER)
203 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES)
204 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII)
205 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER)
206 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS)
207 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII)
208 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS)
209 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII)
210 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES)
211 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE)
212 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP)
213
214 /****************** Physical IXGBE devices from ixgbe_type.h ******************/
215
216 #define IXGBE_DEV_ID_82598                      0x10B6
217 #define IXGBE_DEV_ID_82598_BX                   0x1508
218 #define IXGBE_DEV_ID_82598AF_DUAL_PORT          0x10C6
219 #define IXGBE_DEV_ID_82598AF_SINGLE_PORT        0x10C7
220 #define IXGBE_DEV_ID_82598AT                    0x10C8
221 #define IXGBE_DEV_ID_82598AT2                   0x150B
222 #define IXGBE_DEV_ID_82598EB_SFP_LOM            0x10DB
223 #define IXGBE_DEV_ID_82598EB_CX4                0x10DD
224 #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT        0x10EC
225 #define IXGBE_DEV_ID_82598_DA_DUAL_PORT         0x10F1
226 #define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM      0x10E1
227 #define IXGBE_DEV_ID_82598EB_XF_LR              0x10F4
228 #define IXGBE_DEV_ID_82599_KX4                  0x10F7
229 #define IXGBE_DEV_ID_82599_KX4_MEZZ             0x1514
230 #define IXGBE_DEV_ID_82599_KR                   0x1517
231 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE      0x10F8
232 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ       0x000C
233 #define IXGBE_DEV_ID_82599_CX4                  0x10F9
234 #define IXGBE_DEV_ID_82599_SFP                  0x10FB
235 #define IXGBE_SUBDEV_ID_82599_SFP               0x11A9
236 #define IXGBE_SUBDEV_ID_82599_RNDC              0x1F72
237 #define IXGBE_SUBDEV_ID_82599_560FLR            0x17D0
238 #define IXGBE_SUBDEV_ID_82599_ECNA_DP           0x0470
239 #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE       0x152A
240 #define IXGBE_DEV_ID_82599_SFP_FCOE             0x1529
241 #define IXGBE_DEV_ID_82599_SFP_EM               0x1507
242 #define IXGBE_DEV_ID_82599_SFP_SF2              0x154D
243 #define IXGBE_DEV_ID_82599_SFP_SF_QP            0x154A
244 #define IXGBE_DEV_ID_82599_QSFP_SF_QP           0x1558
245 #define IXGBE_DEV_ID_82599EN_SFP                0x1557
246 #define IXGBE_DEV_ID_82599_XAUI_LOM             0x10FC
247 #define IXGBE_DEV_ID_82599_T3_LOM               0x151C
248 #define IXGBE_DEV_ID_82599_LS                   0x154F
249 #define IXGBE_DEV_ID_X540T                      0x1528
250 #define IXGBE_DEV_ID_X540T1                     0x1560
251 #define IXGBE_DEV_ID_X550EM_X_SFP               0x15AC
252 #define IXGBE_DEV_ID_X550EM_X_10G_T             0x15AD
253 #define IXGBE_DEV_ID_X550EM_X_1G_T              0x15AE
254 #define IXGBE_DEV_ID_X550T                      0x1563
255 #define IXGBE_DEV_ID_X550T1                     0x15D1
256 #define IXGBE_DEV_ID_X550EM_A_KR                0x15C2
257 #define IXGBE_DEV_ID_X550EM_A_KR_L              0x15C3
258 #define IXGBE_DEV_ID_X550EM_A_SFP_N             0x15C4
259 #define IXGBE_DEV_ID_X550EM_A_SGMII             0x15C6
260 #define IXGBE_DEV_ID_X550EM_A_SGMII_L           0x15C7
261 #define IXGBE_DEV_ID_X550EM_A_10G_T             0x15C8
262 #define IXGBE_DEV_ID_X550EM_A_QSFP              0x15CA
263 #define IXGBE_DEV_ID_X550EM_A_QSFP_N            0x15CC
264 #define IXGBE_DEV_ID_X550EM_A_SFP               0x15CE
265 #define IXGBE_DEV_ID_X550EM_A_1G_T              0x15E4
266 #define IXGBE_DEV_ID_X550EM_A_1G_T_L            0x15E5
267 #define IXGBE_DEV_ID_X550EM_X_KX4               0x15AA
268 #define IXGBE_DEV_ID_X550EM_X_KR                0x15AB
269
270 #ifdef RTE_NIC_BYPASS
271 #define IXGBE_DEV_ID_82599_BYPASS               0x155D
272 #endif
273
274 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598)
275 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX)
276 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)
277 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
278         IXGBE_DEV_ID_82598AF_SINGLE_PORT)
279 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT)
280 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2)
281 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM)
282 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4)
283 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT)
284 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT)
285 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
286         IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM)
287 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR)
288 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4)
289 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ)
290 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR)
291 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
292         IXGBE_DEV_ID_82599_COMBO_BACKPLANE)
293 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
294         IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
295 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4)
296 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP)
297 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP)
298 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC)
299 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR)
300 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP)
301 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE)
302 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE)
303 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM)
304 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2)
305 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP)
306 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP)
307 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP)
308 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM)
309 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM)
310 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS)
311 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T)
312 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1)
313 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP)
314 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T)
315 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T)
316 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T)
317 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T1)
318 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR)
319 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR_L)
320 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N)
321 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII)
322 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L)
323 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_10G_T)
324 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP)
325 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP_N)
326 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP)
327 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T)
328 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L)
329 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4)
330 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR)
331
332 #ifdef RTE_NIC_BYPASS
333 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS)
334 #endif
335
336 /*************** Physical FM10K devices from fm10k_type.h ***************/
337
338 #define FM10K_DEV_ID_PF                   0x15A4
339 #define FM10K_DEV_ID_SDI_FM10420_QDA2     0x15D0
340
341 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_PF)
342 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2)
343
344 /****************** Virtual IGB devices from e1000_hw.h ******************/
345
346 #define E1000_DEV_ID_82576_VF                   0x10CA
347 #define E1000_DEV_ID_82576_VF_HV                0x152D
348 #define E1000_DEV_ID_I350_VF                    0x1520
349 #define E1000_DEV_ID_I350_VF_HV                 0x152F
350
351 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF)
352 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV)
353 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF)
354 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV)
355
356 /****************** Virtual IXGBE devices from ixgbe_type.h ******************/
357
358 #define IXGBE_DEV_ID_82599_VF                   0x10ED
359 #define IXGBE_DEV_ID_82599_VF_HV                0x152E
360 #define IXGBE_DEV_ID_X540_VF                    0x1515
361 #define IXGBE_DEV_ID_X540_VF_HV                 0x1530
362 #define IXGBE_DEV_ID_X550_VF_HV                 0x1564
363 #define IXGBE_DEV_ID_X550_VF                    0x1565
364 #define IXGBE_DEV_ID_X550EM_A_VF                0x15C5
365 #define IXGBE_DEV_ID_X550EM_A_VF_HV             0x15B4
366 #define IXGBE_DEV_ID_X550EM_X_VF                0x15A8
367 #define IXGBE_DEV_ID_X550EM_X_VF_HV             0x15A9
368
369 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF)
370 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV)
371 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF)
372 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV)
373 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV)
374 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF)
375 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF)
376 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF_HV)
377 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF)
378 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV)
379
380 /****************** Virtio devices from virtio.h ******************/
381
382 #define QUMRANET_DEV_ID_VIRTIO                  0x1000
383
384 RTE_PCI_DEV_ID_DECL_VIRTIO(PCI_VENDOR_ID_QUMRANET, QUMRANET_DEV_ID_VIRTIO)
385
386 /****************** VMware VMXNET3 devices ******************/
387
388 #define VMWARE_DEV_ID_VMXNET3                   0x07B0
389
390 RTE_PCI_DEV_ID_DECL_VMXNET3(PCI_VENDOR_ID_VMWARE, VMWARE_DEV_ID_VMXNET3)
391
392 /*************** Virtual FM10K devices from fm10k_type.h ***************/
393
394 #define FM10K_DEV_ID_VF                   0x15A5
395
396 RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_VF)
397
398 /****************** Cisco VIC devices ******************/
399
400 #define PCI_DEVICE_ID_CISCO_VIC_ENET         0x0043  /* ethernet vnic */
401 #define PCI_DEVICE_ID_CISCO_VIC_ENET_VF      0x0071  /* enet SRIOV VF */
402
403 RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET)
404 RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET_VF)
405
406 /****************** QLogic devices ******************/
407
408 /* Broadcom/QLogic BNX2X */
409 #define BNX2X_DEV_ID_57710      0x164e
410 #define BNX2X_DEV_ID_57711      0x164f
411 #define BNX2X_DEV_ID_57711E     0x1650
412 #define BNX2X_DEV_ID_57712      0x1662
413 #define BNX2X_DEV_ID_57712_MF   0x1663
414 #define BNX2X_DEV_ID_57712_VF   0x166f
415 #define BNX2X_DEV_ID_57713      0x1651
416 #define BNX2X_DEV_ID_57713E     0x1652
417 #define BNX2X_DEV_ID_57800      0x168a
418 #define BNX2X_DEV_ID_57800_MF   0x16a5
419 #define BNX2X_DEV_ID_57800_VF   0x16a9
420 #define BNX2X_DEV_ID_57810      0x168e
421 #define BNX2X_DEV_ID_57810_MF   0x16ae
422 #define BNX2X_DEV_ID_57810_VF   0x16af
423 #define BNX2X_DEV_ID_57811      0x163d
424 #define BNX2X_DEV_ID_57811_MF   0x163e
425 #define BNX2X_DEV_ID_57811_VF   0x163f
426
427 #define BNX2X_DEV_ID_57840_OBS          0x168d
428 #define BNX2X_DEV_ID_57840_OBS_MF       0x16ab
429 #define BNX2X_DEV_ID_57840_4_10         0x16a1
430 #define BNX2X_DEV_ID_57840_2_20         0x16a2
431 #define BNX2X_DEV_ID_57840_MF           0x16a4
432 #define BNX2X_DEV_ID_57840_VF           0x16ad
433
434 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57800)
435 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57800_VF)
436 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57711)
437 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810)
438 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810_VF)
439 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811)
440 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811_VF)
441 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_OBS)
442 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_4_10)
443 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_2_20)
444 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_VF)
445 #ifdef RTE_LIBRTE_BNX2X_MF_SUPPORT
446 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810_MF)
447 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811_MF)
448 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_MF)
449 #endif
450
451 /****************** Broadcom bnxt devices ******************/
452
453 #define BROADCOM_DEV_ID_57301                  0x16c8
454 #define BROADCOM_DEV_ID_57302                  0x16c9
455 #define BROADCOM_DEV_ID_57304_PF               0x16ca
456 #define BROADCOM_DEV_ID_57304_VF               0x16cb
457 #define BROADCOM_DEV_ID_57402                  0x16d0
458 #define BROADCOM_DEV_ID_57404                  0x16d1
459 #define BROADCOM_DEV_ID_57406_PF               0x16d2
460 #define BROADCOM_DEV_ID_57406_VF               0x16d3
461 #define BROADCOM_DEV_ID_57406_MF               0x16d4
462 #define BROADCOM_DEV_ID_57314                  0x16df
463
464 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57301)
465 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57302)
466 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57304_PF)
467 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57304_VF)
468 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57402)
469 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57404)
470 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_PF)
471 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_VF)
472 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_MF)
473 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57314)
474
475 /*
476  * Undef all RTE_PCI_DEV_ID_DECL_* here.
477  */
478 #undef RTE_PCI_DEV_ID_DECL_BNX2X
479 #undef RTE_PCI_DEV_ID_DECL_BNX2XVF
480 #undef RTE_PCI_DEV_ID_DECL_IGB
481 #undef RTE_PCI_DEV_ID_DECL_IGBVF
482 #undef RTE_PCI_DEV_ID_DECL_IXGBE
483 #undef RTE_PCI_DEV_ID_DECL_IXGBEVF
484 #undef RTE_PCI_DEV_ID_DECL_VIRTIO
485 #undef RTE_PCI_DEV_ID_DECL_VMXNET3
486 #undef RTE_PCI_DEV_ID_DECL_FM10K
487 #undef RTE_PCI_DEV_ID_DECL_FM10KVF
488 #undef RTE_PCI_DEV_ID_DECL_BNXT