[dpdk-dev] [PATCH 1/3] net/ixgbe: move PCI device ids to the driver

2016-08-10 Thread David Marchand
On Mon, Aug 8, 2016 at 11:10 AM, Ferruh Yigit  wrote:
> On 8/8/2016 7:36 AM, David Marchand wrote:
>> The only thing that bothers me using this ("unsynchronised") internal
>> pci device list is that, if people were using the ethtool part of kni,
>> there would now be devices that won't be recognised anymore.
>> Is it intentional ?
>
> I am aware that the list changed, but wasn't sure about updating the
> list in drivers or not.
>
> If a device is not listed in driver's pci device id table, it may not be
> supported, so ethtool may give wrong output, or it may just be missing,
> this is hard to know without testing (although this was the case before
> this patch)
>
> Since it is easy to add new id, and we are at the beginning of the
> release, I was thinking if somebody reports KNI ethotool support is
> missing for a specific device, we can add it instead of adding all by
> default.

Ok for me and with this we can know if this ethtool part is used :-)


-- 
David Marchand


[dpdk-dev] [PATCH 1/3] net/ixgbe: move PCI device ids to the driver

2016-08-08 Thread Ferruh Yigit
On 8/8/2016 7:36 AM, David Marchand wrote:
> Hello Ferruh,
> 
> On Fri, Aug 5, 2016 at 4:09 PM, Ferruh Yigit  
> wrote:
>> PCI device ids moved from common header into ixgbe driver itself.
>>
>> KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is
>> only for KNI ethtool support, KNI data path is not effected.
>>
>> Signed-off-by: Ferruh Yigit 
> 
> Thanks for working on this.
> 
> The only thing that bothers me using this ("unsynchronised") internal
> pci device list is that, if people were using the ethtool part of kni,
> there would now be devices that won't be recognised anymore.
> Is it intentional ?

I am aware that the list changed, but wasn't sure about updating the
list in drivers or not.

If a device is not listed in driver's pci device id table, it may not be
supported, so ethtool may give wrong output, or it may just be missing,
this is hard to know without testing (although this was the case before
this patch)

Since it is easy to add new id, and we are at the beginning of the
release, I was thinking if somebody reports KNI ethotool support is
missing for a specific device, we can add it instead of adding all by
default.

> If so, we should explain why in the documentation.
> 
> Same comment for the igb patch.
> 
> 



[dpdk-dev] [PATCH 1/3] net/ixgbe: move PCI device ids to the driver

2016-08-08 Thread David Marchand
Hello Ferruh,

On Fri, Aug 5, 2016 at 4:09 PM, Ferruh Yigit  wrote:
> PCI device ids moved from common header into ixgbe driver itself.
>
> KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is
> only for KNI ethtool support, KNI data path is not effected.
>
> Signed-off-by: Ferruh Yigit 

Thanks for working on this.

The only thing that bothers me using this ("unsynchronised") internal
pci device list is that, if people were using the ethtool part of kni,
there would now be devices that won't be recognised anymore.
Is it intentional ?
If so, we should explain why in the documentation.

Same comment for the igb patch.


-- 
David Marchand


[dpdk-dev] [PATCH 1/3] net/ixgbe: move PCI device ids to the driver

2016-08-05 Thread Ferruh Yigit
PCI device ids moved from common header into ixgbe driver itself.

KNI starts using pci_device_id from kni/ethtool/ixgbe driver, this is
only for KNI ethtool support, KNI data path is not effected.

Signed-off-by: Ferruh Yigit 
---
 drivers/net/ixgbe/ixgbe_ethdev.c|  79 ++--
 lib/librte_eal/common/include/rte_pci_dev_ids.h | 156 
 lib/librte_eal/linuxapp/kni/kni_misc.c  |  17 ++-
 3 files changed, 76 insertions(+), 176 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index d478a15..fb618ef 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -429,23 +429,80 @@ static int ixgbe_dev_udp_tunnel_port_del(struct 
rte_eth_dev *dev,
  * The set of PCI devices this driver supports
  */
 static const struct rte_pci_id pci_id_ixgbe_map[] = {
-
-#define RTE_PCI_DEV_ID_DECL_IXGBE(vend, dev) {RTE_PCI_DEVICE(vend, dev)},
-#include "rte_pci_dev_ids.h"
-
-{ .vendor_id = 0, /* sentinel */ },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598_BX) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT) 
},
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_DEV_ID_82598AF_SINGLE_PORT) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT2) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_SFP_LOM) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_DEV_ID_82598_CX4_DUAL_PORT) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_DEV_ID_82598_DA_DUAL_PORT) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_XF_LR) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KX4_MEZZ) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_KR) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_DEV_ID_82599_COMBO_BACKPLANE) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_CX4) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_SFP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_RNDC) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_560FLR) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_SUBDEV_ID_82599_ECNA_DP) 
},
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, 
IXGBE_DEV_ID_82599_BACKPLANE_FCOE) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_FCOE) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_EM) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF2) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_SFP_SF_QP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_QSFP_SF_QP) 
},
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599EN_SFP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_XAUI_LOM) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_T3_LOM) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_LS) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540T1) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_SFP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_10G_T) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_1G_T) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550T1) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_KR_L) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP_N) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SGMII_L) 
},
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_10G_T) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_QSFP_N) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_SFP) },
+   { RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_1G_T) },
+   {