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-2015 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.
60 #ifndef RTE_PCI_DEV_ID_DECL_IGB
61 #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev)
64 #ifndef RTE_PCI_DEV_ID_DECL_IGBVF
65 #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev)
68 #ifndef RTE_PCI_DEV_ID_DECL_IXGBE
69 #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev)
72 #ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF
73 #define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev)
76 #ifndef RTE_PCI_DEV_ID_DECL_I40E
77 #define RTE_PCI_DEV_ID_DECL_I40E(vend, dev)
80 #ifndef RTE_PCI_DEV_ID_DECL_I40EVF
81 #define RTE_PCI_DEV_ID_DECL_I40EVF(vend, dev)
84 #ifndef RTE_PCI_DEV_ID_DECL_VIRTIO
85 #define RTE_PCI_DEV_ID_DECL_VIRTIO(vend, dev)
88 #ifndef RTE_PCI_DEV_ID_DECL_VMXNET3
89 #define RTE_PCI_DEV_ID_DECL_VMXNET3(vend, dev)
92 #ifndef RTE_PCI_DEV_ID_DECL_FM10K
93 #define RTE_PCI_DEV_ID_DECL_FM10K(vend, dev)
96 #ifndef RTE_PCI_DEV_ID_DECL_FM10KVF
97 #define RTE_PCI_DEV_ID_DECL_FM10KVF(vend, dev)
100 #ifndef RTE_PCI_DEV_ID_DECL_ENIC
101 #define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev)
104 #ifndef RTE_PCI_DEV_ID_DECL_BNX2X
105 #define RTE_PCI_DEV_ID_DECL_BNX2X(vend, dev)
108 #ifndef RTE_PCI_DEV_ID_DECL_BNX2XVF
109 #define RTE_PCI_DEV_ID_DECL_BNX2XVF(vend, dev)
112 #ifndef RTE_PCI_DEV_ID_DECL_BNXT
113 #define RTE_PCI_DEV_ID_DECL_BNXT(vend, dev)
116 #ifndef PCI_VENDOR_ID_INTEL
117 /** Vendor ID used by Intel devices */
118 #define PCI_VENDOR_ID_INTEL 0x8086
121 #ifndef PCI_VENDOR_ID_QUMRANET
122 /** Vendor ID used by virtio devices */
123 #define PCI_VENDOR_ID_QUMRANET 0x1AF4
126 #ifndef PCI_VENDOR_ID_VMWARE
127 /** Vendor ID used by VMware devices */
128 #define PCI_VENDOR_ID_VMWARE 0x15AD
131 #ifndef PCI_VENDOR_ID_CISCO
132 /** Vendor ID used by Cisco VIC devices */
133 #define PCI_VENDOR_ID_CISCO 0x1137
136 #ifndef PCI_VENDOR_ID_BROADCOM
137 /** Vendor ID used by Broadcom devices */
138 #define PCI_VENDOR_ID_BROADCOM 0x14E4
141 /******************** Physical IGB devices from e1000_hw.h ********************/
143 #define E1000_DEV_ID_82576 0x10C9
144 #define E1000_DEV_ID_82576_FIBER 0x10E6
145 #define E1000_DEV_ID_82576_SERDES 0x10E7
146 #define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8
147 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2 0x1526
148 #define E1000_DEV_ID_82576_NS 0x150A
149 #define E1000_DEV_ID_82576_NS_SERDES 0x1518
150 #define E1000_DEV_ID_82576_SERDES_QUAD 0x150D
151 #define E1000_DEV_ID_82575EB_COPPER 0x10A7
152 #define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9
153 #define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6
154 #define E1000_DEV_ID_82580_COPPER 0x150E
155 #define E1000_DEV_ID_82580_FIBER 0x150F
156 #define E1000_DEV_ID_82580_SERDES 0x1510
157 #define E1000_DEV_ID_82580_SGMII 0x1511
158 #define E1000_DEV_ID_82580_COPPER_DUAL 0x1516
159 #define E1000_DEV_ID_82580_QUAD_FIBER 0x1527
160 #define E1000_DEV_ID_I350_COPPER 0x1521
161 #define E1000_DEV_ID_I350_FIBER 0x1522
162 #define E1000_DEV_ID_I350_SERDES 0x1523
163 #define E1000_DEV_ID_I350_SGMII 0x1524
164 #define E1000_DEV_ID_I350_DA4 0x1546
165 #define E1000_DEV_ID_I210_COPPER 0x1533
166 #define E1000_DEV_ID_I210_COPPER_OEM1 0x1534
167 #define E1000_DEV_ID_I210_COPPER_IT 0x1535
168 #define E1000_DEV_ID_I210_FIBER 0x1536
169 #define E1000_DEV_ID_I210_SERDES 0x1537
170 #define E1000_DEV_ID_I210_SGMII 0x1538
171 #define E1000_DEV_ID_I210_COPPER_FLASHLESS 0x157B
172 #define E1000_DEV_ID_I210_SERDES_FLASHLESS 0x157C
173 #define E1000_DEV_ID_I211_COPPER 0x1539
174 #define E1000_DEV_ID_I354_BACKPLANE_1GBPS 0x1F40
175 #define E1000_DEV_ID_I354_SGMII 0x1F41
176 #define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS 0x1F45
177 #define E1000_DEV_ID_DH89XXCC_SGMII 0x0438
178 #define E1000_DEV_ID_DH89XXCC_SERDES 0x043A
179 #define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C
180 #define E1000_DEV_ID_DH89XXCC_SFP 0x0440
182 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576)
183 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER)
184 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES)
185 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER)
186 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2)
187 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS)
188 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES)
189 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD)
191 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
192 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES)
193 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER)
195 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER)
196 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER)
197 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES)
198 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII)
199 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL)
200 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER)
202 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER)
203 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER)
204 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES)
205 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII)
206 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4)
207 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER)
208 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1)
209 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT)
210 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER)
211 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES)
212 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII)
213 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER)
214 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS)
215 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII)
216 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS)
217 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII)
218 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES)
219 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE)
220 RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP)
222 /****************** Physical IXGBE devices from ixgbe_type.h ******************/
224 #define IXGBE_DEV_ID_82598 0x10B6
225 #define IXGBE_DEV_ID_82598_BX 0x1508
226 #define IXGBE_DEV_ID_82598AF_DUAL_PORT 0x10C6
227 #define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7
228 #define IXGBE_DEV_ID_82598AT 0x10C8
229 #define IXGBE_DEV_ID_82598AT2 0x150B
230 #define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB
231 #define IXGBE_DEV_ID_82598EB_CX4 0x10DD
232 #define IXGBE_DEV_ID_82598_CX4_DUAL_PORT 0x10EC
233 #define IXGBE_DEV_ID_82598_DA_DUAL_PORT 0x10F1
234 #define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM 0x10E1
235 #define IXGBE_DEV_ID_82598EB_XF_LR 0x10F4
236 #define IXGBE_DEV_ID_82599_KX4 0x10F7
237 #define IXGBE_DEV_ID_82599_KX4_MEZZ 0x1514
238 #define IXGBE_DEV_ID_82599_KR 0x1517
239 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8
240 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ 0x000C
241 #define IXGBE_DEV_ID_82599_CX4 0x10F9
242 #define IXGBE_DEV_ID_82599_SFP 0x10FB
243 #define IXGBE_SUBDEV_ID_82599_SFP 0x11A9
244 #define IXGBE_SUBDEV_ID_82599_RNDC 0x1F72
245 #define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0
246 #define IXGBE_SUBDEV_ID_82599_ECNA_DP 0x0470
247 #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152A
248 #define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529
249 #define IXGBE_DEV_ID_82599_SFP_EM 0x1507
250 #define IXGBE_DEV_ID_82599_SFP_SF2 0x154D
251 #define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A
252 #define IXGBE_DEV_ID_82599_QSFP_SF_QP 0x1558
253 #define IXGBE_DEV_ID_82599EN_SFP 0x1557
254 #define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC
255 #define IXGBE_DEV_ID_82599_T3_LOM 0x151C
256 #define IXGBE_DEV_ID_82599_LS 0x154F
257 #define IXGBE_DEV_ID_X540T 0x1528
258 #define IXGBE_DEV_ID_X540T1 0x1560
259 #define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC
260 #define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD
261 #define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE
262 #define IXGBE_DEV_ID_X550T 0x1563
263 #define IXGBE_DEV_ID_X550T1 0x15D1
264 #define IXGBE_DEV_ID_X550EM_A_KR 0x15C2
265 #define IXGBE_DEV_ID_X550EM_A_KR_L 0x15C3
266 #define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4
267 #define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6
268 #define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7
269 #define IXGBE_DEV_ID_X550EM_A_10G_T 0x15C8
270 #define IXGBE_DEV_ID_X550EM_A_QSFP 0x15CA
271 #define IXGBE_DEV_ID_X550EM_A_QSFP_N 0x15CC
272 #define IXGBE_DEV_ID_X550EM_A_SFP 0x15CE
273 #define IXGBE_DEV_ID_X550EM_A_1G_T 0x15E4
274 #define IXGBE_DEV_ID_X550EM_A_1G_T_L 0x15E5
275 #define IXGBE_DEV_ID_X550EM_X_KX4 0x15AA
276 #define IXGBE_DEV_ID_X550EM_X_KR 0x15AB
278 #ifdef RTE_NIC_BYPASS
279 #define IXGBE_DEV_ID_82599_BYPASS 0x155D
282 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598)
283 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX)
284 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT)
285 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
286 IXGBE_DEV_ID_82598AF_SINGLE_PORT)
287 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT)
288 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2)
289 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM)
290 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4)
291 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT)
292 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT)
293 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
294 IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM)
295 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR)
296 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4)
297 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ)
298 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR)
299 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
300 IXGBE_DEV_ID_82599_COMBO_BACKPLANE)
301 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \
302 IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
303 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4)
304 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP)
305 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP)
306 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC)
307 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR)
308 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP)
309 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE)
310 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE)
311 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM)
312 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2)
313 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP)
314 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP)
315 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP)
316 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM)
317 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM)
318 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS)
319 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T)
320 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1)
321 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP)
322 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T)
323 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T)
324 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T)
325 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T1)
326 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR)
327 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR_L)
328 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N)
329 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII)
330 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L)
331 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_10G_T)
332 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP)
333 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP_N)
334 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP)
335 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T)
336 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L)
337 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4)
338 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR)
340 #ifdef RTE_NIC_BYPASS
341 RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS)
344 /*************** Physical I40E devices from i40e_type.h *****************/
346 #define I40E_DEV_ID_SFP_XL710 0x1572
347 #define I40E_DEV_ID_QEMU 0x1574
348 #define I40E_DEV_ID_KX_B 0x1580
349 #define I40E_DEV_ID_KX_C 0x1581
350 #define I40E_DEV_ID_QSFP_A 0x1583
351 #define I40E_DEV_ID_QSFP_B 0x1584
352 #define I40E_DEV_ID_QSFP_C 0x1585
353 #define I40E_DEV_ID_10G_BASE_T 0x1586
354 #define I40E_DEV_ID_20G_KR2 0x1587
355 #define I40E_DEV_ID_20G_KR2_A 0x1588
356 #define I40E_DEV_ID_10G_BASE_T4 0x1589
357 #define I40E_DEV_ID_25G_B 0x158A
358 #define I40E_DEV_ID_25G_SFP28 0x158B
359 #define I40E_DEV_ID_X722_A0 0x374C
360 #define I40E_DEV_ID_KX_X722 0x37CE
361 #define I40E_DEV_ID_QSFP_X722 0x37CF
362 #define I40E_DEV_ID_SFP_X722 0x37D0
363 #define I40E_DEV_ID_1G_BASE_T_X722 0x37D1
364 #define I40E_DEV_ID_10G_BASE_T_X722 0x37D2
365 #define I40E_DEV_ID_SFP_I_X722 0x37D3
366 #define I40E_DEV_ID_QSFP_I_X722 0x37D4
368 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_XL710)
369 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QEMU)
370 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_B)
371 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_C)
372 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_A)
373 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_B)
374 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_C)
375 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T)
376 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_20G_KR2)
377 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_20G_KR2_A)
378 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T4)
379 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_25G_B)
380 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_25G_SFP28)
381 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_A0)
382 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_X722)
383 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_X722)
384 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_X722)
385 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_1G_BASE_T_X722)
386 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T_X722)
387 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_I_X722)
388 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_I_X722)
390 /*************** Physical FM10K devices from fm10k_type.h ***************/
392 #define FM10K_DEV_ID_PF 0x15A4
393 #define FM10K_DEV_ID_SDI_FM10420_QDA2 0x15D0
395 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_PF)
396 RTE_PCI_DEV_ID_DECL_FM10K(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2)
398 /****************** Virtual IGB devices from e1000_hw.h ******************/
400 #define E1000_DEV_ID_82576_VF 0x10CA
401 #define E1000_DEV_ID_82576_VF_HV 0x152D
402 #define E1000_DEV_ID_I350_VF 0x1520
403 #define E1000_DEV_ID_I350_VF_HV 0x152F
405 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF)
406 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV)
407 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF)
408 RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV)
410 /****************** Virtual IXGBE devices from ixgbe_type.h ******************/
412 #define IXGBE_DEV_ID_82599_VF 0x10ED
413 #define IXGBE_DEV_ID_82599_VF_HV 0x152E
414 #define IXGBE_DEV_ID_X540_VF 0x1515
415 #define IXGBE_DEV_ID_X540_VF_HV 0x1530
416 #define IXGBE_DEV_ID_X550_VF_HV 0x1564
417 #define IXGBE_DEV_ID_X550_VF 0x1565
418 #define IXGBE_DEV_ID_X550EM_A_VF 0x15C5
419 #define IXGBE_DEV_ID_X550EM_A_VF_HV 0x15B4
420 #define IXGBE_DEV_ID_X550EM_X_VF 0x15A8
421 #define IXGBE_DEV_ID_X550EM_X_VF_HV 0x15A9
423 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF)
424 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV)
425 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF)
426 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV)
427 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV)
428 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF)
429 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF)
430 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF_HV)
431 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF)
432 RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV)
434 /****************** Virtual I40E devices from i40e_type.h ********************/
436 #define I40E_DEV_ID_VF 0x154C
437 #define I40E_DEV_ID_VF_HV 0x1571
438 #define I40E_DEV_ID_X722_A0_VF 0x374D
439 #define I40E_DEV_ID_X722_VF 0x37CD
440 #define I40E_DEV_ID_X722_VF_HV 0x37D9
442 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF)
443 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF_HV)
444 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_A0_VF)
445 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_VF)
446 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_VF_HV)
448 /****************** Virtio devices from virtio.h ******************/
450 #define QUMRANET_DEV_ID_VIRTIO 0x1000
452 RTE_PCI_DEV_ID_DECL_VIRTIO(PCI_VENDOR_ID_QUMRANET, QUMRANET_DEV_ID_VIRTIO)
454 /****************** VMware VMXNET3 devices ******************/
456 #define VMWARE_DEV_ID_VMXNET3 0x07B0
458 RTE_PCI_DEV_ID_DECL_VMXNET3(PCI_VENDOR_ID_VMWARE, VMWARE_DEV_ID_VMXNET3)
460 /*************** Virtual FM10K devices from fm10k_type.h ***************/
462 #define FM10K_DEV_ID_VF 0x15A5
464 RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL, FM10K_DEV_ID_VF)
466 /****************** Cisco VIC devices ******************/
468 #define PCI_DEVICE_ID_CISCO_VIC_ENET 0x0043 /* ethernet vnic */
469 #define PCI_DEVICE_ID_CISCO_VIC_ENET_VF 0x0071 /* enet SRIOV VF */
471 RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET)
472 RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO, PCI_DEVICE_ID_CISCO_VIC_ENET_VF)
474 /****************** QLogic devices ******************/
476 /* Broadcom/QLogic BNX2X */
477 #define BNX2X_DEV_ID_57710 0x164e
478 #define BNX2X_DEV_ID_57711 0x164f
479 #define BNX2X_DEV_ID_57711E 0x1650
480 #define BNX2X_DEV_ID_57712 0x1662
481 #define BNX2X_DEV_ID_57712_MF 0x1663
482 #define BNX2X_DEV_ID_57712_VF 0x166f
483 #define BNX2X_DEV_ID_57713 0x1651
484 #define BNX2X_DEV_ID_57713E 0x1652
485 #define BNX2X_DEV_ID_57800 0x168a
486 #define BNX2X_DEV_ID_57800_MF 0x16a5
487 #define BNX2X_DEV_ID_57800_VF 0x16a9
488 #define BNX2X_DEV_ID_57810 0x168e
489 #define BNX2X_DEV_ID_57810_MF 0x16ae
490 #define BNX2X_DEV_ID_57810_VF 0x16af
491 #define BNX2X_DEV_ID_57811 0x163d
492 #define BNX2X_DEV_ID_57811_MF 0x163e
493 #define BNX2X_DEV_ID_57811_VF 0x163f
495 #define BNX2X_DEV_ID_57840_OBS 0x168d
496 #define BNX2X_DEV_ID_57840_OBS_MF 0x16ab
497 #define BNX2X_DEV_ID_57840_4_10 0x16a1
498 #define BNX2X_DEV_ID_57840_2_20 0x16a2
499 #define BNX2X_DEV_ID_57840_MF 0x16a4
500 #define BNX2X_DEV_ID_57840_VF 0x16ad
502 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57800)
503 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57800_VF)
504 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57711)
505 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810)
506 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810_VF)
507 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811)
508 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811_VF)
509 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_OBS)
510 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_4_10)
511 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_2_20)
512 RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_VF)
513 #ifdef RTE_LIBRTE_BNX2X_MF_SUPPORT
514 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57810_MF)
515 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57811_MF)
516 RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM, BNX2X_DEV_ID_57840_MF)
519 /****************** Broadcom bnxt devices ******************/
521 #define BROADCOM_DEV_ID_57301 0x16c8
522 #define BROADCOM_DEV_ID_57302 0x16c9
523 #define BROADCOM_DEV_ID_57304_PF 0x16ca
524 #define BROADCOM_DEV_ID_57304_VF 0x16cb
525 #define BROADCOM_DEV_ID_57402 0x16d0
526 #define BROADCOM_DEV_ID_57404 0x16d1
527 #define BROADCOM_DEV_ID_57406_PF 0x16d2
528 #define BROADCOM_DEV_ID_57406_VF 0x16d3
529 #define BROADCOM_DEV_ID_57406_MF 0x16d4
530 #define BROADCOM_DEV_ID_57314 0x16df
532 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57301)
533 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57302)
534 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57304_PF)
535 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57304_VF)
536 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57402)
537 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57404)
538 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_PF)
539 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_VF)
540 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57406_MF)
541 RTE_PCI_DEV_ID_DECL_BNXT(PCI_VENDOR_ID_BROADCOM, BROADCOM_DEV_ID_57314)
544 * Undef all RTE_PCI_DEV_ID_DECL_* here.
546 #undef RTE_PCI_DEV_ID_DECL_BNX2X
547 #undef RTE_PCI_DEV_ID_DECL_BNX2XVF
548 #undef RTE_PCI_DEV_ID_DECL_IGB
549 #undef RTE_PCI_DEV_ID_DECL_IGBVF
550 #undef RTE_PCI_DEV_ID_DECL_IXGBE
551 #undef RTE_PCI_DEV_ID_DECL_IXGBEVF
552 #undef RTE_PCI_DEV_ID_DECL_I40E
553 #undef RTE_PCI_DEV_ID_DECL_I40EVF
554 #undef RTE_PCI_DEV_ID_DECL_VIRTIO
555 #undef RTE_PCI_DEV_ID_DECL_VMXNET3
556 #undef RTE_PCI_DEV_ID_DECL_FM10K
557 #undef RTE_PCI_DEV_ID_DECL_FM10KVF
558 #undef RTE_PCI_DEV_ID_DECL_BNXT