Imported Upstream version 16.07-rc1
[deb_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 /**
61  * @file
62  *
63  * This file contains a list of the PCI device IDs recognised by DPDK, which
64  * can be used to fill out an array of structures describing the devices.
65  *
66  * Currently five families of devices are recognised: those supported by the
67  * IGB driver, by EM driver, those supported by the IXGBE driver, those
68  * supported by the BNXT driver, and by virtio driver which is a para
69  * virtualization driver running in guest virtual machine. The inclusion of
70  * these in an array built using this file depends on the definition of
71  * RTE_PCI_DEV_ID_DECL_BNXT
72  * RTE_PCI_DEV_ID_DECL_EM
73  * RTE_PCI_DEV_ID_DECL_IGB
74  * RTE_PCI_DEV_ID_DECL_IGBVF
75  * RTE_PCI_DEV_ID_DECL_IXGBE
76  * RTE_PCI_DEV_ID_DECL_IXGBEVF
77  * RTE_PCI_DEV_ID_DECL_I40E
78  * RTE_PCI_DEV_ID_DECL_I40EVF
79  * RTE_PCI_DEV_ID_DECL_VIRTIO
80  * at the time when this file is included.
81  *
82  * In order to populate an array, the user of this file must define this macro:
83  * RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID). For example:
84  *
85  * @code
86  * struct device {
87  *     int vend;
88  *     int dev;
89  * };
90  *
91  * struct device devices[] = {
92  * #define RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID) {vend, dev},
93  * #include <rte_pci_dev_ids.h>
94  * };
95  * @endcode
96  *
97  * Note that this file can be included multiple times within the same file.
98  */
99
100 #ifndef RTE_PCI_DEV_ID_DECL_EM
101 #define RTE_PCI_DEV_ID_DECL_EM(vend, dev)
102 #endif
103
104 #ifndef RTE_PCI_DEV_ID_DECL_IGB
105 #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev)
106 #endif
107
108 #ifndef RTE_PCI_DEV_ID_DECL_IGBVF
109 #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev)
110 #endif
111
112 #ifndef RTE_PCI_DEV_ID_DECL_IXGBE
113 #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev)
114 #endif
115
116 #ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF
117 #define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev)
118 #endif
119
120 #ifndef RTE_PCI_DEV_ID_DECL_I40E
121 #define RTE_PCI_DEV_ID_DECL_I40E(vend, dev)
122 #endif
123
124 #ifndef RTE_PCI_DEV_ID_DECL_I40EVF
125 #define RTE_PCI_DEV_ID_DECL_I40EVF(vend, dev)
126 #endif
127
128 #ifndef RTE_PCI_DEV_ID_DECL_VIRTIO
129 #define RTE_PCI_DEV_ID_DECL_VIRTIO(vend, dev)
130 #endif
131
132 #ifndef RTE_PCI_DEV_ID_DECL_VMXNET3
133 #define RTE_PCI_DEV_ID_DECL_VMXNET3(vend, dev)
134 #endif
135
136 #ifndef RTE_PCI_DEV_ID_DECL_FM10K
137 #define RTE_PCI_DEV_ID_DECL_FM10K(vend, dev)
138 #endif
139
140 #ifndef RTE_PCI_DEV_ID_DECL_FM10KVF
141 #define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev)
142 #endif
143
144 #ifndef RTE_PCI_DEV_ID_DECL_ENIC
145 #define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev)
146 #endif
147
148 #ifndef RTE_PCI_DEV_ID_DECL_BNX2X
149 #define RTE_PCI_DEV_ID_DECL_BNX2X(vend, dev)
150 #endif
151
152 #ifndef RTE_PCI_DEV_ID_DECL_BNX2XVF
153 #define RTE_PCI_DEV_ID_DECL_BNX2XVF(vend, dev)
154 #endif
155
156 #ifndef RTE_PCI_DEV_ID_DECL_BNXT
157 #define RTE_PCI_DEV_ID_DECL_BNXT(vend, dev)
158 #endif
159
160 #ifndef PCI_VENDOR_ID_INTEL
161 /** Vendor ID used by Intel devices */
162 #define PCI_VENDOR_ID_INTEL 0x8086
163 #endif
164
165 #ifndef PCI_VENDOR_ID_QUMRANET
166 /** Vendor ID used by virtio devices */
167 #define PCI_VENDOR_ID_QUMRANET 0x1AF4
168 #endif
169
170 #ifndef PCI_VENDOR_ID_VMWARE
171 /** Vendor ID used by VMware devices */
172 #define PCI_VENDOR_ID_VMWARE 0x15AD
173 #endif
174
175 #ifndef PCI_VENDOR_ID_CISCO
176 /** Vendor ID used by Cisco VIC devices */
177 #define PCI_VENDOR_ID_CISCO 0x1137
178 #endif
179
180 #ifndef PCI_VENDOR_ID_BROADCOM
181 /** Vendor ID used by Broadcom devices */
182 #define PCI_VENDOR_ID_BROADCOM 0x14E4
183 #endif
184
185 /******************** Physical EM devices from e1000_hw.h ********************/
186
187 #define E1000_DEV_ID_82542                    0x1000
188 #define E1000_DEV_ID_82543GC_FIBER            0x1001
189 #define E1000_DEV_ID_82543GC_COPPER           0x1004
190 #define E1000_DEV_ID_82544EI_COPPER           0x1008
191 #define E1000_DEV_ID_82544EI_FIBER            0x1009
192 #define E1000_DEV_ID_82544GC_COPPER           0x100C
193 #define E1000_DEV_ID_82544GC_LOM              0x100D
194 #define E1000_DEV_ID_82540EM                  0x100E
195 #define E1000_DEV_ID_82540EM_LOM              0x1015
196 #define E1000_DEV_ID_82540EP_LOM              0x1016
197 #define E1000_DEV_ID_82540EP                  0x1017
198 #define E1000_DEV_ID_82540EP_LP               0x101E
199 #define E1000_DEV_ID_82545EM_COPPER           0x100F
200 #define E1000_DEV_ID_82545EM_FIBER            0x1011
201 #define E1000_DEV_ID_82545GM_COPPER           0x1026
202 #define E1000_DEV_ID_82545GM_FIBER            0x1027
203 #define E1000_DEV_ID_82545GM_SERDES           0x1028
204 #define E1000_DEV_ID_82546EB_COPPER           0x1010
205 #define E1000_DEV_ID_82546EB_FIBER            0x1012
206 #define E1000_DEV_ID_82546EB_QUAD_COPPER      0x101D
207 #define E1000_DEV_ID_82546GB_COPPER           0x1079
208 #define E1000_DEV_ID_82546GB_FIBER            0x107A
209 #define E1000_DEV_ID_82546GB_SERDES           0x107B
210 #define E1000_DEV_ID_82546GB_PCIE             0x108A
211 #define E1000_DEV_ID_82546GB_QUAD_COPPER      0x1099
212 #define E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3 0x10B5
213 #define E1000_DEV_ID_82541EI                  0x1013
214 #define E1000_DEV_ID_82541EI_MOBILE           0x1018
215 #define E1000_DEV_ID_82541ER_LOM              0x1014
216 #define E1000_DEV_ID_82541ER                  0x1078
217 #define E1000_DEV_ID_82541GI                  0x1076
218 #define E1000_DEV_ID_82541GI_LF               0x107C
219 #define E1000_DEV_ID_82541GI_MOBILE           0x1077
220 #define E1000_DEV_ID_82547EI                  0x1019
221 #define E1000_DEV_ID_82547EI_MOBILE           0x101A
222 #define E1000_DEV_ID_82547GI                  0x1075
223 #define E1000_DEV_ID_82571EB_COPPER           0x105E
224 #define E1000_DEV_ID_82571EB_FIBER            0x105F
225 #define E1000_DEV_ID_82571EB_SERDES           0x1060
226 #define E1000_DEV_ID_82571EB_SERDES_DUAL      0x10D9
227 #define E1000_DEV_ID_82571EB_SERDES_QUAD      0x10DA
228 #define E1000_DEV_ID_82571EB_QUAD_COPPER      0x10A4
229 #define E1000_DEV_ID_82571PT_QUAD_COPPER      0x10D5
230 #define E1000_DEV_ID_82571EB_QUAD_FIBER       0x10A5
231 #define E1000_DEV_ID_82571EB_QUAD_COPPER_LP   0x10BC
232 #define E1000_DEV_ID_82572EI_COPPER           0x107D
233 #define E1000_DEV_ID_82572EI_FIBER            0x107E
234 #define E1000_DEV_ID_82572EI_SERDES           0x107F
235 #define E1000_DEV_ID_82572EI                  0x10B9
236 #define E1000_DEV_ID_82573E                   0x108B
237 #define E1000_DEV_ID_82573E_IAMT              0x108C
238 #define E1000_DEV_ID_82573L                   0x109A
239 #define E1000_DEV_ID_82574L                   0x10D3
240 #define E1000_DEV_ID_82574LA                  0x10F6
241 #define E1000_DEV_ID_82583V                   0x150C
242 #define E1000_DEV_ID_80003ES2LAN_COPPER_DPT   0x1096
243 #define E1000_DEV_ID_80003ES2LAN_SERDES_DPT   0x1098
244 #define E1000_DEV_ID_80003ES2LAN_COPPER_SPT   0x10BA
245 #define E1000_DEV_ID_80003ES2LAN_SERDES_SPT   0x10BB
246 #define E1000_DEV_ID_ICH8_82567V_3            0x1501
247 #define E1000_DEV_ID_ICH8_IGP_M_AMT           0x1049
248 #define E1000_DEV_ID_ICH8_IGP_AMT             0x104A
249 #define E1000_DEV_ID_ICH8_IGP_C               0x104B
250 #define E1000_DEV_ID_ICH8_IFE                 0x104C
251 #define E1000_DEV_ID_ICH8_IFE_GT              0x10C4
252 #define E1000_DEV_ID_ICH8_IFE_G               0x10C5
253 #define E1000_DEV_ID_ICH8_IGP_M               0x104D
254 #define E1000_DEV_ID_ICH9_IGP_M               0x10BF
255 #define E1000_DEV_ID_ICH9_IGP_M_AMT           0x10F5
256 #define E1000_DEV_ID_ICH9_IGP_M_V             0x10CB
257 #define E1000_DEV_ID_ICH9_IGP_AMT             0x10BD
258 #define E1000_DEV_ID_ICH9_BM                  0x10E5
259 #define E1000_DEV_ID_ICH9_IGP_C               0x294C
260 #define E1000_DEV_ID_ICH9_IFE                 0x10C0
261 #define E1000_DEV_ID_ICH9_IFE_GT              0x10C3
262 #define E1000_DEV_ID_ICH9_IFE_G               0x10C2
263 #define E1000_DEV_ID_ICH10_R_BM_LM            0x10CC
264 #define E1000_DEV_ID_ICH10_R_BM_LF            0x10CD
265 #define E1000_DEV_ID_ICH10_R_BM_V             0x10CE
266 #define E1000_DEV_ID_ICH10_D_BM_LM            0x10DE
267 #define E1000_DEV_ID_ICH10_D_BM_LF            0x10DF
268 #define E1000_DEV_ID_ICH10_D_BM_V             0x1525
269
270 #define E1000_DEV_ID_PCH_M_HV_LM              0x10EA
271 #define E1000_DEV_ID_PCH_M_HV_LC              0x10EB
272 #define E1000_DEV_ID_PCH_D_HV_DM              0x10EF
273 #define E1000_DEV_ID_PCH_D_HV_DC              0x10F0
274 #define E1000_DEV_ID_PCH2_LV_LM               0x1502
275 #define E1000_DEV_ID_PCH2_LV_V                0x1503
276 #define E1000_DEV_ID_PCH_LPT_I217_LM          0x153A
277 #define E1000_DEV_ID_PCH_LPT_I217_V           0x153B
278 #define E1000_DEV_ID_PCH_LPTLP_I218_LM        0x155A
279 #define E1000_DEV_ID_PCH_LPTLP_I218_V         0x1559
280 #define E1000_DEV_ID_PCH_I218_LM2             0x15A0
281 #define E1000_DEV_ID_PCH_I218_V2              0x15A1
282 #define E1000_DEV_ID_PCH_I218_LM3             0x15A2
283 #define E1000_DEV_ID_PCH_I218_V3              0x15A3
284
285
286 /*
287  * Tested (supported) on VM emulated HW.
288  */
289
290 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82540EM)
291 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_COPPER)
292 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_FIBER)
293
294 /*
295  * Tested (supported) on real HW.
296  */
297
298 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82546EB_COPPER)
299 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82546EB_FIBER)
300 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82546EB_QUAD_COPPER)
301 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_COPPER)
302 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_FIBER)
303 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES)
304 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL)
305 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD)
306 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER)
307 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER)
308 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER)
309 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP)
310 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_COPPER)
311 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_FIBER)
312 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_SERDES)
313 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI)
314 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82573L)
315 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574L)
316 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574LA)
317 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82583V)
318 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_LPT_I217_LM)
319 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_LPT_I217_V)
320 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM)
321 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V)
322 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_I218_LM2)
323 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_I218_V2)
324 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_I218_LM3)
325 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_PCH_I218_V3)
326
327
328 /******************** Physical IGB devices from e1000_hw.h ********************/
329
330 #define E1000_DEV_ID_82576                      0x10C9
331 #define E1000_DEV_ID_82576_FIBER                0x10E6
332 #define E1000_DEV_ID_82576_SERDES               0x10E7
333 #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
334 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
335 #define E1000_DEV_ID_82576_NS                   0x150A
336 #define E1000_DEV_ID_82576_NS_SERDES            0x1518
337 #define E1000_DEV_ID_82576_SERDES_QUAD          0x150D
338 #define E1000_DEV_ID_82575EB_COPPER             0x10A7
339 #define E1000_DEV_ID_82575EB_FIBER_SERDES       0x10A9
340 #define E1000_DEV_ID_82575GB_QUAD_COPPER        0x10D6
341 #define E1000_DEV_ID_82580_COPPER               0x150E
342 #define E1000_DEV_ID_82580_FIBER                0x150F
343 #define E1000_DEV_ID_82580_SERDES               0x1510
344 #define E1000_DEV_ID_82580_SGMII                0x1511
345 #define E1000_DEV_ID_82580_COPPER_DUAL          0x1516
346 #define E1000_DEV_ID_82580_QUAD_FIBER           0x1527
347 #define E1000_DEV_ID_I350_COPPER                0x1521
348 #define E1000_DEV_ID_I350_FIBER                 0x1522
349 #define E1000_DEV_ID_I350_SERDES                0x1523
350 #define E1000_DEV_ID_I350_SGMII                 0x1524
351 #define E1000_DEV_ID_I350_DA4                   0x1546
352 #define E1000_DEV_ID_I210_COPPER                0x1533
353 #define E1000_DEV_ID_I210_COPPER_OEM1           0x1534
354 #define E1000_DEV_ID_I210_COPPER_IT             0x1535
355 #define E1000_DEV_ID_I210_FIBER                 0x1536
356 #define E1000_DEV_ID_I210_SERDES                0x1537
357 #define E1000_DEV_ID_I210_SGMII                 0x1538
358 #define E1000_DEV_ID_I210_COPPER_FLASHLESS      0x157B
359 #define E1000_DEV_ID_I210_SERDES_FLASHLESS      0x157C
360 #define E1000_DEV_ID_I211_COPPER                0x1539
361 #define E1000_DEV_ID_I354_BACKPLANE_1GBPS       0x1F40
362 #define E1000_DEV_ID_I354_SGMII                 0x1F41
363 #define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS     0x1F45
364 #define E1000_DEV_ID_DH89XXCC_SGMII             0x0438
365 #define E1000_DEV_ID_DH89XXCC_SERDES            0x043A
366 #define E1000_DEV_ID_DH89XXCC_BACKPLANE         0x043C
367 #define E1000_DEV_ID_DH89XXCC_SFP               0x0440
368
369 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576)
370 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER)
371 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES)
372 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER)
373 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2)
374 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS)
375 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES)
376 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD)
377
378 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
379 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES)
380 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER)
381
382 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER)
383 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER)
384 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES)
385 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII)
386 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL)
387 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER)
388
389 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER)
390 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER)
391 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES)
392 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII)
393 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4)
394 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER)
395 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1)
396 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT)
397 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER)
398 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES)
399 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII)
400 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER)
401 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS)
402 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII)
403 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS)
404 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII)
405 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES)
406 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE)
407 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP)
408
409 /****************** Physical IXGBE devices from ixgbe_type.h ******************/
410
411 #define IXGBE_DEV_ID_82598                      0x10B6
412 #define IXGBE_DEV_ID_82598_BX                   0x1508
413 #define IXGBE_DEV_ID_82598AF_DUAL_PORT          0x10C6
414 #define IXGBE_DEV_ID_82598AF_SINGLE_PORT        0x10C7
415 #define IXGBE_DEV_ID_82598AT                    0x10C8
416 #define IXGBE_DEV_ID_82598AT2                   0x150B
417 #define IXGBE_DEV_ID_82598EB_SFP_LOM            0x10DB
418 #define IXGBE_DEV_ID_82598EB_CX4                0x10DD
419 #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT        0x10EC
420 #define IXGBE_DEV_ID_82598_DA_DUAL_PORT         0x10F1
421 #define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM      0x10E1
422 #define IXGBE_DEV_ID_82598EB_XF_LR              0x10F4
423 #define IXGBE_DEV_ID_82599_KX4                  0x10F7
424 #define IXGBE_DEV_ID_82599_KX4_MEZZ             0x1514
425 #define IXGBE_DEV_ID_82599_KR                   0x1517
426 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE      0x10F8
427 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ       0x000C
428 #define IXGBE_DEV_ID_82599_CX4                  0x10F9
429 #define IXGBE_DEV_ID_82599_SFP                  0x10FB
430 #define IXGBE_SUBDEV_ID_82599_SFP               0x11A9
431 #define IXGBE_SUBDEV_ID_82599_RNDC              0x1F72
432 #define IXGBE_SUBDEV_ID_82599_560FLR            0x17D0
433 #define IXGBE_SUBDEV_ID_82599_ECNA_DP           0x0470
434 #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE       0x152A
435 #define IXGBE_DEV_ID_82599_SFP_FCOE             0x1529
436 #define IXGBE_DEV_ID_82599_SFP_EM               0x1507
437 #define IXGBE_DEV_ID_82599_SFP_SF2              0x154D
438 #define IXGBE_DEV_ID_82599_SFP_SF_QP            0x154A
439 #define IXGBE_DEV_ID_82599_QSFP_SF_QP           0x1558
440 #define IXGBE_DEV_ID_82599EN_SFP                0x1557
441 #define IXGBE_DEV_ID_82599_XAUI_LOM             0x10FC
442 #define IXGBE_DEV_ID_82599_T3_LOM               0x151C
443 #define IXGBE_DEV_ID_82599_LS                   0x154F
444 #define IXGBE_DEV_ID_X540T                      0x1528
445 #define IXGBE_DEV_ID_X540T1                     0x1560
446 #define IXGBE_DEV_ID_X550EM_X_SFP               0x15AC
447 #define IXGBE_DEV_ID_X550EM_X_10G_T             0x15AD
448 #define IXGBE_DEV_ID_X550EM_X_1G_T              0x15AE
449 #define IXGBE_DEV_ID_X550T                      0x1563
450 #define IXGBE_DEV_ID_X550T1                     0x15D1
451 #define IXGBE_DEV_ID_X550EM_A_KR                0x15C2
452 #define IXGBE_DEV_ID_X550EM_A_KR_L              0x15C3
453 #define IXGBE_DEV_ID_X550EM_A_SFP_N             0x15C4
454 #define IXGBE_DEV_ID_X550EM_A_SGMII             0x15C6
455 #define IXGBE_DEV_ID_X550EM_A_SGMII_L           0x15C7
456 #define IXGBE_DEV_ID_X550EM_A_10G_T             0x15C8
457 #define IXGBE_DEV_ID_X550EM_A_QSFP              0x15CA
458 #define IXGBE_DEV_ID_X550EM_A_QSFP_N            0x15CC
459 #define IXGBE_DEV_ID_X550EM_A_SFP               0x15CE
460 #define IXGBE_DEV_ID_X550EM_A_1G_T              0x15E4
461 #define IXGBE_DEV_ID_X550EM_A_1G_T_L            0x15E5
462 #define IXGBE_DEV_ID_X550EM_X_KX4               0x15AA
463 #define IXGBE_DEV_ID_X550EM_X_KR                0x15AB
464
465 #ifdef RTE_NIC_BYPASS
466 #define IXGBE_DEV_ID_82599_BYPASS               0x155D
467 #endif
468
469 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598)
470 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX)
471 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)
472 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
473         IXGBE_DEV_ID_82598AF_SINGLE_PORT)
474 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT)
475 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2)
476 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM)
477 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4)
478 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT)
479 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT)
480 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
481         IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM)
482 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR)
483 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4)
484 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ)
485 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR)
486 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
487         IXGBE_DEV_ID_82599_COMBO_BACKPLANE)
488 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
489         IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
490 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4)
491 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP)
492 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP)
493 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC)
494 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR)
495 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP)
496 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE)
497 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE)
498 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM)
499 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2)
500 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP)
501 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP)
502 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP)
503 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM)
504 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM)
505 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS)
506 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T)
507 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1)
508 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP)
509 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T)
510 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T)
511 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T)
512 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T1)
513 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR)
514 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR_L)
515 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N)
516 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII)
517 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L)
518 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_10G_T)
519 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP)
520 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP_N)
521 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP)
522 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T)
523 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L)
524 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4)
525 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR)
526
527 #ifdef RTE_NIC_BYPASS
528 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS)
529 #endif
530
531 /*************** Physical I40E devices from i40e_type.h *****************/
532
533 #define I40E_DEV_ID_SFP_XL710           0x1572
534 #define I40E_DEV_ID_QEMU                0x1574
535 #define I40E_DEV_ID_KX_B                0x1580
536 #define I40E_DEV_ID_KX_C                0x1581
537 #define I40E_DEV_ID_QSFP_A              0x1583
538 #define I40E_DEV_ID_QSFP_B              0x1584
539 #define I40E_DEV_ID_QSFP_C              0x1585
540 #define I40E_DEV_ID_10G_BASE_T          0x1586
541 #define I40E_DEV_ID_20G_KR2             0x1587
542 #define I40E_DEV_ID_20G_KR2_A           0x1588
543 #define I40E_DEV_ID_10G_BASE_T4         0x1589
544 #define I40E_DEV_ID_25G_B               0x158A
545 #define I40E_DEV_ID_25G_SFP28           0x158B
546 #define I40E_DEV_ID_X722_A0             0x374C
547 #define I40E_DEV_ID_KX_X722             0x37CE
548 #define I40E_DEV_ID_QSFP_X722           0x37CF
549 #define I40E_DEV_ID_SFP_X722            0x37D0
550 #define I40E_DEV_ID_1G_BASE_T_X722      0x37D1
551 #define I40E_DEV_ID_10G_BASE_T_X722     0x37D2
552 #define I40E_DEV_ID_SFP_I_X722          0x37D3
553 #define I40E_DEV_ID_QSFP_I_X722         0x37D4
554
555 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_XL710)
556 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QEMU)
557 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_B)
558 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_C)
559 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_A)
560 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_B)
561 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_C)
562 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T)
563 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_20G_KR2)
564 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_20G_KR2_A)
565 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T4)
566 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_25G_B)
567 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_25G_SFP28)
568 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_A0)
569 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_X722)
570 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_X722)
571 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_X722)
572 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_1G_BASE_T_X722)
573 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T_X722)
574 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_I_X722)
575 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_I_X722)
576
577 /*************** Physical FM10K devices from fm10k_type.h ***************/
578
579 #define FM10K_DEV_ID_PF                   0x15A4
580 #define FM10K_DEV_ID_SDI_FM10420_QDA2     0x15D0
581
582 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_PF)
583 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2)
584
585 /****************** Virtual IGB devices from e1000_hw.h ******************/
586
587 #define E1000_DEV_ID_82576_VF                   0x10CA
588 #define E1000_DEV_ID_82576_VF_HV                0x152D
589 #define E1000_DEV_ID_I350_VF                    0x1520
590 #define E1000_DEV_ID_I350_VF_HV                 0x152F
591
592 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF)
593 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV)
594 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF)
595 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV)
596
597 /****************** Virtual IXGBE devices from ixgbe_type.h ******************/
598
599 #define IXGBE_DEV_ID_82599_VF                   0x10ED
600 #define IXGBE_DEV_ID_82599_VF_HV                0x152E
601 #define IXGBE_DEV_ID_X540_VF                    0x1515
602 #define IXGBE_DEV_ID_X540_VF_HV                 0x1530
603 #define IXGBE_DEV_ID_X550_VF_HV                 0x1564
604 #define IXGBE_DEV_ID_X550_VF                    0x1565
605 #define IXGBE_DEV_ID_X550EM_A_VF                0x15C5
606 #define IXGBE_DEV_ID_X550EM_A_VF_HV             0x15B4
607 #define IXGBE_DEV_ID_X550EM_X_VF                0x15A8
608 #define IXGBE_DEV_ID_X550EM_X_VF_HV             0x15A9
609
610 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF)
611 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV)
612 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF)
613 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV)
614 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV)
615 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF)
616 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF)
617 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF_HV)
618 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF)
619 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV)
620
621 /****************** Virtual I40E devices from i40e_type.h ********************/
622
623 #define I40E_DEV_ID_VF                  0x154C
624 #define I40E_DEV_ID_VF_HV               0x1571
625 #define I40E_DEV_ID_X722_A0_VF          0x374D
626 #define I40E_DEV_ID_X722_VF             0x37CD
627 #define I40E_DEV_ID_X722_VF_HV          0x37D9
628
629 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF)
630 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF_HV)
631 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_A0_VF)
632 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_VF)
633 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_VF_HV)
634
635 /****************** Virtio devices from virtio.h ******************/
636
637 #define QUMRANET_DEV_ID_VIRTIO                  0x1000
638
639 RTE_PCI_DEV_ID_DECL_VIRTIO(PCI_VENDOR_ID_QUMRANET, QUMRANET_DEV_ID_VIRTIO)
640
641 /****************** VMware VMXNET3 devices ******************/
642
643 #define VMWARE_DEV_ID_VMXNET3                   0x07B0
644
645 RTE_PCI_DEV_ID_DECL_VMXNET3(PCI_VENDOR_ID_VMWARE, VMWARE_DEV_ID_VMXNET3)
646
647 /*************** Virtual FM10K devices from fm10k_type.h ***************/
648
649 #define FM10K_DEV_ID_VF                   0x15A5
650
651 RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_VF)
652
653 /****************** Cisco VIC devices ******************/
654
655 #define PCI_DEVICE_ID_CISCO_VIC_ENET         0x0043  /* ethernet vnic */
656 #define PCI_DEVICE_ID_CISCO_VIC_ENET_VF      0x0071  /* enet SRIOV VF */
657
658 RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET)
659 RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET_VF)
660
661 /****************** QLogic devices ******************/
662
663 /* Broadcom/QLogic BNX2X */
664 #define BNX2X_DEV_ID_57710      0x164e
665 #define BNX2X_DEV_ID_57711      0x164f
666 #define BNX2X_DEV_ID_57711E     0x1650
667 #define BNX2X_DEV_ID_57712      0x1662
668 #define BNX2X_DEV_ID_57712_MF   0x1663
669 #define BNX2X_DEV_ID_57712_VF   0x166f
670 #define BNX2X_DEV_ID_57713      0x1651
671 #define BNX2X_DEV_ID_57713E     0x1652
672 #define BNX2X_DEV_ID_57800      0x168a
673 #define BNX2X_DEV_ID_57800_MF   0x16a5
674 #define BNX2X_DEV_ID_57800_VF   0x16a9
675 #define BNX2X_DEV_ID_57810      0x168e
676 #define BNX2X_DEV_ID_57810_MF   0x16ae
677 #define BNX2X_DEV_ID_57810_VF   0x16af
678 #define BNX2X_DEV_ID_57811      0x163d
679 #define BNX2X_DEV_ID_57811_MF   0x163e
680 #define BNX2X_DEV_ID_57811_VF   0x163f
681
682 #define BNX2X_DEV_ID_57840_OBS          0x168d
683 #define BNX2X_DEV_ID_57840_OBS_MF       0x16ab
684 #define BNX2X_DEV_ID_57840_4_10         0x16a1
685 #define BNX2X_DEV_ID_57840_2_20         0x16a2
686 #define BNX2X_DEV_ID_57840_MF           0x16a4
687 #define BNX2X_DEV_ID_57840_VF           0x16ad
688
689 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57800)
690 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57800_VF)
691 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57711)
692 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810)
693 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810_VF)
694 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811)
695 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811_VF)
696 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_OBS)
697 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_4_10)
698 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_2_20)
699 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_VF)
700 #ifdef RTE_LIBRTE_BNX2X_MF_SUPPORT
701 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810_MF)
702 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811_MF)
703 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_MF)
704 #endif
705
706 /****************** Broadcom bnxt devices ******************/
707
708 #define BROADCOM_DEV_ID_57301                  0x16c8
709 #define BROADCOM_DEV_ID_57302                  0x16c9
710 #define BROADCOM_DEV_ID_57304_PF               0x16ca
711 #define BROADCOM_DEV_ID_57304_VF               0x16cb
712 #define BROADCOM_DEV_ID_57402                  0x16d0
713 #define BROADCOM_DEV_ID_57404                  0x16d1
714 #define BROADCOM_DEV_ID_57406_PF               0x16d2
715 #define BROADCOM_DEV_ID_57406_VF               0x16d3
716 #define BROADCOM_DEV_ID_57406_MF               0x16d4
717 #define BROADCOM_DEV_ID_57314                  0x16df
718
719 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57301)
720 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57302)
721 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57304_PF)
722 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57304_VF)
723 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57402)
724 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57404)
725 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_PF)
726 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_VF)
727 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_MF)
728 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57314)
729
730 /*
731  * Undef all RTE_PCI_DEV_ID_DECL_* here.
732  */
733 #undef RTE_PCI_DEV_ID_DECL_BNX2X
734 #undef RTE_PCI_DEV_ID_DECL_BNX2XVF
735 #undef RTE_PCI_DEV_ID_DECL_EM
736 #undef RTE_PCI_DEV_ID_DECL_IGB
737 #undef RTE_PCI_DEV_ID_DECL_IGBVF
738 #undef RTE_PCI_DEV_ID_DECL_IXGBE
739 #undef RTE_PCI_DEV_ID_DECL_IXGBEVF
740 #undef RTE_PCI_DEV_ID_DECL_I40E
741 #undef RTE_PCI_DEV_ID_DECL_I40EVF
742 #undef RTE_PCI_DEV_ID_DECL_VIRTIO
743 #undef RTE_PCI_DEV_ID_DECL_VMXNET3
744 #undef RTE_PCI_DEV_ID_DECL_FM10K
745 #undef RTE_PCI_DEV_ID_DECL_FM10KVF
746 #undef RTE_PCI_DEV_ID_DECL_BNXT