Hi Ziye, Please check the title. It could be "pci: add class id".
Please try to add a changelog below the 3 dashes when making a new revision. Other comments below: 2016-05-19 21:17, Ziye Yang: > --- a/lib/librte_eal/common/include/rte_pci.h > +++ b/lib/librte_eal/common/include/rte_pci.h > @@ -125,6 +125,7 @@ struct rte_pci_resource { > * table of these IDs for each device that it supports. > */ > struct rte_pci_id { > + uint32_t class_id; /**< Class ID (class, subclass, pi) or > RTE_CLASS_ANY_ID. */ > uint16_t vendor_id; /**< Vendor ID or PCI_ANY_ID. */ > uint16_t device_id; /**< Device ID or PCI_ANY_ID. */ > uint16_t subsystem_vendor_id; /**< Subsystem vendor ID or PCI_ANY_ID. */ You moved class_id at the beginning (which looks good)... > @@ -177,14 +179,16 @@ struct rte_pci_device { > (vend), \ > (dev), \ > PCI_ANY_ID, \ > - PCI_ANY_ID > + PCI_ANY_ID, \ > + RTE_CLASS_ANY_ID > #else > /** Macro used to help building up tables of device IDs */ > #define RTE_PCI_DEVICE(vend, dev) \ > .vendor_id = (vend), \ > .device_id = (dev), \ > .subsystem_vendor_id = PCI_ANY_ID, \ > - .subsystem_device_id = PCI_ANY_ID > + .subsystem_device_id = PCI_ANY_ID, \ > + .class_id = RTE_CLASS_ANY_ID > #endif ... but forgot to move these lines.