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