ixgbe/base: new X550 device ids
[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-2014 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 four families of devices are recognised: those supported by the
67  * IGB driver, by EM driver, those supported by the IXGBE driver, and by virtio
68  * driver which is a para virtualization driver running in guest virtual machine.
69  * The inclusion of these in an array built using this file depends on the
70  * definition of
71  * RTE_PCI_DEV_ID_DECL_EM
72  * RTE_PCI_DEV_ID_DECL_IGB
73  * RTE_PCI_DEV_ID_DECL_IGBVF
74  * RTE_PCI_DEV_ID_DECL_IXGBE
75  * RTE_PCI_DEV_ID_DECL_IXGBEVF
76  * RTE_PCI_DEV_ID_DECL_I40E
77  * RTE_PCI_DEV_ID_DECL_I40EVF
78  * RTE_PCI_DEV_ID_DECL_VIRTIO
79  * at the time when this file is included.
80  *
81  * In order to populate an array, the user of this file must define this macro:
82  * RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID). For example:
83  *
84  * @code
85  * struct device {
86  *     int vend;
87  *     int dev;
88  * };
89  *
90  * struct device devices[] = {
91  * #define RTE_PCI_DEV_ID_DECL_IXGBE(vendorID, deviceID) {vend, dev},
92  * #include <rte_pci_dev_ids.h>
93  * };
94  * @endcode
95  *
96  * Note that this file can be included multiple times within the same file.
97  */
98
99 #ifndef RTE_PCI_DEV_ID_DECL_EM
100 #define RTE_PCI_DEV_ID_DECL_EM(vend, dev)
101 #endif
102
103 #ifndef RTE_PCI_DEV_ID_DECL_IGB
104 #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev)
105 #endif
106
107 #ifndef RTE_PCI_DEV_ID_DECL_IGBVF
108 #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev)
109 #endif
110
111 #ifndef RTE_PCI_DEV_ID_DECL_IXGBE
112 #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev)
113 #endif
114
115 #ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF
116 #define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev)
117 #endif
118
119 #ifndef RTE_PCI_DEV_ID_DECL_I40E
120 #define RTE_PCI_DEV_ID_DECL_I40E(vend, dev)
121 #endif
122
123 #ifndef RTE_PCI_DEV_ID_DECL_I40EVF
124 #define RTE_PCI_DEV_ID_DECL_I40EVF(vend, dev)
125 #endif
126
127 #ifndef RTE_PCI_DEV_ID_DECL_VIRTIO
128 #define RTE_PCI_DEV_ID_DECL_VIRTIO(vend, dev)
129 #endif
130
131 #ifndef RTE_PCI_DEV_ID_DECL_VMXNET3
132 #define RTE_PCI_DEV_ID_DECL_VMXNET3(vend, dev)
133 #endif
134
135 #ifndef RTE_PCI_DEV_ID_DECL_FM10K
136 #define RTE_PCI_DEV_ID_DECL_FM10K(vend, dev)
137 #endif
138
139 #ifndef RTE_PCI_DEV_ID_DECL_FM10KVF
140 #define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev)
141 #endif
142
143 #ifndef PCI_VENDOR_ID_INTEL
144 /** Vendor ID used by Intel devices */
145 #define PCI_VENDOR_ID_INTEL 0x8086
146 #endif
147
148 #ifndef PCI_VENDOR_ID_QUMRANET
149 /** Vendor ID used by virtio devices */
150 #define PCI_VENDOR_ID_QUMRANET 0x1AF4
151 #endif
152
153 #ifndef PCI_VENDOR_ID_VMWARE
154 /** Vendor ID used by VMware devices */
155 #define PCI_VENDOR_ID_VMWARE 0x15AD
156 #endif
157
158 /******************** Physical EM devices from e1000_hw.h ********************/
159
160 #define E1000_DEV_ID_82542                    0x1000
161 #define E1000_DEV_ID_82543GC_FIBER            0x1001
162 #define E1000_DEV_ID_82543GC_COPPER           0x1004
163 #define E1000_DEV_ID_82544EI_COPPER           0x1008
164 #define E1000_DEV_ID_82544EI_FIBER            0x1009
165 #define E1000_DEV_ID_82544GC_COPPER           0x100C
166 #define E1000_DEV_ID_82544GC_LOM              0x100D
167 #define E1000_DEV_ID_82540EM                  0x100E
168 #define E1000_DEV_ID_82540EM_LOM              0x1015
169 #define E1000_DEV_ID_82540EP_LOM              0x1016
170 #define E1000_DEV_ID_82540EP                  0x1017
171 #define E1000_DEV_ID_82540EP_LP               0x101E
172 #define E1000_DEV_ID_82545EM_COPPER           0x100F
173 #define E1000_DEV_ID_82545EM_FIBER            0x1011
174 #define E1000_DEV_ID_82545GM_COPPER           0x1026
175 #define E1000_DEV_ID_82545GM_FIBER            0x1027
176 #define E1000_DEV_ID_82545GM_SERDES           0x1028
177 #define E1000_DEV_ID_82546EB_COPPER           0x1010
178 #define E1000_DEV_ID_82546EB_FIBER            0x1012
179 #define E1000_DEV_ID_82546EB_QUAD_COPPER      0x101D
180 #define E1000_DEV_ID_82546GB_COPPER           0x1079
181 #define E1000_DEV_ID_82546GB_FIBER            0x107A
182 #define E1000_DEV_ID_82546GB_SERDES           0x107B
183 #define E1000_DEV_ID_82546GB_PCIE             0x108A
184 #define E1000_DEV_ID_82546GB_QUAD_COPPER      0x1099
185 #define E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3 0x10B5
186 #define E1000_DEV_ID_82541EI                  0x1013
187 #define E1000_DEV_ID_82541EI_MOBILE           0x1018
188 #define E1000_DEV_ID_82541ER_LOM              0x1014
189 #define E1000_DEV_ID_82541ER                  0x1078
190 #define E1000_DEV_ID_82541GI                  0x1076
191 #define E1000_DEV_ID_82541GI_LF               0x107C
192 #define E1000_DEV_ID_82541GI_MOBILE           0x1077
193 #define E1000_DEV_ID_82547EI                  0x1019
194 #define E1000_DEV_ID_82547EI_MOBILE           0x101A
195 #define E1000_DEV_ID_82547GI                  0x1075
196 #define E1000_DEV_ID_82571EB_COPPER           0x105E
197 #define E1000_DEV_ID_82571EB_FIBER            0x105F
198 #define E1000_DEV_ID_82571EB_SERDES           0x1060
199 #define E1000_DEV_ID_82571EB_SERDES_DUAL      0x10D9
200 #define E1000_DEV_ID_82571EB_SERDES_QUAD      0x10DA
201 #define E1000_DEV_ID_82571EB_QUAD_COPPER      0x10A4
202 #define E1000_DEV_ID_82571PT_QUAD_COPPER      0x10D5
203 #define E1000_DEV_ID_82571EB_QUAD_FIBER       0x10A5
204 #define E1000_DEV_ID_82571EB_QUAD_COPPER_LP   0x10BC
205 #define E1000_DEV_ID_82572EI_COPPER           0x107D
206 #define E1000_DEV_ID_82572EI_FIBER            0x107E
207 #define E1000_DEV_ID_82572EI_SERDES           0x107F
208 #define E1000_DEV_ID_82572EI                  0x10B9
209 #define E1000_DEV_ID_82573E                   0x108B
210 #define E1000_DEV_ID_82573E_IAMT              0x108C
211 #define E1000_DEV_ID_82573L                   0x109A
212 #define E1000_DEV_ID_82574L                   0x10D3
213 #define E1000_DEV_ID_82574LA                  0x10F6
214 #define E1000_DEV_ID_82583V                   0x150C
215 #define E1000_DEV_ID_80003ES2LAN_COPPER_DPT   0x1096
216 #define E1000_DEV_ID_80003ES2LAN_SERDES_DPT   0x1098
217 #define E1000_DEV_ID_80003ES2LAN_COPPER_SPT   0x10BA
218 #define E1000_DEV_ID_80003ES2LAN_SERDES_SPT   0x10BB
219 #define E1000_DEV_ID_ICH8_82567V_3            0x1501
220 #define E1000_DEV_ID_ICH8_IGP_M_AMT           0x1049
221 #define E1000_DEV_ID_ICH8_IGP_AMT             0x104A
222 #define E1000_DEV_ID_ICH8_IGP_C               0x104B
223 #define E1000_DEV_ID_ICH8_IFE                 0x104C
224 #define E1000_DEV_ID_ICH8_IFE_GT              0x10C4
225 #define E1000_DEV_ID_ICH8_IFE_G               0x10C5
226 #define E1000_DEV_ID_ICH8_IGP_M               0x104D
227 #define E1000_DEV_ID_ICH9_IGP_M               0x10BF
228 #define E1000_DEV_ID_ICH9_IGP_M_AMT           0x10F5
229 #define E1000_DEV_ID_ICH9_IGP_M_V             0x10CB
230 #define E1000_DEV_ID_ICH9_IGP_AMT             0x10BD
231 #define E1000_DEV_ID_ICH9_BM                  0x10E5
232 #define E1000_DEV_ID_ICH9_IGP_C               0x294C
233 #define E1000_DEV_ID_ICH9_IFE                 0x10C0
234 #define E1000_DEV_ID_ICH9_IFE_GT              0x10C3
235 #define E1000_DEV_ID_ICH9_IFE_G               0x10C2
236 #define E1000_DEV_ID_ICH10_R_BM_LM            0x10CC
237 #define E1000_DEV_ID_ICH10_R_BM_LF            0x10CD
238 #define E1000_DEV_ID_ICH10_R_BM_V             0x10CE
239 #define E1000_DEV_ID_ICH10_D_BM_LM            0x10DE
240 #define E1000_DEV_ID_ICH10_D_BM_LF            0x10DF
241 #define E1000_DEV_ID_ICH10_D_BM_V             0x1525
242
243 #define E1000_DEV_ID_PCH_M_HV_LM              0x10EA
244 #define E1000_DEV_ID_PCH_M_HV_LC              0x10EB
245 #define E1000_DEV_ID_PCH_D_HV_DM              0x10EF
246 #define E1000_DEV_ID_PCH_D_HV_DC              0x10F0
247 #define E1000_DEV_ID_PCH2_LV_LM               0x1502
248 #define E1000_DEV_ID_PCH2_LV_V                0x1503
249 #define E1000_DEV_ID_PCH_LPT_I217_LM          0x153A
250 #define E1000_DEV_ID_PCH_LPT_I217_V           0x153B
251 #define E1000_DEV_ID_PCH_LPTLP_I218_LM        0x155A
252 #define E1000_DEV_ID_PCH_LPTLP_I218_V         0x1559
253
254 /*
255  * Tested (supported) on VM emulated HW.
256  */
257
258 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82540EM)
259 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_COPPER)
260 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82545EM_FIBER)
261
262 /*
263  * Tested (supported) on real HW.
264  */
265
266 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82546EB_COPPER)
267 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82546EB_FIBER)
268 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82546EB_QUAD_COPPER)
269 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_COPPER)
270 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_FIBER)
271 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES)
272 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL)
273 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD)
274 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER)
275 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER)
276 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER)
277 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP)
278 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_COPPER)
279 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_FIBER)
280 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI_SERDES)
281 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82572EI)
282 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82573L)
283 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574L)
284 RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82574LA)
285
286 /******************** Physical IGB devices from e1000_hw.h ********************/
287
288 #define E1000_DEV_ID_82576                      0x10C9
289 #define E1000_DEV_ID_82576_FIBER                0x10E6
290 #define E1000_DEV_ID_82576_SERDES               0x10E7
291 #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
292 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
293 #define E1000_DEV_ID_82576_NS                   0x150A
294 #define E1000_DEV_ID_82576_NS_SERDES            0x1518
295 #define E1000_DEV_ID_82576_SERDES_QUAD          0x150D
296 #define E1000_DEV_ID_82575EB_COPPER             0x10A7
297 #define E1000_DEV_ID_82575EB_FIBER_SERDES       0x10A9
298 #define E1000_DEV_ID_82575GB_QUAD_COPPER        0x10D6
299 #define E1000_DEV_ID_82580_COPPER               0x150E
300 #define E1000_DEV_ID_82580_FIBER                0x150F
301 #define E1000_DEV_ID_82580_SERDES               0x1510
302 #define E1000_DEV_ID_82580_SGMII                0x1511
303 #define E1000_DEV_ID_82580_COPPER_DUAL          0x1516
304 #define E1000_DEV_ID_82580_QUAD_FIBER           0x1527
305 #define E1000_DEV_ID_I350_COPPER                0x1521
306 #define E1000_DEV_ID_I350_FIBER                 0x1522
307 #define E1000_DEV_ID_I350_SERDES                0x1523
308 #define E1000_DEV_ID_I350_SGMII                 0x1524
309 #define E1000_DEV_ID_I350_DA4                   0x1546
310 #define E1000_DEV_ID_I210_COPPER                0x1533
311 #define E1000_DEV_ID_I210_COPPER_OEM1           0x1534
312 #define E1000_DEV_ID_I210_COPPER_IT             0x1535
313 #define E1000_DEV_ID_I210_FIBER                 0x1536
314 #define E1000_DEV_ID_I210_SERDES                0x1537
315 #define E1000_DEV_ID_I210_SGMII                 0x1538
316 #define E1000_DEV_ID_I210_COPPER_FLASHLESS      0x157B
317 #define E1000_DEV_ID_I210_SERDES_FLASHLESS      0x157C
318 #define E1000_DEV_ID_I211_COPPER                0x1539
319 #define E1000_DEV_ID_I354_BACKPLANE_1GBPS       0x1F40
320 #define E1000_DEV_ID_I354_SGMII                 0x1F41
321 #define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS     0x1F45
322 #define E1000_DEV_ID_DH89XXCC_SGMII             0x0438
323 #define E1000_DEV_ID_DH89XXCC_SERDES            0x043A
324 #define E1000_DEV_ID_DH89XXCC_BACKPLANE         0x043C
325 #define E1000_DEV_ID_DH89XXCC_SFP               0x0440
326
327 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576)
328 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER)
329 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES)
330 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER)
331 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2)
332 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS)
333 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES)
334 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD)
335
336 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
337 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES)
338 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER)
339
340 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER)
341 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER)
342 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES)
343 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII)
344 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL)
345 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER)
346
347 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER)
348 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER)
349 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES)
350 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII)
351 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4)
352 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER)
353 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1)
354 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT)
355 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER)
356 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES)
357 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII)
358 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER)
359 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS)
360 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII)
361 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS)
362 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII)
363 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES)
364 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE)
365 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP)
366
367 /****************** Physical IXGBE devices from ixgbe_type.h ******************/
368
369 #define IXGBE_DEV_ID_82598                      0x10B6
370 #define IXGBE_DEV_ID_82598_BX                   0x1508
371 #define IXGBE_DEV_ID_82598AF_DUAL_PORT          0x10C6
372 #define IXGBE_DEV_ID_82598AF_SINGLE_PORT        0x10C7
373 #define IXGBE_DEV_ID_82598AT                    0x10C8
374 #define IXGBE_DEV_ID_82598AT2                   0x150B
375 #define IXGBE_DEV_ID_82598EB_SFP_LOM            0x10DB
376 #define IXGBE_DEV_ID_82598EB_CX4                0x10DD
377 #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT        0x10EC
378 #define IXGBE_DEV_ID_82598_DA_DUAL_PORT         0x10F1
379 #define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM      0x10E1
380 #define IXGBE_DEV_ID_82598EB_XF_LR              0x10F4
381 #define IXGBE_DEV_ID_82599_KX4                  0x10F7
382 #define IXGBE_DEV_ID_82599_KX4_MEZZ             0x1514
383 #define IXGBE_DEV_ID_82599_KR                   0x1517
384 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE      0x10F8
385 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ       0x000C
386 #define IXGBE_DEV_ID_82599_CX4                  0x10F9
387 #define IXGBE_DEV_ID_82599_SFP                  0x10FB
388 #define IXGBE_SUBDEV_ID_82599_SFP               0x11A9
389 #define IXGBE_SUBDEV_ID_82599_RNDC              0x1F72
390 #define IXGBE_SUBDEV_ID_82599_560FLR            0x17D0
391 #define IXGBE_SUBDEV_ID_82599_ECNA_DP           0x0470
392 #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE       0x152A
393 #define IXGBE_DEV_ID_82599_SFP_FCOE             0x1529
394 #define IXGBE_DEV_ID_82599_SFP_EM               0x1507
395 #define IXGBE_DEV_ID_82599_SFP_SF2              0x154D
396 #define IXGBE_DEV_ID_82599_SFP_SF_QP            0x154A
397 #define IXGBE_DEV_ID_82599_QSFP_SF_QP           0x1558
398 #define IXGBE_DEV_ID_82599EN_SFP                0x1557
399 #define IXGBE_DEV_ID_82599_XAUI_LOM             0x10FC
400 #define IXGBE_DEV_ID_82599_T3_LOM               0x151C
401 #define IXGBE_DEV_ID_82599_LS                   0x154F
402 #define IXGBE_DEV_ID_X540T                      0x1528
403 #define IXGBE_DEV_ID_X540T1                     0x1560
404 #define IXGBE_DEV_ID_X550EM_X_SFP               0x15AC
405 #define IXGBE_DEV_ID_X550EM_X_10G_T             0x15AD
406 #define IXGBE_DEV_ID_X550EM_X_1G_T              0x15AE
407 #define IXGBE_DEV_ID_X550T                      0x1563
408 #define IXGBE_DEV_ID_X550EM_X_KX4               0x15AA
409 #define IXGBE_DEV_ID_X550EM_X_KR                0x15AB
410
411 #ifdef RTE_NIC_BYPASS
412 #define IXGBE_DEV_ID_82599_BYPASS               0x155D
413 #endif
414
415 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598)
416 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX)
417 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)
418 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
419         IXGBE_DEV_ID_82598AF_SINGLE_PORT)
420 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT)
421 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2)
422 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM)
423 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4)
424 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT)
425 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT)
426 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
427         IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM)
428 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR)
429 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4)
430 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ)
431 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR)
432 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
433         IXGBE_DEV_ID_82599_COMBO_BACKPLANE)
434 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
435         IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
436 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4)
437 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP)
438 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP)
439 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC)
440 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR)
441 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP)
442 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE)
443 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE)
444 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM)
445 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2)
446 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP)
447 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP)
448 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP)
449 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM)
450 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM)
451 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS)
452 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T)
453 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1)
454 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP)
455 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T)
456 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T)
457 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T)
458 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4)
459 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR)
460
461 #ifdef RTE_NIC_BYPASS
462 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS)
463 #endif
464
465 /*************** Physical I40E devices from i40e_type.h *****************/
466
467 #define I40E_DEV_ID_SFP_XL710           0x1572
468 #define I40E_DEV_ID_QEMU                0x1574
469 #define I40E_DEV_ID_KX_A                0x157F
470 #define I40E_DEV_ID_KX_B                0x1580
471 #define I40E_DEV_ID_KX_C                0x1581
472 #define I40E_DEV_ID_QSFP_A              0x1583
473 #define I40E_DEV_ID_QSFP_B              0x1584
474 #define I40E_DEV_ID_QSFP_C              0x1585
475 #define I40E_DEV_ID_10G_BASE_T          0x1586
476
477 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_XL710)
478 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QEMU)
479 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_A)
480 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_B)
481 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_C)
482 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_A)
483 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_B)
484 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_C)
485 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T)
486
487 /*************** Physical FM10K devices from fm10k_type.h ***************/
488
489 #define FM10K_DEV_ID_PF                   0x15A4
490
491 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_PF)
492
493 /****************** Virtual IGB devices from e1000_hw.h ******************/
494
495 #define E1000_DEV_ID_82576_VF                   0x10CA
496 #define E1000_DEV_ID_82576_VF_HV                0x152D
497 #define E1000_DEV_ID_I350_VF                    0x1520
498 #define E1000_DEV_ID_I350_VF_HV                 0x152F
499
500 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF)
501 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV)
502 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF)
503 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV)
504
505 /****************** Virtual IXGBE devices from ixgbe_type.h ******************/
506
507 #define IXGBE_DEV_ID_82599_VF                   0x10ED
508 #define IXGBE_DEV_ID_82599_VF_HV                0x152E
509 #define IXGBE_DEV_ID_X540_VF                    0x1515
510 #define IXGBE_DEV_ID_X540_VF_HV                 0x1530
511 #define IXGBE_DEV_ID_X550_VF_HV                 0x1564
512 #define IXGBE_DEV_ID_X550_VF                    0x1565
513 #define IXGBE_DEV_ID_X550EM_X_VF                0x15A8
514 #define IXGBE_DEV_ID_X550EM_X_VF_HV             0x15A9
515
516 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF)
517 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV)
518 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF)
519 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV)
520 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV)
521 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF)
522 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF)
523 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV)
524
525 /****************** Virtual I40E devices from i40e_type.h ********************/
526
527 #define I40E_DEV_ID_VF                  0x154C
528 #define I40E_DEV_ID_VF_HV               0x1571
529
530 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF)
531 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF_HV)
532
533 /****************** Virtio devices from virtio.h ******************/
534
535 #define QUMRANET_DEV_ID_VIRTIO                  0x1000
536
537 RTE_PCI_DEV_ID_DECL_VIRTIO(PCI_VENDOR_ID_QUMRANET, QUMRANET_DEV_ID_VIRTIO)
538
539 /****************** VMware VMXNET3 devices ******************/
540
541 #define VMWARE_DEV_ID_VMXNET3                   0x07B0
542
543 RTE_PCI_DEV_ID_DECL_VMXNET3(PCI_VENDOR_ID_VMWARE, VMWARE_DEV_ID_VMXNET3)
544
545 /*************** Virtual FM10K devices from fm10k_type.h ***************/
546
547 #define FM10K_DEV_ID_VF                   0x15A5
548
549 RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_VF)
550
551 /*
552  * Undef all RTE_PCI_DEV_ID_DECL_* here.
553  */
554 #undef RTE_PCI_DEV_ID_DECL_EM
555 #undef RTE_PCI_DEV_ID_DECL_IGB
556 #undef RTE_PCI_DEV_ID_DECL_IGBVF
557 #undef RTE_PCI_DEV_ID_DECL_IXGBE
558 #undef RTE_PCI_DEV_ID_DECL_IXGBEVF
559 #undef RTE_PCI_DEV_ID_DECL_I40E
560 #undef RTE_PCI_DEV_ID_DECL_I40EVF
561 #undef RTE_PCI_DEV_ID_DECL_VIRTIO
562 #undef RTE_PCI_DEV_ID_DECL_VMXNET3
563 #undef RTE_PCI_DEV_ID_DECL_FM10K
564 #undef RTE_PCI_DEV_ID_DECL_FM10KVF