diff options
Diffstat (limited to 'common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch')
-rw-r--r-- | common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch | 356 |
1 files changed, 356 insertions, 0 deletions
diff --git a/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch new file mode 100644 index 00000000..d8b04a9b --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-ixgbe-move-PCI-device-IDs-from-EAL.patch | |||
@@ -0,0 +1,356 @@ | |||
1 | From 11b4f5db07e4e48d1548671ac44f3d328523e93d Mon Sep 17 00:00:00 2001 | ||
2 | From: Ferruh Yigit <ferruh.yigit@intel.com> | ||
3 | Date: Fri, 5 Aug 2016 15:09:29 +0100 | ||
4 | Subject: [PATCH 1/3] net/ixgbe: move PCI device IDs from EAL | ||
5 | |||
6 | Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= | ||
7 | 221fba3b987c49964aa2b3d14d7a07397bebdf73] | ||
8 | |||
9 | PCI device ids moved from common header into ixgbe driver itself. | ||
10 | |||
11 | KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is | ||
12 | only for KNI ethtool support, KNI data path is not affected. | ||
13 | |||
14 | Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> | ||
15 | (cherry picked from commit 221fba3b987c49964aa2b3d14d7a07397bebdf73) | ||
16 | Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | ||
17 | --- | ||
18 | drivers/net/ixgbe/ixgbe_ethdev.c | 79 ++++++++++-- | ||
19 | lib/librte_eal/common/include/rte_pci_dev_ids.h | 156 ------------------------ | ||
20 | lib/librte_eal/linuxapp/kni/kni_misc.c | 17 ++- | ||
21 | 3 files changed, 76 insertions(+), 176 deletions(-) | ||
22 | |||
23 | diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c | ||
24 | index d478a15..fb618ef 100644 | ||
25 | --- a/drivers/net/ixgbe/ixgbe_ethdev.c | ||
26 | +++ b/drivers/net/ixgbe/ixgbe_ethdev.c | ||
27 | @@ -429,23 +429,80 @@ static int ixgbe_dev_udp_tunnel_port_del(struct rte_eth_dev *dev, | ||
28 | * The set of PCI devices this driver supports | ||
29 | */ | ||
30 | static const struct rte_pci_id pci_id_ixgbe_map[] = { | ||
31 | - | ||
32 | -#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, | ||
33 | -#include "rte_pci_dev_ids.h" | ||
34 | - | ||
35 | -{ .vendor_id = 0, /* sentinel */ }, | ||
36 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598) }, | ||
37 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_BX) }, | ||
38 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT) }, | ||
39 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT) }, | ||
40 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT) }, | ||
41 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT2) }, | ||
42 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_SFP_LOM) }, | ||
43 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4) }, | ||
44 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_CX4_DUAL_PORT) }, | ||
45 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_DA_DUAL_PORT) }, | ||
46 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) }, | ||
47 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_XF_LR) }, | ||
48 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4) }, | ||
49 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4_MEZZ) }, | ||
50 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KR) }, | ||
51 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_COMBO_BACKPLANE) }, | ||
52 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) }, | ||
53 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_CX4) }, | ||
54 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP) }, | ||
55 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_SFP) }, | ||
56 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_RNDC) }, | ||
57 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_560FLR) }, | ||
58 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_ECNA_DP) }, | ||
59 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BACKPLANE_FCOE) }, | ||
60 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_FCOE) }, | ||
61 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_EM) }, | ||
62 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF2) }, | ||
63 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF_QP) }, | ||
64 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_QSFP_SF_QP) }, | ||
65 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599EN_SFP) }, | ||
66 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_XAUI_LOM) }, | ||
67 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_T3_LOM) }, | ||
68 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_LS) }, | ||
69 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T) }, | ||
70 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T1) }, | ||
71 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_SFP) }, | ||
72 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_10G_T) }, | ||
73 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_1G_T) }, | ||
74 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T) }, | ||
75 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T1) }, | ||
76 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR) }, | ||
77 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR_L) }, | ||
78 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP_N) }, | ||
79 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII) }, | ||
80 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII_L) }, | ||
81 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_10G_T) }, | ||
82 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP) }, | ||
83 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP_N) }, | ||
84 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP) }, | ||
85 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T) }, | ||
86 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T_L) }, | ||
87 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_KX4) }, | ||
88 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_KR) }, | ||
89 | +#ifdef RTE_NIC_BYPASS | ||
90 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_BYPASS) }, | ||
91 | +#endif | ||
92 | + { .vendor_id = 0, /* sentinel */ }, | ||
93 | }; | ||
94 | |||
95 | - | ||
96 | /* | ||
97 | * The set of PCI devices this driver supports (for 82599 VF) | ||
98 | */ | ||
99 | static const struct rte_pci_id pci_id_ixgbevf_map[] = { | ||
100 | - | ||
101 | -#define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, | ||
102 | -#include "rte_pci_dev_ids.h" | ||
103 | -{ .vendor_id = 0, /* sentinel */ }, | ||
104 | - | ||
105 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF) }, | ||
106 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF_HV) }, | ||
107 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF) }, | ||
108 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF_HV) }, | ||
109 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF_HV) }, | ||
110 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF) }, | ||
111 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF) }, | ||
112 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF_HV) }, | ||
113 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF) }, | ||
114 | + { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF_HV) }, | ||
115 | + { .vendor_id = 0, /* sentinel */ }, | ||
116 | }; | ||
117 | |||
118 | static const struct rte_eth_desc_lim rx_desc_lim = { | ||
119 | diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h | ||
120 | index 6ec8ae8..1f9d372 100644 | ||
121 | --- a/lib/librte_eal/common/include/rte_pci_dev_ids.h | ||
122 | +++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h | ||
123 | @@ -65,14 +65,6 @@ | ||
124 | #define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) | ||
125 | #endif | ||
126 | |||
127 | -#ifndef RTE_PCI_DEV_ID_DECL_IXGBE | ||
128 | -#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) | ||
129 | -#endif | ||
130 | - | ||
131 | -#ifndef RTE_PCI_DEV_ID_DECL_IXGBEVF | ||
132 | -#define RTE_PCI_DEV_ID_DECL_IXGBEVF(vend, dev) | ||
133 | -#endif | ||
134 | - | ||
135 | #ifndef PCI_VENDOR_ID_INTEL | ||
136 | /** Vendor ID used by Intel devices */ | ||
137 | #define PCI_VENDOR_ID_INTEL 0x8086 | ||
138 | @@ -159,128 +151,6 @@ RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES) | ||
139 | RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE) | ||
140 | RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP) | ||
141 | |||
142 | -/****************** Physical IXGBE devices from ixgbe_type.h ******************/ | ||
143 | - | ||
144 | -#define IXGBE_DEV_ID_82598 0x10B6 | ||
145 | -#define IXGBE_DEV_ID_82598_BX 0x1508 | ||
146 | -#define IXGBE_DEV_ID_82598AF_DUAL_PORT 0x10C6 | ||
147 | -#define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 | ||
148 | -#define IXGBE_DEV_ID_82598AT 0x10C8 | ||
149 | -#define IXGBE_DEV_ID_82598AT2 0x150B | ||
150 | -#define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB | ||
151 | -#define IXGBE_DEV_ID_82598EB_CX4 0x10DD | ||
152 | -#define IXGBE_DEV_ID_82598_CX4_DUAL_PORT 0x10EC | ||
153 | -#define IXGBE_DEV_ID_82598_DA_DUAL_PORT 0x10F1 | ||
154 | -#define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM 0x10E1 | ||
155 | -#define IXGBE_DEV_ID_82598EB_XF_LR 0x10F4 | ||
156 | -#define IXGBE_DEV_ID_82599_KX4 0x10F7 | ||
157 | -#define IXGBE_DEV_ID_82599_KX4_MEZZ 0x1514 | ||
158 | -#define IXGBE_DEV_ID_82599_KR 0x1517 | ||
159 | -#define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8 | ||
160 | -#define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ 0x000C | ||
161 | -#define IXGBE_DEV_ID_82599_CX4 0x10F9 | ||
162 | -#define IXGBE_DEV_ID_82599_SFP 0x10FB | ||
163 | -#define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 | ||
164 | -#define IXGBE_SUBDEV_ID_82599_RNDC 0x1F72 | ||
165 | -#define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0 | ||
166 | -#define IXGBE_SUBDEV_ID_82599_ECNA_DP 0x0470 | ||
167 | -#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152A | ||
168 | -#define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 | ||
169 | -#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 | ||
170 | -#define IXGBE_DEV_ID_82599_SFP_SF2 0x154D | ||
171 | -#define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A | ||
172 | -#define IXGBE_DEV_ID_82599_QSFP_SF_QP 0x1558 | ||
173 | -#define IXGBE_DEV_ID_82599EN_SFP 0x1557 | ||
174 | -#define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC | ||
175 | -#define IXGBE_DEV_ID_82599_T3_LOM 0x151C | ||
176 | -#define IXGBE_DEV_ID_82599_LS 0x154F | ||
177 | -#define IXGBE_DEV_ID_X540T 0x1528 | ||
178 | -#define IXGBE_DEV_ID_X540T1 0x1560 | ||
179 | -#define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC | ||
180 | -#define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD | ||
181 | -#define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE | ||
182 | -#define IXGBE_DEV_ID_X550T 0x1563 | ||
183 | -#define IXGBE_DEV_ID_X550T1 0x15D1 | ||
184 | -#define IXGBE_DEV_ID_X550EM_A_KR 0x15C2 | ||
185 | -#define IXGBE_DEV_ID_X550EM_A_KR_L 0x15C3 | ||
186 | -#define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4 | ||
187 | -#define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6 | ||
188 | -#define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7 | ||
189 | -#define IXGBE_DEV_ID_X550EM_A_10G_T 0x15C8 | ||
190 | -#define IXGBE_DEV_ID_X550EM_A_QSFP 0x15CA | ||
191 | -#define IXGBE_DEV_ID_X550EM_A_QSFP_N 0x15CC | ||
192 | -#define IXGBE_DEV_ID_X550EM_A_SFP 0x15CE | ||
193 | -#define IXGBE_DEV_ID_X550EM_A_1G_T 0x15E4 | ||
194 | -#define IXGBE_DEV_ID_X550EM_A_1G_T_L 0x15E5 | ||
195 | -#define IXGBE_DEV_ID_X550EM_X_KX4 0x15AA | ||
196 | -#define IXGBE_DEV_ID_X550EM_X_KR 0x15AB | ||
197 | - | ||
198 | -#ifdef RTE_NIC_BYPASS | ||
199 | -#define IXGBE_DEV_ID_82599_BYPASS 0x155D | ||
200 | -#endif | ||
201 | - | ||
202 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598) | ||
203 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_BX) | ||
204 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT) | ||
205 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ | ||
206 | - IXGBE_DEV_ID_82598AF_SINGLE_PORT) | ||
207 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT) | ||
208 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598AT2) | ||
209 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM) | ||
210 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_CX4) | ||
211 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT) | ||
212 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT) | ||
213 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ | ||
214 | - IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) | ||
215 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82598EB_XF_LR) | ||
216 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4) | ||
217 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ) | ||
218 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_KR) | ||
219 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ | ||
220 | - IXGBE_DEV_ID_82599_COMBO_BACKPLANE) | ||
221 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, \ | ||
222 | - IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) | ||
223 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_CX4) | ||
224 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP) | ||
225 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_SFP) | ||
226 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_RNDC) | ||
227 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_560FLR) | ||
228 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_SUBDEV_ID_82599_ECNA_DP) | ||
229 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE) | ||
230 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_FCOE) | ||
231 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_EM) | ||
232 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF2) | ||
233 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP) | ||
234 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP) | ||
235 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599EN_SFP) | ||
236 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_XAUI_LOM) | ||
237 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_T3_LOM) | ||
238 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_LS) | ||
239 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T) | ||
240 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540T1) | ||
241 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_SFP) | ||
242 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_10G_T) | ||
243 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_1G_T) | ||
244 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T) | ||
245 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550T1) | ||
246 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR) | ||
247 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_KR_L) | ||
248 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N) | ||
249 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII) | ||
250 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L) | ||
251 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_10G_T) | ||
252 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP) | ||
253 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_QSFP_N) | ||
254 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_SFP) | ||
255 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T) | ||
256 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L) | ||
257 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KX4) | ||
258 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_KR) | ||
259 | - | ||
260 | -#ifdef RTE_NIC_BYPASS | ||
261 | -RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS) | ||
262 | -#endif | ||
263 | - | ||
264 | /****************** Virtual IGB devices from e1000_hw.h ******************/ | ||
265 | |||
266 | #define E1000_DEV_ID_82576_VF 0x10CA | ||
267 | @@ -293,34 +163,8 @@ RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV) | ||
268 | RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF) | ||
269 | RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV) | ||
270 | |||
271 | -/****************** Virtual IXGBE devices from ixgbe_type.h ******************/ | ||
272 | - | ||
273 | -#define IXGBE_DEV_ID_82599_VF 0x10ED | ||
274 | -#define IXGBE_DEV_ID_82599_VF_HV 0x152E | ||
275 | -#define IXGBE_DEV_ID_X540_VF 0x1515 | ||
276 | -#define IXGBE_DEV_ID_X540_VF_HV 0x1530 | ||
277 | -#define IXGBE_DEV_ID_X550_VF_HV 0x1564 | ||
278 | -#define IXGBE_DEV_ID_X550_VF 0x1565 | ||
279 | -#define IXGBE_DEV_ID_X550EM_A_VF 0x15C5 | ||
280 | -#define IXGBE_DEV_ID_X550EM_A_VF_HV 0x15B4 | ||
281 | -#define IXGBE_DEV_ID_X550EM_X_VF 0x15A8 | ||
282 | -#define IXGBE_DEV_ID_X550EM_X_VF_HV 0x15A9 | ||
283 | - | ||
284 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF) | ||
285 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_VF_HV) | ||
286 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF) | ||
287 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X540_VF_HV) | ||
288 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF_HV) | ||
289 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550_VF) | ||
290 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF) | ||
291 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_A_VF_HV) | ||
292 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF) | ||
293 | -RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV) | ||
294 | - | ||
295 | /* | ||
296 | * Undef all RTE_PCI_DEV_ID_DECL_* here. | ||
297 | */ | ||
298 | #undef RTE_PCI_DEV_ID_DECL_IGB | ||
299 | #undef RTE_PCI_DEV_ID_DECL_IGBVF | ||
300 | -#undef RTE_PCI_DEV_ID_DECL_IXGBE | ||
301 | -#undef RTE_PCI_DEV_ID_DECL_IXGBEVF | ||
302 | diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c | ||
303 | index 59d15ca..66bf519 100644 | ||
304 | --- a/lib/librte_eal/linuxapp/kni/kni_misc.c | ||
305 | +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c | ||
306 | @@ -55,6 +55,7 @@ extern void kni_set_ethtool_ops(struct net_device *netdev); | ||
307 | |||
308 | extern int ixgbe_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); | ||
309 | extern void ixgbe_kni_remove(struct pci_dev *pdev); | ||
310 | +extern struct pci_device_id ixgbe_pci_tbl[]; | ||
311 | extern int igb_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); | ||
312 | extern void igb_kni_remove(struct pci_dev *pdev); | ||
313 | |||
314 | @@ -353,15 +354,14 @@ kni_dev_remove(struct kni_dev *dev) | ||
315 | if (!dev) | ||
316 | return -ENODEV; | ||
317 | |||
318 | + if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev)) | ||
319 | + ixgbe_kni_remove(dev->pci_dev); | ||
320 | + | ||
321 | switch (dev->device_id) { | ||
322 | #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): | ||
323 | #include <rte_pci_dev_ids.h> | ||
324 | igb_kni_remove(dev->pci_dev); | ||
325 | break; | ||
326 | - #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) case (dev): | ||
327 | - #include <rte_pci_dev_ids.h> | ||
328 | - ixgbe_kni_remove(dev->pci_dev); | ||
329 | - break; | ||
330 | default: | ||
331 | break; | ||
332 | } | ||
333 | @@ -510,16 +510,15 @@ kni_ioctl_create(struct net *net, | ||
334 | (PCI_SLOT(pci->devfn) == dev_info.devid) && | ||
335 | (PCI_FUNC(pci->devfn) == dev_info.function)) { | ||
336 | found_pci = pci; | ||
337 | + | ||
338 | + if (pci_match_id(ixgbe_pci_tbl, found_pci)) | ||
339 | + ret = ixgbe_kni_probe(found_pci, &lad_dev); | ||
340 | + | ||
341 | switch (dev_info.device_id) { | ||
342 | #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): | ||
343 | #include <rte_pci_dev_ids.h> | ||
344 | ret = igb_kni_probe(found_pci, &lad_dev); | ||
345 | break; | ||
346 | - #define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) \ | ||
347 | - case (dev): | ||
348 | - #include <rte_pci_dev_ids.h> | ||
349 | - ret = ixgbe_kni_probe(found_pci, &lad_dev); | ||
350 | - break; | ||
351 | default: | ||
352 | ret = -1; | ||
353 | break; | ||
354 | -- | ||
355 | 1.9.1 | ||
356 | |||