[systemd-commits] 19 commits - docs/.gitignore hwdb/20-OUI.hwdb hwdb/20-pci-vendor-model.hwdb hwdb/20-usb-vendor-model.hwdb Makefile.am man/systemd.network.xml NEWS rules/60-persistent-storage.rules src/bus-proxyd src/libsystemd src/libsystemd-network src/login src/network src/nspawn TODO

David Herrmann dvdhrm at kemper.freedesktop.org
Mon Jul 6 10:08:38 PDT 2015


 Makefile.am                                  |    4 
 NEWS                                         |   20 
 TODO                                         |    4 
 docs/.gitignore                              |    1 
 hwdb/20-OUI.hwdb                             |  165 ++++++
 hwdb/20-pci-vendor-model.hwdb                |  646 ++++++++++++++++++---------
 hwdb/20-usb-vendor-model.hwdb                |    7 
 man/systemd.network.xml                      |   10 
 rules/60-persistent-storage.rules            |    2 
 src/bus-proxyd/proxy.c                       |   18 
 src/libsystemd-network/sd-lldp.c             |    2 
 src/libsystemd/sd-bus/bus-control.c          |   29 -
 src/libsystemd/sd-bus/kdbus.h                |    1 
 src/libsystemd/sd-netlink/netlink-internal.h |    2 
 src/login/71-seat.rules.in                   |    2 
 src/network/networkd-link.c                  |   39 +
 src/network/networkd-network-gperf.gperf     |  131 ++---
 src/network/networkd-network.c               |   53 ++
 src/network/networkd.h                       |   17 
 src/nspawn/nspawn.c                          |    8 
 20 files changed, 867 insertions(+), 294 deletions(-)

New commits:
commit 5541c88977e63215e74b7517fb33cb27e5a04f17
Author: David Herrmann <dh.herrmann at gmail.com>
Date:   Mon Jul 6 19:07:10 2015 +0200

    NEWS: mention ipv6 privacy extensions

diff --git a/NEWS b/NEWS
index 03f8676..f5173e0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 systemd System and Service Manager
 
 CHANGES WITH 222:
+
         * udev does not longer support the WAIT_FOR_SYSFS= key in udev rules.
           There are no known issues with current sysfs, and udev does not need
           or should be used to work around such bugs.
@@ -14,17 +15,22 @@ CHANGES WITH 222:
           accelerometer/orientation data with this systemd version.
           Please upgrade iio-sensor-proxy to version 1.0.
 
+        * networkd gained a new configuration option IPv6PrivacyExtensions=
+          which enables IPv6 privacy extensions (RFC 4941, "Privacy Extensions
+          for Stateless Address") on selected networks.
+
         Contributions from: Abdo Roig-Maranges, Andrew Eikum, Bastien Nocera,
         Cédric Delmas, Christian Hesse, Christos Trochalakis, Daniel Mack,
         daurnimator, David Herrmann, Dimitri John Ledkov, Eric Biggers, Eric
         Cook, Felipe Sateler, Geert Jansen, Gerd Hoffmann, Gianpaolo Macario,
-        Greg Kroah-Hartman, Iago López Galeiras, Jan Alexander Steffens,
-        Jan Engelhardt, Jay Strict, Kay Sievers, Lennart Poettering,
+        Greg Kroah-Hartman, Iago López Galeiras, Jan Alexander Steffens
+        (heftig), Jan Engelhardt, Jay Strict, Kay Sievers, Lennart Poettering,
         Markus Knetschke, Martin Pitt, Michael Biebl, Michael Marineau, Michal
         Sekletar, Miguel Bernal Marin, Peter Hutterer, Richard Maw, rinrinne,
-        Tom Gundersen, Vedran Miletić, WaLyong Cho, Zbigniew Jędrzejewski-Szmek
+        Susant Sahani, Tom Gundersen, Torstein Husebø, Vedran Miletić, WaLyong
+        Cho, Zbigniew Jędrzejewski-Szmek
 
-        -- Berlin, 2015-07-XX
+        -- Berlin, 2015-07-06
 
 CHANGES WITH 221:
 

commit 619b80a1c7caeb1d910d8d68a3700b8bdfc29a90
Author: Kay Sievers <kay at vrfy.org>
Date:   Mon Jul 6 17:54:40 2015 +0200

    bus-proxyd: fix log message and explain dbus-1 compat matches

diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c
index f9308f2..189ee96 100644
--- a/src/bus-proxyd/proxy.c
+++ b/src/bus-proxyd/proxy.c
@@ -144,6 +144,10 @@ static int proxy_create_local(Proxy *p, int in_fd, int out_fd, bool negotiate_fd
         return 0;
 }
 
+/*
+ * dbus-1 clients receive NameOwnerChanged and directed signals without
+ * subscribing to them; install the matches to receive them on kdbus.
+ */
 static int proxy_prepare_matches(Proxy *p) {
         _cleanup_free_ char *match = NULL;
         const char *unique;
@@ -200,7 +204,8 @@ static int proxy_prepare_matches(Proxy *p) {
 
         r = sd_bus_add_match(p->destination_bus, NULL, match, NULL, NULL);
         if (r < 0)
-                log_error_errno(r, "Failed to add match for NameAcquired: %m");
+                log_error_errno(r, "Failed to add match for directed signals: %m");
+                /* FIXME: temporarily ignore error to support older kdbus versions */
 
         return 0;
 }

commit 0c60116171dbb68b39eade00f2a3a606ab9f53d8
Author: Kay Sievers <kay at vrfy.org>
Date:   Mon Jul 6 17:46:43 2015 +0200

    docs: add .gitignore

diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..35b5e99
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1 @@
+/html

commit de865432f887e68ac7add166cf618c88431d6538
Author: Kay Sievers <kay at vrfy.org>
Date:   Mon Jul 6 17:45:26 2015 +0200

    bus-proxyd: subscribe to unicast signals directed to the proxy connection

diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c
index c0055d3..f9308f2 100644
--- a/src/bus-proxyd/proxy.c
+++ b/src/bus-proxyd/proxy.c
@@ -189,6 +189,19 @@ static int proxy_prepare_matches(Proxy *p) {
         if (r < 0)
                 return log_error_errno(r, "Failed to add match for NameAcquired: %m");
 
+        free(match);
+        match = strjoin("type='signal',"
+                        "destination='",
+                        unique,
+                        "'",
+                        NULL);
+        if (!match)
+                return log_oom();
+
+        r = sd_bus_add_match(p->destination_bus, NULL, match, NULL, NULL);
+        if (r < 0)
+                log_error_errno(r, "Failed to add match for NameAcquired: %m");
+
         return 0;
 }
 

commit e1141a962239ef9ad2383a7f57ff151597a2b982
Author: David Herrmann <dh.herrmann at gmail.com>
Date:   Mon Jul 6 17:43:36 2015 +0200

    sd-bus: support matching on destination names
    
    Right now, we never install destination matches on kdbus as the kernel did
    not support MATCH rules on those. With the introduction of
    KDBUS_ITEM_DST_ID we can now match on destination IDs, so add explicit
    support for those.
    
    This requires a recent kdbus module to work. However, there seems to be no
    user-space that uses "Destination=''" matches, yet, so old kdbus modules
    still work fine (we couldn't find any real user).
    
    This is needed to match on unicast signals in bus-proxy. A followup will
    add support for this.

diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
index 7a59702..a38c5c5 100644
--- a/src/libsystemd/sd-bus/bus-control.c
+++ b/src/libsystemd/sd-bus/bus-control.c
@@ -1219,7 +1219,7 @@ int bus_add_match_internal_kernel(
         size_t sz;
         const char *sender = NULL;
         size_t sender_length = 0;
-        uint64_t src_id = KDBUS_MATCH_ID_ANY;
+        uint64_t src_id = KDBUS_MATCH_ID_ANY, dst_id = KDBUS_MATCH_ID_ANY;
         bool using_bloom = false;
         unsigned i;
         bool matches_name_change = true;
@@ -1332,13 +1332,21 @@ int bus_add_match_internal_kernel(
                         break;
                 }
 
-                case BUS_MATCH_DESTINATION:
-                        /* The bloom filter does not include
-                           the destination, since it is only
-                           available for broadcast messages
-                           which do not carry a destination
-                           since they are undirected. */
+                case BUS_MATCH_DESTINATION: {
+                        /*
+                         * Kernel only supports matching on destination IDs, but
+                         * not on destination names. So just skip the
+                         * destination name restriction and verify it in
+                         * user-space on retrieval.
+                         */
+                        r = bus_kernel_parse_unique_name(c->value_str, &dst_id);
+                        if (r < 0)
+                                return r;
+                        else if (r > 0)
+                                sz += ALIGN8(offsetof(struct kdbus_item, id) + sizeof(uint64_t));
+
                         break;
+                }
 
                 case BUS_MATCH_ROOT:
                 case BUS_MATCH_VALUE:
@@ -1365,6 +1373,13 @@ int bus_add_match_internal_kernel(
                 item = KDBUS_ITEM_NEXT(item);
         }
 
+        if (dst_id != KDBUS_MATCH_ID_ANY) {
+                item->size = offsetof(struct kdbus_item, id) + sizeof(uint64_t);
+                item->type = KDBUS_ITEM_DST_ID;
+                item->id = dst_id;
+                item = KDBUS_ITEM_NEXT(item);
+        }
+
         if (using_bloom) {
                 item->size = offsetof(struct kdbus_item, data64) + bus->bloom_size;
                 item->type = KDBUS_ITEM_BLOOM_MASK;
diff --git a/src/libsystemd/sd-bus/kdbus.h b/src/libsystemd/sd-bus/kdbus.h
index 00a6e14..ecffc6b 100644
--- a/src/libsystemd/sd-bus/kdbus.h
+++ b/src/libsystemd/sd-bus/kdbus.h
@@ -374,6 +374,7 @@ enum kdbus_item_type {
 	KDBUS_ITEM_ATTACH_FLAGS_RECV,
 	KDBUS_ITEM_ID,
 	KDBUS_ITEM_NAME,
+	KDBUS_ITEM_DST_ID,
 
 	/* keep these item types in sync with KDBUS_ATTACH_* flags */
 	_KDBUS_ITEM_ATTACH_BASE	= 0x1000,

commit bf09cec3da7c968eaf3ef57bed7bf60eb2940953
Merge: 1361205 aa6b0ac
Author: Daniel Mack <github at zonque.org>
Date:   Mon Jul 6 09:00:04 2015 -0400

    Merge pull request #491 from torstehu/fix-typo
    
    treewide: fix typos


commit aa6b0ac449228545618e026e95beb9cc0e32a19d
Author: Torstein Husebø <torstein at huseboe.net>
Date:   Thu Jul 2 15:18:29 2015 +0200

    treewide: fix typos

diff --git a/src/libsystemd/sd-netlink/netlink-internal.h b/src/libsystemd/sd-netlink/netlink-internal.h
index b8a3668..6f51ebe 100644
--- a/src/libsystemd/sd-netlink/netlink-internal.h
+++ b/src/libsystemd/sd-netlink/netlink-internal.h
@@ -93,7 +93,7 @@ struct sd_netlink {
 };
 
 struct netlink_attribute {
-        size_t offset; /* offset from hdr to attirubte */
+        size_t offset; /* offset from hdr to attribute */
 };
 
 struct netlink_container {
diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in
index 47d68b8..de55c9a 100644
--- a/src/login/71-seat.rules.in
+++ b/src/login/71-seat.rules.in
@@ -18,7 +18,7 @@ SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat"
 SUBSYSTEM=="usb", ATTR{idVendor}=="2230", ATTR{idProduct}=="000[13]", ENV{ID_AUTOSEAT}="1"
 
 # qemu (version 2.4+) has a PCI-PCI bridge (-device pci-bridge-seat) to group
-# evices belonging to one seat. See:
+# devices belonging to one seat. See:
 #     http://git.qemu.org/?p=qemu.git;a=blob;f=docs/multiseat.txt
 SUBSYSTEM=="pci", ATTR{vendor}=="0x1b36", ATTR{device}=="0x000a", TAG+="seat", ENV{ID_AUTOSEAT}="1"
 
diff --git a/src/network/networkd.h b/src/network/networkd.h
index 0764609..cd5c020 100644
--- a/src/network/networkd.h
+++ b/src/network/networkd.h
@@ -466,7 +466,7 @@ int config_parse_address_family_boolean_with_kernel(const char *unit, const char
 const char* link_operstate_to_string(LinkOperationalState s) _const_;
 LinkOperationalState link_operstate_from_string(const char *s) _pure_;
 
-/* Ipv6 privacy extensions support */
+/* IPv6 privacy extensions support */
 
 const char* ipv6_privacy_extensions_to_string(IPv6PrivacyExtensions i) _const_;
 IPv6PrivacyExtensions ipv6_privacy_extensions_from_string(const char *s) _pure_;

commit 1361205099406d2a19d64547448638a6b665af81
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon Jul 6 12:35:58 2015 +0200

    update TODO

diff --git a/TODO b/TODO
index 3424fb6..2904e2b 100644
--- a/TODO
+++ b/TODO
@@ -26,6 +26,8 @@ External:
 
 Features:
 
+* consider throwing a warning if a service declares it wants to be "Before=" a .device unit.
+
 * "systemctl edit" should know a mode to create a new unit file
 
 * there's probably something wrong with having user mounts below /sys,

commit dbb60d694463a2d73d12a1d6725685dc1eeba078
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon Jul 6 12:35:51 2015 +0200

    nspawn: fix indenting

diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 1ba248f..f129503 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -4696,10 +4696,10 @@ int main(int argc, char *argv[]) {
                 };
                 int ifi = 0;
                 ssize_t l;
-                                _cleanup_event_unref_ sd_event *event = NULL;
-                                _cleanup_(pty_forward_freep) PTYForward *forward = NULL;
-                                _cleanup_netlink_unref_ sd_netlink *rtnl = NULL;
-                                char last_char = 0;
+                _cleanup_event_unref_ sd_event *event = NULL;
+                _cleanup_(pty_forward_freep) PTYForward *forward = NULL;
+                _cleanup_netlink_unref_ sd_netlink *rtnl = NULL;
+                char last_char = 0;
 
                 r = barrier_create(&barrier);
                 if (r < 0) {

commit 2f75af03c9a1e98ff0f6b2752b61ada7079f0752
Merge: b5070ab 9bb1bff
Author: Tom Gundersen <teg at jklm.no>
Date:   Mon Jul 6 11:35:12 2015 +0200

    Merge pull request #443 from ssahani/lldp
    
    lldp: set correct state for processing


commit b5070ab9d0956ac3482262b17b20696b0f24622f
Merge: 604f02a a521dbf
Author: Daniel Mack <github at zonque.org>
Date:   Sun Jul 5 13:08:13 2015 -0400

    Merge pull request #417 from ssahani/ipv6-private
    
    Ipv6 private extensions


commit 604f02add68c10232876a868c2f04b77cdcefee0
Author: Kay Sievers <kay at vrfy.org>
Date:   Sun Jul 5 16:22:30 2015 +0200

    rules: block - add dasd to whitelist

diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
index 90b62cc..5ab03fc 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -6,7 +6,7 @@
 ACTION=="remove", GOTO="persistent_storage_end"
 
 SUBSYSTEM!="block", GOTO="persistent_storage_end"
-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*", GOTO="persistent_storage_end"
+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*", GOTO="persistent_storage_end"
 
 # ignore partitions that span the entire disk
 TEST=="whole_disk", GOTO="persistent_storage_end"

commit 44a3d8cb6e4fad3638b8bafbd4da8adea6288d2e
Author: Kay Sievers <kay at vrfy.org>
Date:   Sun Jul 5 16:10:03 2015 +0200

    build-sys: bump sonames

diff --git a/Makefile.am b/Makefile.am
index 0fa4cf4..19a3706 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -42,9 +42,9 @@ LIBUDEV_CURRENT=7
 LIBUDEV_REVISION=4
 LIBUDEV_AGE=6
 
-LIBSYSTEMD_CURRENT=8
+LIBSYSTEMD_CURRENT=9
 LIBSYSTEMD_REVISION=0
-LIBSYSTEMD_AGE=8
+LIBSYSTEMD_AGE=9
 
 # The following four libraries only exist for compatibility reasons,
 # their version info should not be bumped anymore

commit 70775e17c65360feca65ebcd74147c45b9949e03
Author: Kay Sievers <kay at vrfy.org>
Date:   Sun Jul 5 16:05:54 2015 +0200

    hwdb: update

diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb
index 51f591c..cbf70da 100644
--- a/hwdb/20-OUI.hwdb
+++ b/hwdb/20-OUI.hwdb
@@ -51871,6 +51871,9 @@ OUI:0463E0*
 OUI:046785*
  ID_OUI_FROM_DATABASE=scemtec Hard- und Software fuer Mess- und Steuerungstechnik GmbH
 
+OUI:0469F8*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:046D42*
  ID_OUI_FROM_DATABASE=Bryston Ltd.
 
@@ -52516,6 +52519,9 @@ OUI:080090*
 OUI:080371*
  ID_OUI_FROM_DATABASE=KRG CORPORATE
 
+OUI:080581*
+ ID_OUI_FROM_DATABASE=Roku, Inc
+
 OUI:0805CD*
  ID_OUI_FROM_DATABASE=DongGuang EnMai Electronic Product Co.Ltd.
 
@@ -54466,6 +54472,9 @@ OUI:1C1D67*
 OUI:1C1D86*
  ID_OUI_FROM_DATABASE=Cisco
 
+OUI:1C21D1*
+ ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY  - Please see MAM public listing for more information.
+
 OUI:1C334D*
  ID_OUI_FROM_DATABASE=ITS Telecom
 
@@ -54994,6 +55003,9 @@ OUI:209AE9*
 OUI:209BA5*
  ID_OUI_FROM_DATABASE=JIAXING GLEAD Electronics Co.,Ltd
 
+OUI:209BCD*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:20A2E4*
  ID_OUI_FROM_DATABASE=Apple
 
@@ -55042,6 +55054,9 @@ OUI:20C1AF*
 OUI:20C38F*
  ID_OUI_FROM_DATABASE=Texas Instruments Inc
 
+OUI:20C3A4*
+ ID_OUI_FROM_DATABASE=RetailNext
+
 OUI:20C60D*
  ID_OUI_FROM_DATABASE=Shanghai annijie Information technology Co.,LTD
 
@@ -55876,6 +55891,9 @@ OUI:2C0623*
 OUI:2C073C*
  ID_OUI_FROM_DATABASE=DEVLINE LIMITED
 
+OUI:2C081C*
+ ID_OUI_FROM_DATABASE=OVH
+
 OUI:2C10C1*
  ID_OUI_FROM_DATABASE=Nintendo Co., Ltd.
 
@@ -56503,6 +56521,9 @@ OUI:30D6C9*
 OUI:30DE86*
  ID_OUI_FROM_DATABASE=Cedac Software S.r.l.
 
+OUI:30E090*
+ ID_OUI_FROM_DATABASE=Linctronix Ltd,
+
 OUI:30E48E*
  ID_OUI_FROM_DATABASE=Vodafone UK
 
@@ -57025,6 +57046,9 @@ OUI:38192F*
 OUI:381C1A*
  ID_OUI_FROM_DATABASE=Cisco
 
+OUI:381C23*
+ ID_OUI_FROM_DATABASE=Hilan Technology CO.,LTD
+
 OUI:381C4A*
  ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd.
 
@@ -57085,6 +57109,9 @@ OUI:38484C*
 OUI:384B76*
  ID_OUI_FROM_DATABASE=AIRTAME ApS
 
+OUI:384C90*
+ ID_OUI_FROM_DATABASE=ARRIS GROUP, INC.
+
 OUI:384FF0*
  ID_OUI_FROM_DATABASE=Azurewave Technologies, Inc.
 
@@ -57103,6 +57130,9 @@ OUI:3859F9*
 OUI:385AA8*
  ID_OUI_FROM_DATABASE=Beijing Zhongdun Security Technology Development Co.
 
+OUI:385F66*
+ ID_OUI_FROM_DATABASE=Cisco SPVTG
+
 OUI:385FC3*
  ID_OUI_FROM_DATABASE=Yu Jeong System, Co.Ltd
 
@@ -57232,6 +57262,9 @@ OUI:38CA97*
 OUI:38D135*
  ID_OUI_FROM_DATABASE=EasyIO Corporation Sdn. Bhd.
 
+OUI:38D40B*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:38D82F*
  ID_OUI_FROM_DATABASE=zte corporation
 
@@ -57496,12 +57529,18 @@ OUI:3C754A*
 OUI:3C77E6*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
 
+OUI:3C7A8A*
+ ID_OUI_FROM_DATABASE=ARRIS GROUP, INC.
+
 OUI:3C7DB1*
  ID_OUI_FROM_DATABASE=Texas Instruments
 
 OUI:3C81D8*
  ID_OUI_FROM_DATABASE=SAGEMCOM SAS
 
+OUI:3C831E*
+ ID_OUI_FROM_DATABASE=CKD Corporation
+
 OUI:3C8375*
  ID_OUI_FROM_DATABASE=Microsoft Corporation
 
@@ -57562,6 +57601,9 @@ OUI:3CA315*
 OUI:3CA31A*
  ID_OUI_FROM_DATABASE=Oilfind International LLC
 
+OUI:3CA348*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
 OUI:3CA72B*
  ID_OUI_FROM_DATABASE=MRV Communications (Networks) LTD
 
@@ -57796,6 +57838,9 @@ OUI:404022*
 OUI:40406B*
  ID_OUI_FROM_DATABASE=Icomera
 
+OUI:4040A7*
+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
+
 OUI:4045DA*
  ID_OUI_FROM_DATABASE=Spreadtrum Communications (Shanghai) Co., Ltd.
 
@@ -58477,6 +58522,9 @@ OUI:480FCF*
 OUI:481249*
  ID_OUI_FROM_DATABASE=Luxcom Technologies Inc.
 
+OUI:48137E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:4813F3*
  ID_OUI_FROM_DATABASE=BBK Electronics Corp., Ltd.
 
@@ -59584,6 +59632,9 @@ OUI:544A05*
 OUI:544A16*
  ID_OUI_FROM_DATABASE=Texas Instruments
 
+OUI:544E90*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:545146*
  ID_OUI_FROM_DATABASE=AMG Systems Ltd.
 
@@ -59725,6 +59776,9 @@ OUI:54B753*
 OUI:54B80A*
  ID_OUI_FROM_DATABASE=D-Link International
 
+OUI:54BE53*
+ ID_OUI_FROM_DATABASE=zte corporation
+
 OUI:54BEF7*
  ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
 
@@ -60022,6 +60076,9 @@ OUI:58874C*
 OUI:5887E2*
  ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd.
 
+OUI:588BF3*
+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation
+
 OUI:588D09*
  ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC.
 
@@ -61090,6 +61147,9 @@ OUI:6459F8*
 OUI:645A04*
  ID_OUI_FROM_DATABASE=Chicony Electronics Co., Ltd.
 
+OUI:645D92*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO.,LTD
+
 OUI:645DD7*
  ID_OUI_FROM_DATABASE=Shenzhen Lifesense Medical Electronics Co., Ltd.
 
@@ -61705,6 +61765,9 @@ OUI:68DFDD*
 OUI:68E41F*
  ID_OUI_FROM_DATABASE=Unglaube Identech GmbH
 
+OUI:68E8EB*
+ ID_OUI_FROM_DATABASE=Linktel Technologies Co.,Ltd
+
 OUI:68EBAE*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -62077,6 +62140,9 @@ OUI:6CE907*
 OUI:6CE983*
  ID_OUI_FROM_DATABASE=Gastron Co., LTD.
 
+OUI:6CEBB2*
+ ID_OUI_FROM_DATABASE=Dongguan Sen DongLv Electronics Co.,Ltd
+
 OUI:6CECA1*
  ID_OUI_FROM_DATABASE=SHENZHEN CLOU ELECTRONICS CO. LTD.
 
@@ -62434,6 +62500,9 @@ OUI:70B921*
 OUI:70BAEF*
  ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
 
+OUI:70BF3E*
+ ID_OUI_FROM_DATABASE=Charles River Laboratories
+
 OUI:70C6AC*
  ID_OUI_FROM_DATABASE=Bosch Automotive Aftermarket
 
@@ -63037,6 +63106,9 @@ OUI:78521A*
 OUI:785262*
  ID_OUI_FROM_DATABASE=Shenzhen Hojy Software Co., Ltd.
 
+OUI:7853F2*
+ ID_OUI_FROM_DATABASE=ROXTON Ltd.
+
 OUI:78542E*
  ID_OUI_FROM_DATABASE=D-Link International
 
@@ -63577,6 +63649,9 @@ OUI:7C8D91*
 OUI:7C8EE4*
  ID_OUI_FROM_DATABASE=Texas Instruments
 
+OUI:7C9122*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:7C94B2*
  ID_OUI_FROM_DATABASE=Philips Healthcare PCCI
 
@@ -63934,6 +64009,9 @@ OUI:80618F*
 OUI:806459*
  ID_OUI_FROM_DATABASE=Nimbus Inc.
 
+OUI:80656D*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:8065E9*
  ID_OUI_FROM_DATABASE=BenQ Corporation
 
@@ -64930,6 +65008,9 @@ OUI:8C0CA3*
 OUI:8C0EE3*
  ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD.
 
+OUI:8C10D4*
+ ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
+
 OUI:8C11CB*
  ID_OUI_FROM_DATABASE=ABUS Security-Center GmbH & Co. KG
 
@@ -65620,6 +65701,9 @@ OUI:90DB46*
 OUI:90DFB7*
  ID_OUI_FROM_DATABASE=s.m.s smart microwave sensors GmbH
 
+OUI:90DFFB*
+ ID_OUI_FROM_DATABASE=HOMERIDER SYSTEMS
+
 OUI:90E0F0*
  ID_OUI_FROM_DATABASE=IEEE 1722a Working Group
 
@@ -65776,6 +65860,9 @@ OUI:9451BF*
 OUI:945493*
  ID_OUI_FROM_DATABASE=Rigado, LLC
 
+OUI:9457A5*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
 OUI:94592D*
  ID_OUI_FROM_DATABASE=EKE Building Technology Systems Ltd
 
@@ -65893,6 +65980,9 @@ OUI:94BA31*
 OUI:94BA56*
  ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd.
 
+OUI:94BBAE*
+ ID_OUI_FROM_DATABASE=Husqvarna AB
+
 OUI:94BF1E*
  ID_OUI_FROM_DATABASE=eflow Inc. / Smart Device Planning and Development Division
 
@@ -66397,6 +66487,9 @@ OUI:9C28BF*
 OUI:9C28EF*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
+OUI:9C293F*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
 OUI:9C2A70*
  ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
 
@@ -66517,6 +66610,9 @@ OUI:9C77AA*
 OUI:9C79AC*
  ID_OUI_FROM_DATABASE=Suntec Software(Shanghai) Co., Ltd.
 
+OUI:9C7A03*
+ ID_OUI_FROM_DATABASE=Ciena Corporation
+
 OUI:9C7BD2*
  ID_OUI_FROM_DATABASE=NEOLAB Convergence
 
@@ -66766,6 +66862,9 @@ OUI:A01C05*
 OUI:A01D48*
  ID_OUI_FROM_DATABASE=Hewlett Packard
 
+OUI:A01E0B*
+ ID_OUI_FROM_DATABASE=MINIX Technology Limited
+
 OUI:A02195*
  ID_OUI_FROM_DATABASE=Samsung Electronics Digital Imaging
 
@@ -66781,6 +66880,9 @@ OUI:A02BB8*
 OUI:A02EF3*
  ID_OUI_FROM_DATABASE=United Integrated Services Co., Led.
 
+OUI:A03299*
+ ID_OUI_FROM_DATABASE=Lenovo (Beijing) Co., Ltd.
+
 OUI:A0369F*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
@@ -67594,6 +67696,9 @@ OUI:A84041*
 OUI:A84481*
  ID_OUI_FROM_DATABASE=Nokia Corporation
 
+OUI:A845CD*
+ ID_OUI_FROM_DATABASE=Siselectron Technology LTD.
+
 OUI:A845E9*
  ID_OUI_FROM_DATABASE=Firich Enterprises CO., LTD.
 
@@ -67645,6 +67750,9 @@ OUI:A86A6F*
 OUI:A870A5*
  ID_OUI_FROM_DATABASE=UniComm Inc.
 
+OUI:A87285*
+ ID_OUI_FROM_DATABASE=IDT, INC.
+
 OUI:A8741D*
  ID_OUI_FROM_DATABASE=PHOENIX CONTACT Electronics GmbH
 
@@ -67762,6 +67870,9 @@ OUI:A8BD3A*
 OUI:A8C222*
  ID_OUI_FROM_DATABASE=TM-Research Inc.
 
+OUI:A8C87F*
+ ID_OUI_FROM_DATABASE=Roqos, Inc.
+
 OUI:A8CB95*
  ID_OUI_FROM_DATABASE=EAST BEST CO., LTD.
 
@@ -67990,6 +68101,9 @@ OUI:AC6123*
 OUI:AC620D*
  ID_OUI_FROM_DATABASE=Jabil Circuit (Wuxi) Co. LTD
 
+OUI:AC6462*
+ ID_OUI_FROM_DATABASE=zte corporation
+
 OUI:AC6706*
  ID_OUI_FROM_DATABASE=Ruckus Wireless
 
@@ -68128,6 +68242,9 @@ OUI:ACB74F*
 OUI:ACB859*
  ID_OUI_FROM_DATABASE=Uniband Electronic Corp,
 
+OUI:ACBC32*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:ACBD0B*
  ID_OUI_FROM_DATABASE=IMAC CO.,LTD
 
@@ -68242,6 +68359,9 @@ OUI:ACEC80*
 OUI:ACEE3B*
  ID_OUI_FROM_DATABASE=6harmonics Inc
 
+OUI:ACEE9E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:ACF0B2*
  ID_OUI_FROM_DATABASE=Becker Electronics Taiwan Ltd.
 
@@ -69052,6 +69172,9 @@ OUI:B8415F*
 OUI:B843E4*
  ID_OUI_FROM_DATABASE=Vlatacom
 
+OUI:B844D9*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:B847C6*
  ID_OUI_FROM_DATABASE=SanJet Technology Corp.
 
@@ -69064,6 +69187,9 @@ OUI:B85510*
 OUI:B856BD*
  ID_OUI_FROM_DATABASE=ITT LLC
 
+OUI:B857D8*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:B85810*
  ID_OUI_FROM_DATABASE=NUMERA, INC.
 
@@ -69721,6 +69847,9 @@ OUI:BCE09D*
 OUI:BCE59F*
  ID_OUI_FROM_DATABASE=WATERWORLD Technology Co.,LTD
 
+OUI:BCE63F*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:BCE767*
  ID_OUI_FROM_DATABASE=Quanzhou  TDX Electronics Co., Ltd
 
@@ -69769,6 +69898,9 @@ OUI:C005C2*
 OUI:C00D7E*
  ID_OUI_FROM_DATABASE=Additech, Inc.
 
+OUI:C01173*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:C011A6*
  ID_OUI_FROM_DATABASE=Fort-Telecom ltd.
 
@@ -69796,6 +69928,9 @@ OUI:C0255C*
 OUI:C02567*
  ID_OUI_FROM_DATABASE=Nexxt Solutions
 
+OUI:C025A2*
+ ID_OUI_FROM_DATABASE=NEC Platforms, Ltd.
+
 OUI:C027B9*
  ID_OUI_FROM_DATABASE=Beijing National Railway Research & Design Institute  of Signal & Communication Co., Ltd.
 
@@ -69868,6 +70003,9 @@ OUI:C0493D*
 OUI:C04A00*
  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
+OUI:C04A09*
+ ID_OUI_FROM_DATABASE=Zhejiang Everbright Communication Equip. Co,. Ltd
+
 OUI:C04DF7*
  ID_OUI_FROM_DATABASE=SERELEC
 
@@ -69934,6 +70072,9 @@ OUI:C0830A*
 OUI:C0847A*
  ID_OUI_FROM_DATABASE=Apple
 
+OUI:C08488*
+ ID_OUI_FROM_DATABASE=Finis Inc
+
 OUI:C0885B*
  ID_OUI_FROM_DATABASE=SnD Tech Co., Ltd.
 
@@ -71308,6 +71449,9 @@ OUI:D023DB*
 OUI:D02516*
  ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.
 
+OUI:D02544*
+ ID_OUI_FROM_DATABASE=Samsung Electro Mechanics co., LTD.
+
 OUI:D02598*
  ID_OUI_FROM_DATABASE=Apple, Inc.
 
@@ -71563,6 +71707,9 @@ OUI:D0BF9C*
 OUI:D0C0BF*
  ID_OUI_FROM_DATABASE=Actions Microelectronics Co., Ltd
 
+OUI:D0C193*
+ ID_OUI_FROM_DATABASE=SKYBELL, INC
+
 OUI:D0C1B1*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -71875,6 +72022,9 @@ OUI:D481CA*
 OUI:D4823E*
  ID_OUI_FROM_DATABASE=Argosy Technologies, Ltd.
 
+OUI:D48304*
+ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO.,LTD
+
 OUI:D48564*
  ID_OUI_FROM_DATABASE=Hewlett-Packard Company
 
@@ -72526,6 +72676,9 @@ OUI:DC2008*
 OUI:DC2A14*
  ID_OUI_FROM_DATABASE=Shanghai Longjing Technology Co.
 
+OUI:DC2B2A*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:DC2B61*
  ID_OUI_FROM_DATABASE=Apple
 
@@ -73579,6 +73732,9 @@ OUI:E83935*
 OUI:E839DF*
  ID_OUI_FROM_DATABASE=Askey Computer
 
+OUI:E83A12*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:E83A97*
  ID_OUI_FROM_DATABASE=OCZ Technology Group
 
@@ -74239,6 +74395,9 @@ OUI:F00786*
 OUI:F008F1*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
+OUI:F00D5C*
+ ID_OUI_FROM_DATABASE=JinQianMao  Technology Co.,Ltd.
+
 OUI:F013C3*
  ID_OUI_FROM_DATABASE=SHENZHEN FENDA TECHNOLOGY CO., LTD
 
@@ -74479,6 +74638,9 @@ OUI:F0AE51*
 OUI:F0B052*
  ID_OUI_FROM_DATABASE=Ruckus Wireless
 
+OUI:F0B0E7*
+ ID_OUI_FROM_DATABASE=Apple
+
 OUI:F0B2E5*
  ID_OUI_FROM_DATABASE=Cisco Systems
 
@@ -74644,6 +74806,9 @@ OUI:F40B93*
 OUI:F40E11*
  ID_OUI_FROM_DATABASE=IEEE REGISTRATION AUTHORITY  - Please see MAM public listing for more information.
 
+OUI:F40E22*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
 OUI:F40F1B*
  ID_OUI_FROM_DATABASE=Cisco
 
diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb
index 065f898..8316bc9 100644
--- a/hwdb/20-pci-vendor-model.hwdb
+++ b/hwdb/20-pci-vendor-model.hwdb
@@ -4266,34 +4266,34 @@ pci:v00001002d00006608*
  ID_MODEL_FROM_DATABASE=Oland GL [FirePro W2100]
 
 pci:v00001002d00006610*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X]
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350]
 
 pci:v00001002d00006610sv00001019sd00000030*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon HD 8670)
-
-pci:v00001002d00006610sv00001028sd00000081*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon R7 350X)
-
-pci:v00001002d00006610sv00001028sd00000083*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon R5 340X)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon HD 8670)
 
 pci:v00001002d00006610sv00001028sd00002120*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon R7 250)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon R7 250)
 
 pci:v00001002d00006610sv00001028sd00002322*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon R7 250)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon R7 250)
 
 pci:v00001002d00006610sv00001462sd00002910*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon HD 8670)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon HD 8670)
 
 pci:v00001002d00006610sv00001462sd00002911*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon HD 8670)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon HD 8670)
+
+pci:v00001002d00006610sv0000148Csd00007350*
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon R7 350)
 
 pci:v00001002d00006610sv00001642sd00003C81*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon HD 8670)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon HD 8670)
 
 pci:v00001002d00006610sv00001642sd00003C91*
- ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R5 340X / R7 250/350X] (Radeon HD 8670)
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon HD 8670)
+
+pci:v00001002d00006610sv00001642sd00003F09*
+ ID_MODEL_FROM_DATABASE=Oland XT [Radeon HD 8670 / R7 250/350] (Radeon R7 350)
 
 pci:v00001002d00006611*
  ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240/340 OEM]
@@ -4314,10 +4314,13 @@ pci:v00001002d00006611sv00001B0Asd000090D3*
  ID_MODEL_FROM_DATABASE=Oland [Radeon HD 8570 / R7 240/340 OEM] (Radeon R7 240 OEM)
 
 pci:v00001002d00006613*
- ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240]
+ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240/340]
+
+pci:v00001002d00006613sv0000148Csd00007340*
+ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240/340] (Radeon R7 340)
 
 pci:v00001002d00006613sv00001682sd00007240*
- ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240] (R7 240 2048 MB)
+ ID_MODEL_FROM_DATABASE=Oland PRO [Radeon R7 240/340] (R7 240 2048 MB)
 
 pci:v00001002d00006620*
  ID_MODEL_FROM_DATABASE=Mars
@@ -4353,40 +4356,73 @@ pci:v00001002d00006651*
  ID_MODEL_FROM_DATABASE=Bonaire
 
 pci:v00001002d00006658*
- ID_MODEL_FROM_DATABASE=Bonaire XTX [Radeon R7 260X]
+ ID_MODEL_FROM_DATABASE=Bonaire XTX [Radeon R7 260X/360]
+
+pci:v00001002d00006658sv0000148Csd00000907*
+ ID_MODEL_FROM_DATABASE=Bonaire XTX [Radeon R7 260X/360] (Radeon R7 360)
+
+pci:v00001002d00006658sv00001682sd00000907*
+ ID_MODEL_FROM_DATABASE=Bonaire XTX [Radeon R7 260X/360] (Radeon R7 360)
+
+pci:v00001002d00006658sv00001682sd00007360*
+ ID_MODEL_FROM_DATABASE=Bonaire XTX [Radeon R7 260X/360] (Radeon R7 360)
 
 pci:v00001002d0000665C*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM]
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]
 
 pci:v00001002d0000665Csv00001043sd00000452*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 DirectCU II OC)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon HD 7790 DirectCU II OC)
 
 pci:v00001002d0000665Csv00001462sd00002930*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 OC)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon HD 7790 OC)
 
 pci:v00001002d0000665Csv00001462sd00002932*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 8770)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon HD 8770)
 
 pci:v00001002d0000665Csv00001462sd00002934*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon R9 260 OEM)
+
+pci:v00001002d0000665Csv00001462sd00002938*
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon R9 360 OEM)
+
+pci:v00001002d0000665Csv0000148Csd00000907*
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon R7 360)
 
 pci:v00001002d0000665Csv0000148Csd00009260*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon R9 260 OEM)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon R9 260 OEM)
+
+pci:v00001002d0000665Csv0000148Csd00009360*
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon R9 360 OEM)
+
+pci:v00001002d0000665Csv00001682sd00000907*
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon R7 360)
 
 pci:v00001002d0000665Csv00001682sd00003310*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Black Edition 2 GB)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon HD 7790 Black Edition 2 GB)
 
 pci:v00001002d0000665Csv0000174Bsd0000E253*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 Dual-X OC)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon HD 7790 Dual-X OC)
 
 pci:v00001002d0000665Csv00001787sd00002329*
- ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R9 260 OEM] (Radeon HD 7790 TurboDuo)
+ ID_MODEL_FROM_DATABASE=Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] (Radeon HD 7790 TurboDuo)
 
 pci:v00001002d0000665D*
  ID_MODEL_FROM_DATABASE=Bonaire [Radeon R7 200 Series]
 
 pci:v00001002d0000665F*
- ID_MODEL_FROM_DATABASE=Tobago PRO [Radeon R9 360]
+ ID_MODEL_FROM_DATABASE=Tobago PRO [Radeon R7 360 / R9 360 OEM]
+
+pci:v00001002d0000665Fsv00001028sd00000B04*
+ ID_MODEL_FROM_DATABASE=Tobago PRO [Radeon R7 360 / R9 360 OEM] (Radeon R9 360 OEM)
+
+pci:v00001002d0000665Fsv00001462sd00002938*
+ ID_MODEL_FROM_DATABASE=Tobago PRO [Radeon R7 360 / R9 360 OEM] (Radeon R9 360 OEM)
+
+pci:v00001002d0000665Fsv00001462sd00003271*
+ ID_MODEL_FROM_DATABASE=Tobago PRO [Radeon R7 360 / R9 360 OEM] (Radeon R9 360 OEM)
+
+pci:v00001002d0000665Fsv00001682sd00007360*
+ ID_MODEL_FROM_DATABASE=Tobago PRO [Radeon R7 360 / R9 360 OEM] (Radeon R7 360)
 
 pci:v00001002d00006660*
  ID_MODEL_FROM_DATABASE=Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330]
@@ -6144,13 +6180,40 @@ pci:v00001002d00006809*
  ID_MODEL_FROM_DATABASE=Pitcairn LE GL [FirePro W5000]
 
 pci:v00001002d00006810*
- ID_MODEL_FROM_DATABASE=Curacao XT [Radeon R9 270X]
+ ID_MODEL_FROM_DATABASE=Curacao XT [Radeon R7 370 / R9 270X/370 OEM]
+
+pci:v00001002d00006810sv0000148Csd00000908*
+ ID_MODEL_FROM_DATABASE=Curacao XT [Radeon R7 370 / R9 270X/370 OEM] (Radeon R9 370 OEM)
+
+pci:v00001002d00006810sv00001682sd00007370*
+ ID_MODEL_FROM_DATABASE=Curacao XT [Radeon R7 370 / R9 270X/370 OEM] (Radeon R7 370)
 
 pci:v00001002d00006811*
- ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R9 270/370]
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
 
 pci:v00001002d00006811sv00001028sd00000B00*
- ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R9 270/370] (Trinidad PRO [Radeon R9 370])
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
+
+pci:v00001002d00006811sv00001043sd00002016*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
+
+pci:v00001002d00006811sv00001458sd00002016*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
+
+pci:v00001002d00006811sv00001462sd00002016*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
+
+pci:v00001002d00006811sv0000148Csd00002016*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
+
+pci:v00001002d00006811sv00001682sd00002015*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R7 370])
+
+pci:v00001002d00006811sv0000174Bsd00002016*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
+
+pci:v00001002d00006811sv00001787sd00002016*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
 
 pci:v00001002d00006816*
  ID_MODEL_FROM_DATABASE=Pitcairn
@@ -6168,10 +6231,19 @@ pci:v00001002d00006818sv0000174Bsd00008B04*
  ID_MODEL_FROM_DATABASE=Pitcairn XT [Radeon HD 7870 GHz Edition] (Radeon HD 8860)
 
 pci:v00001002d00006819*
- ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850]
+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP]
+
+pci:v00001002d00006819sv00001682sd00007269*
+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP] (Radeon R9 270 1024SP)
+
+pci:v00001002d00006819sv00001682sd00009278*
+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP] (Radeon R9 270 1024SP)
+
+pci:v00001002d00006819sv0000174Bsd0000A008*
+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP] (Radeon R9 270 1024SP)
 
 pci:v00001002d00006819sv0000174Bsd0000E221*
- ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP)
+ ID_MODEL_FROM_DATABASE=Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP] (Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP)
 
 pci:v00001002d00006820*
  ID_MODEL_FROM_DATABASE=Venus XTX [Radeon HD 8890M / R9 M275X/M375X]
@@ -8058,7 +8130,10 @@ pci:v00001002d00006938*
  ID_MODEL_FROM_DATABASE=Amethyst XT [Radeon R9 M295X Mac Edition]
 
 pci:v00001002d00006939*
- ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285]
+ ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285/380]
+
+pci:v00001002d00006939sv0000148Csd00009380*
+ ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285/380] (Radeon R9 380)
 
 pci:v00001002d0000700F*
  ID_MODEL_FROM_DATABASE=RS100 AGP Bridge
@@ -8420,6 +8495,9 @@ pci:v00001002d000072B1*
 pci:v00001002d000072B3*
  ID_MODEL_FROM_DATABASE=RV560 [Radeon X1650 GT] (Secondary)
 
+pci:v00001002d00007300*
+ ID_MODEL_FROM_DATABASE=Fiji XT [Radeon R9 FURY X]
+
 pci:v00001002d00007833*
  ID_MODEL_FROM_DATABASE=RS350 Host Bridge
 
@@ -28562,6 +28640,9 @@ pci:v000010DEd00001022*
 pci:v000010DEd00001023*
  ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40m]
 
+pci:v000010DEd00001023sv000010DEsd0000097E*
+ ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40m] (12GB Computational Accelerator)
+
 pci:v000010DEd00001024*
  ID_MODEL_FROM_DATABASE=GK110BGL [Tesla K40c]
 
@@ -29921,6 +30002,9 @@ pci:v000010DEd000011C7*
 pci:v000010DEd000011C8*
  ID_MODEL_FROM_DATABASE=GK106 [GeForce GTX 650 OEM]
 
+pci:v000010DEd000011CB*
+ ID_MODEL_FROM_DATABASE=GK106 [GeForce GT 740]
+
 pci:v000010DEd000011E0*
  ID_MODEL_FROM_DATABASE=GK106M [GeForce GTX 770M]
 
@@ -30203,6 +30287,9 @@ pci:v000010DEd00001341sv000017AAsd00003699*
 pci:v000010DEd00001341sv000017AAsd0000369C*
  ID_MODEL_FROM_DATABASE=GM108M [GeForce 840M] (GeForce 840A)
 
+pci:v000010DEd00001344*
+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 845M]
+
 pci:v000010DEd00001346*
  ID_MODEL_FROM_DATABASE=GM108M [GeForce 930M]
 
@@ -30212,6 +30299,9 @@ pci:v000010DEd00001347*
 pci:v000010DEd0000137A*
  ID_MODEL_FROM_DATABASE=GM108GLM [Quadro K620M]
 
+pci:v000010DEd0000137D*
+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 940A]
+
 pci:v000010DEd00001380*
  ID_MODEL_FROM_DATABASE=GM107 [GeForce GTX 750 Ti]
 
@@ -30255,7 +30345,13 @@ pci:v000010DEd0000139C*
  ID_MODEL_FROM_DATABASE=GM107M [GeForce 940M]
 
 pci:v000010DEd000013B0*
- ID_MODEL_FROM_DATABASE=GM107GLM [N16P-Q3]
+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro M2000M]
+
+pci:v000010DEd000013B1*
+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro M1000M]
+
+pci:v000010DEd000013B2*
+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro M600M]
 
 pci:v000010DEd000013B3*
  ID_MODEL_FROM_DATABASE=GM107GLM [Quadro K2200M]
@@ -30296,6 +30392,12 @@ pci:v000010DEd000013D8*
 pci:v000010DEd000013D9*
  ID_MODEL_FROM_DATABASE=GM204M [GeForce GTX 965M]
 
+pci:v000010DEd000013F0*
+ ID_MODEL_FROM_DATABASE=GM204GL [Quadro M5000]
+
+pci:v000010DEd000013F1*
+ ID_MODEL_FROM_DATABASE=GM204GL [Quadro M4000]
+
 pci:v000010DEd000013F2*
  ID_MODEL_FROM_DATABASE=GM204GL [Tesla M60]
 
@@ -30896,6 +30998,9 @@ pci:v000010ECd00008139sv000010F7sd00008338*
 pci:v000010ECd00008139sv00001113sd0000EC01*
  ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (LevelOne FNC-0107TX/FNC-0109TX)
 
+pci:v000010ECd00008139sv00001186sd00001104*
+ ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DFE-520TX Fast Ethernet PCI Adapter (rev. D1))
+
 pci:v000010ECd00008139sv00001186sd00001300*
  ID_MODEL_FROM_DATABASE=RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (DFE-538TX)
 
@@ -32367,7 +32472,7 @@ pci:v00001106d00003043sv00001106sd00000100*
  ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (VT86C100A Fast Ethernet Adapter)
 
 pci:v00001106d00003043sv00001186sd00001400*
- ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (DFE-530TX rev A)
+ ID_MODEL_FROM_DATABASE=VT86C100A [Rhine] (DFE-530TX PCI Fast Ethernet Adapter (rev. A))
 
 pci:v00001106d00003044*
  ID_MODEL_FROM_DATABASE=VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller
@@ -32417,6 +32522,9 @@ pci:v00001106d00003051*
 pci:v00001106d00003053*
  ID_MODEL_FROM_DATABASE=VT6105M [Rhine-III]
 
+pci:v00001106d00003053sv00001186sd00001404*
+ ID_MODEL_FROM_DATABASE=VT6105M [Rhine-III] (DFE-530TX PCI Fast Ethernet Adapter (rev. D))
+
 pci:v00001106d00003057*
  ID_MODEL_FROM_DATABASE=VT82C686 [Apollo Super ACPI]
 
@@ -32589,10 +32697,13 @@ pci:v00001106d00003065sv00001106sd00000102*
  ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (VT6102/6103 [Rhine II] Ethernet Controller)
 
 pci:v00001106d00003065sv00001186sd00001400*
- ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (DFE-530TX rev A)
+ ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (DFE-530TX PCI Fast Ethernet Adapter (rev. A))
 
 pci:v00001106d00003065sv00001186sd00001401*
- ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (DFE-530TX rev B)
+ ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (DFE-530TX PCI Fast Ethernet Adapter (rev. B))
+
+pci:v00001106d00003065sv00001186sd00001402*
+ ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (DFE-530TX PCI Fast Ethernet Adapter (rev. B))
 
 pci:v00001106d00003065sv000013B9sd00001421*
  ID_MODEL_FROM_DATABASE=VT6102/VT6103 [Rhine-II] (LD-10/100AL PCI Fast Ethernet Adapter (rev.B))
@@ -32712,7 +32823,7 @@ pci:v00001106d00003106sv00001106sd00000105*
  ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (VT6106S [Rhine-III])
 
 pci:v00001106d00003106sv00001186sd00001403*
- ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX rev C)
+ ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-530TX PCI Fast Ethernet Adapter (rev. C))
 
 pci:v00001106d00003106sv00001186sd00001405*
  ID_MODEL_FROM_DATABASE=VT6105/VT6106S [Rhine-III] (DFE-520TX Fast Ethernet PCI Adapter)
@@ -37262,6 +37373,9 @@ pci:v00001186d00004200sv00001186sd00001103*
 pci:v00001186d00004300*
  ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter
 
+pci:v00001186d00004300sv00001186sd00004300*
+ ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter (DGE-528T PCI Gigabit Ethernet Adapter)
+
 pci:v00001186d00004300sv00001186sd00004B10*
  ID_MODEL_FROM_DATABASE=DGE-528T Gigabit Ethernet Adapter (DGE-560T PCI Express (x1) Gigabit Ethernet Adapter)
 
@@ -45659,6 +45773,12 @@ pci:v00001425d00005014*
 pci:v00001425d00005015*
  ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller
 
+pci:v00001425d00005016*
+ ID_MODEL_FROM_DATABASE=T580-OCP-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00005017*
+ ID_MODEL_FROM_DATABASE=T520-OCP-SO Unified Wire Ethernet Controller
+
 pci:v00001425d00005080*
  ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller
 
@@ -45692,6 +45812,12 @@ pci:v00001425d00005089*
 pci:v00001425d00005090*
  ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
 
+pci:v00001425d00005091*
+ ID_MODEL_FROM_DATABASE=T522-5091 Unified Wire Ethernet Controller
+
+pci:v00001425d00005092*
+ ID_MODEL_FROM_DATABASE=T520-5092 Unified Wire Ethernet Controller
+
 pci:v00001425d00005401*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
 
@@ -45755,6 +45881,12 @@ pci:v00001425d00005414*
 pci:v00001425d00005415*
  ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller
 
+pci:v00001425d00005416*
+ ID_MODEL_FROM_DATABASE=T580-OCP-SO Unified Wire Ethernet Controller
+
+pci:v00001425d00005417*
+ ID_MODEL_FROM_DATABASE=T520-OCP-SO Unified Wire Ethernet Controller
+
 pci:v00001425d00005480*
  ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller
 
@@ -45788,6 +45920,12 @@ pci:v00001425d00005489*
 pci:v00001425d00005490*
  ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
 
+pci:v00001425d00005491*
+ ID_MODEL_FROM_DATABASE=T522-5091 Unified Wire Ethernet Controller
+
+pci:v00001425d00005492*
+ ID_MODEL_FROM_DATABASE=T520-5092 Unified Wire Ethernet Controller
+
 pci:v00001425d00005501*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
 
@@ -45851,6 +45989,12 @@ pci:v00001425d00005514*
 pci:v00001425d00005515*
  ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller
 
+pci:v00001425d00005516*
+ ID_MODEL_FROM_DATABASE=T580-OCP-SO Unified Wire Storage Controller
+
+pci:v00001425d00005517*
+ ID_MODEL_FROM_DATABASE=T520-OCP-SO Unified Wire Storage Controller
+
 pci:v00001425d00005580*
  ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller
 
@@ -45884,6 +46028,12 @@ pci:v00001425d00005589*
 pci:v00001425d00005590*
  ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Storage Controller
 
+pci:v00001425d00005591*
+ ID_MODEL_FROM_DATABASE=T522-5091 Unified Wire Storage Controller
+
+pci:v00001425d00005592*
+ ID_MODEL_FROM_DATABASE=T520-5092 Unified Wire Storage Controller
+
 pci:v00001425d00005601*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
 
@@ -45947,6 +46097,12 @@ pci:v00001425d00005614*
 pci:v00001425d00005615*
  ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Storage Controller
 
+pci:v00001425d00005616*
+ ID_MODEL_FROM_DATABASE=T580-OCP-SO Unified Wire Storage Controller
+
+pci:v00001425d00005617*
+ ID_MODEL_FROM_DATABASE=T520-OCP-SO Unified Wire Storage Controller
+
 pci:v00001425d00005680*
  ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Storage Controller
 
@@ -45980,6 +46136,12 @@ pci:v00001425d00005689*
 pci:v00001425d00005690*
  ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Storage Controller
 
+pci:v00001425d00005691*
+ ID_MODEL_FROM_DATABASE=T522-5091 Unified Wire Storage Controller
+
+pci:v00001425d00005692*
+ ID_MODEL_FROM_DATABASE=T520-5092 Unified Wire Storage Controller
+
 pci:v00001425d00005701*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
 
@@ -46076,6 +46238,12 @@ pci:v00001425d00005789*
 pci:v00001425d00005790*
  ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller
 
+pci:v00001425d00005791*
+ ID_MODEL_FROM_DATABASE=T522-5091 Unified Wire Ethernet Controller
+
+pci:v00001425d00005792*
+ ID_MODEL_FROM_DATABASE=T520-5092 Unified Wire Ethernet Controller
+
 pci:v00001425d00005801*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller [VF]
 
@@ -46139,6 +46307,12 @@ pci:v00001425d00005814*
 pci:v00001425d00005815*
  ID_MODEL_FROM_DATABASE=T502-BT Unified Wire Ethernet Controller [VF]
 
+pci:v00001425d00005816*
+ ID_MODEL_FROM_DATABASE=T580-OCP-SO Unified Wire Ethernet Controller [VF]
+
+pci:v00001425d00005817*
+ ID_MODEL_FROM_DATABASE=T520-OCP-SO Unified Wire Ethernet Controller [VF]
+
 pci:v00001425d00005880*
  ID_MODEL_FROM_DATABASE=T540-5080 Unified Wire Ethernet Controller [VF]
 
@@ -46172,6 +46346,12 @@ pci:v00001425d00005889*
 pci:v00001425d00005890*
  ID_MODEL_FROM_DATABASE=T540-5090 Unified Wire Ethernet Controller [VF]
 
+pci:v00001425d00005891*
+ ID_MODEL_FROM_DATABASE=T522-5091 Unified Wire Ethernet Controller [VF]
+
+pci:v00001425d00005892*
+ ID_MODEL_FROM_DATABASE=T520-5092 Unified Wire Ethernet Controller [VF]
+
 pci:v00001425d0000A000*
  ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller
 
@@ -46385,6 +46565,21 @@ pci:v0000144Dd0000A820sv00001028sd00001F96*
 pci:v0000144Dd0000A820sv00001028sd00001F97*
  ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe XS1715 SSD 1600GB)
 
+pci:v0000144Dd0000A820sv00001028sd00001FA4*
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe SM1715 3.2TB SFF)
+
+pci:v0000144Dd0000A820sv00001028sd00001FA6*
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe SM1715 3.2TB AIC)
+
+pci:v0000144Dd0000A820sv00001028sd00001FBA*
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe SM1715 800GB SFF)
+
+pci:v0000144Dd0000A820sv00001028sd00001FBB*
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe SM1715 1.6TB SFF)
+
+pci:v0000144Dd0000A820sv00001028sd00001FBC*
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X (Express Flash NVMe SM1715 1.6TB AIC)
+
 pci:v0000144Dd0000A821*
  ID_MODEL_FROM_DATABASE=NVMe SSD Controller 172X
 
@@ -55883,6 +56078,12 @@ pci:v000019AEd00000520*
 pci:v000019AEd00000521*
  ID_MODEL_FROM_DATABASE=Decimator
 
+pci:v000019BA*
+ ID_VENDOR_FROM_DATABASE=ZyXEL Communications Corp.
+
+pci:v000019BAd00002330*
+ ID_MODEL_FROM_DATABASE=ZyWALL Turbo Card
+
 pci:v000019C1*
  ID_VENDOR_FROM_DATABASE=Exegy Inc.
 
@@ -56324,6 +56525,12 @@ pci:v00001AE9d00000302*
 pci:v00001AE9d00000310*
  ID_MODEL_FROM_DATABASE=Wil6200 802.11ad Wireless Network Adapter
 
+pci:v00001AEA*
+ ID_VENDOR_FROM_DATABASE=Alcor Micro
+
+pci:v00001AEAd00006601*
+ ID_MODEL_FROM_DATABASE=AU6601 PCI-E Flash card reader controller
+
 pci:v00001AEC*
  ID_VENDOR_FROM_DATABASE=Wolfson Microelectronics
 
@@ -56819,6 +57026,30 @@ pci:v00001BBFd00000003*
 pci:v00001BBFd00000004*
  ID_MODEL_FROM_DATABASE=MAX4
 
+pci:v00001BD0*
+ ID_VENDOR_FROM_DATABASE=Astronics Corporation
+
+pci:v00001BD0d00001001*
+ ID_MODEL_FROM_DATABASE=Mx5 PMC/XMC Databus Interface Card
+
+pci:v00001BD0d00001002*
+ ID_MODEL_FROM_DATABASE=PM1553-5 (PC/104+ MIL-STD-1553 Interface Card)
+
+pci:v00001BD0d00001004*
+ ID_MODEL_FROM_DATABASE=AB3000 Series Rugged Computer
+
+pci:v00001BD0d00001005*
+ ID_MODEL_FROM_DATABASE=PE1000 (Multi-Protocol PCIe/104 Interface Card)
+
+pci:v00001BD0d00001101*
+ ID_MODEL_FROM_DATABASE=OmniBus II PCIe Multi-Protocol Interface Card
+
+pci:v00001BD0d00001102*
+ ID_MODEL_FROM_DATABASE=OmniBusBox II Multi-Protocol Interface Core
+
+pci:v00001BD0d00001103*
+ ID_MODEL_FROM_DATABASE=OmniBus II cPCIe/PXIe Multi-Protocol Interface Card
+
 pci:v00001BEE*
  ID_VENDOR_FROM_DATABASE=IXXAT Automation GmbH
 
@@ -60372,16 +60603,16 @@ pci:v00008086d00000C4E*
  ID_MODEL_FROM_DATABASE=Atom Processor S1200 NTB Primary
 
 pci:v00008086d00000C50*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QuickData Technology Device
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device
 
 pci:v00008086d00000C51*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QuickData Technology Device
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device
 
 pci:v00008086d00000C52*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QuickData Technology Device
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device
 
 pci:v00008086d00000C53*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QuickData Technology Device
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device
 
 pci:v00008086d00000C54*
  ID_MODEL_FROM_DATABASE=Atom Processor S1200 Internal
@@ -67220,6 +67451,12 @@ pci:v00008086d000024DF*
 pci:v00008086d000024DFsv00001028sd00000168*
  ID_MODEL_FROM_DATABASE=82801ER (ICH5R) SATA Controller (Precision Workstation 670 Mainboard)
 
+pci:v00008086d000024F0*
+ ID_MODEL_FROM_DATABASE=Omni-Path HFI Silicon 100 Series [discrete]
+
+pci:v00008086d000024F1*
+ ID_MODEL_FROM_DATABASE=Omni-Path HFI Silicon 100 Series [integrated]
+
 pci:v00008086d000024F3*
  ID_MODEL_FROM_DATABASE=Wireless 8260
 
@@ -75090,487 +75327,487 @@ pci:v00008086d000065FF*
  ID_MODEL_FROM_DATABASE=5100 Chipset DMA Engine
 
 pci:v00008086d00006F00*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DMI2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2
 
 pci:v00008086d00006F01*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 0
 
 pci:v00008086d00006F02*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1
 
 pci:v00008086d00006F03*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1
 
 pci:v00008086d00006F04*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2
 
 pci:v00008086d00006F05*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2
 
 pci:v00008086d00006F06*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2
 
 pci:v00008086d00006F07*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2
 
 pci:v00008086d00006F08*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 3
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3
 
 pci:v00008086d00006F09*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 3
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3
 
 pci:v00008086d00006F0A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 3
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3
 
 pci:v00008086d00006F0B*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon PCI Express Root Port 3
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3
 
 pci:v00008086d00006F10*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F11*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F12*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F13*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F14*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F15*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F16*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F17*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F18*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F19*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F1A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F1B*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F1C*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug
 
 pci:v00008086d00006F1D*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R2PCIe Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R2PCIe Agent
 
 pci:v00008086d00006F1E*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Ubox
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox
 
 pci:v00008086d00006F1F*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Ubox
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox
 
 pci:v00008086d00006F20*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0
 
 pci:v00008086d00006F21*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 1
 
 pci:v00008086d00006F22*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 2
 
 pci:v00008086d00006F23*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 3
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 3
 
 pci:v00008086d00006F24*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 4
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 4
 
 pci:v00008086d00006F25*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 5
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 5
 
 pci:v00008086d00006F26*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 6
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 6
 
 pci:v00008086d00006F27*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Crystal Beach DMA Channel 7
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 7
 
 pci:v00008086d00006F28*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Map/VTd_Misc/System Management
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Map/VTd_Misc/System Management
 
 pci:v00008086d00006F29*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO Hot Plug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Hot Plug
 
 pci:v00008086d00006F2A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IIO RAS/Control Status/Global Errors
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO RAS/Control Status/Global Errors
 
 pci:v00008086d00006F2C*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon I/O APIC
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D I/O APIC
 
 pci:v00008086d00006F30*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Home Agent 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0
 
 pci:v00008086d00006F32*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0
 
 pci:v00008086d00006F33*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1
 
 pci:v00008086d00006F34*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R2PCIe Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R2PCIe Agent
 
 pci:v00008086d00006F36*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link 0/1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1
 
 pci:v00008086d00006F37*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link 0/1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1
 
 pci:v00008086d00006F38*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Home Agent 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1
 
 pci:v00008086d00006F39*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon IO Performance Monitoring
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IO Performance Monitoring
 
 pci:v00008086d00006F3A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2
 
 pci:v00008086d00006F3E*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 2
 
 pci:v00008086d00006F3F*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 2
 
 pci:v00008086d00006F40*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2
 
 pci:v00008086d00006F41*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 2
 
 pci:v00008086d00006F43*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 2
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2
 
 pci:v00008086d00006F45*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 2 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug
 
 pci:v00008086d00006F46*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 2 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug
 
 pci:v00008086d00006F47*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 2 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug
 
 pci:v00008086d00006F60*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Home Agent 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1
 
 pci:v00008086d00006F68*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Target Address/Thermal/RAS
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Target Address/Thermal/RAS
 
 pci:v00008086d00006F6A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder
 
 pci:v00008086d00006F6B*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder
 
 pci:v00008086d00006F6C*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder
 
 pci:v00008086d00006F6D*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder
 
 pci:v00008086d00006F6E*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 2/3 Broadcast
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Broadcast
 
 pci:v00008086d00006F6F*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Global Broadcast
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Global Broadcast
 
 pci:v00008086d00006F70*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Home Agent 0 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0 Debug
 
 pci:v00008086d00006F71*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Target Address/Thermal/RAS
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Target Address/Thermal/RAS
 
 pci:v00008086d00006F76*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link Debug
 
 pci:v00008086d00006F78*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Home Agent 1 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1 Debug
 
 pci:v00008086d00006F79*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Target Address/Thermal/RAS
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Target Address/Thermal/RAS
 
 pci:v00008086d00006F7D*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Ubox
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox
 
 pci:v00008086d00006F7E*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link Debug
 
 pci:v00008086d00006F80*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0
 
 pci:v00008086d00006F81*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon R3 QPI Link 0/1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1
 
 pci:v00008086d00006F83*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0
 
 pci:v00008086d00006F85*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 0 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 Debug
 
 pci:v00008086d00006F86*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 0 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 Debug
 
 pci:v00008086d00006F87*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 0 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 Debug
 
 pci:v00008086d00006F88*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006F8A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006F90*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1
 
 pci:v00008086d00006F93*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 1
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1
 
 pci:v00008086d00006F95*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 1 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 Debug
 
 pci:v00008086d00006F96*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon QPI Link 1 Debug
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 Debug
 
 pci:v00008086d00006F98*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006F99*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006F9A*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006F9C*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FA0*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Home Agent 0
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0
 
 pci:v00008086d00006FA8*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Target Address/Thermal/RAS
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Target Address/Thermal/RAS
 
 pci:v00008086d00006FAA*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder
 
 pci:v00008086d00006FAB*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder
 
 pci:v00008086d00006FAC*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder
 
 pci:v00008086d00006FAD*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel Target Address Decoder
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder
 
 pci:v00008086d00006FAE*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 0/1 Broadcast
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Broadcast
 
 pci:v00008086d00006FAF*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Global Broadcast
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Global Broadcast
 
 pci:v00008086d00006FB0*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 0 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 0 Thermal Control
 
 pci:v00008086d00006FB1*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 1 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 1 Thermal Control
 
 pci:v00008086d00006FB2*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 0 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 0 Error
 
 pci:v00008086d00006FB3*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 1 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 1 Error
 
 pci:v00008086d00006FB4*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 2 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 2 Thermal Control
 
 pci:v00008086d00006FB5*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 3 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 3 Thermal Control
 
 pci:v00008086d00006FB6*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 2 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 2 Error
 
 pci:v00008086d00006FB7*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 0 - Channel 3 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 3 Error
 
 pci:v00008086d00006FB8*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 2/3 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface
 
 pci:v00008086d00006FB9*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 2/3 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface
 
 pci:v00008086d00006FBA*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 2/3 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface
 
 pci:v00008086d00006FBB*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 2/3 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface
 
 pci:v00008086d00006FBC*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 0/1 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface
 
 pci:v00008086d00006FBD*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 0/1 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface
 
 pci:v00008086d00006FBE*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 0/1 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface
 
 pci:v00008086d00006FBF*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon DDRIO Channel 0/1 Interface
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface
 
 pci:v00008086d00006FC0*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC1*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC2*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC3*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC4*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC5*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC6*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC7*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC8*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FC9*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FCA*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FCB*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FCC*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FCD*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FCE*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FCF*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Power Control Unit
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit
 
 pci:v00008086d00006FD0*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 0 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 0 Thermal Control
 
 pci:v00008086d00006FD1*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 1 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 1 Thermal Control
 
 pci:v00008086d00006FD2*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 0 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 0 Error
 
 pci:v00008086d00006FD3*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 1 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 1 Error
 
 pci:v00008086d00006FD4*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 2 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 2 Thermal Control
 
 pci:v00008086d00006FD5*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 3 Thermal Control
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 3 Thermal Control
 
 pci:v00008086d00006FD6*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 2 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 2 Error
 
 pci:v00008086d00006FD7*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Memory Controller 1 - Channel 3 Error
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 3 Error
 
 pci:v00008086d00006FE0*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE1*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE2*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE3*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE4*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE5*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE6*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE7*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE8*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FE9*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FEA*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FEB*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FEC*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FED*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FEE*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FEF*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FF0*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FF1*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FF8*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FF9*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FFA*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FFB*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FFC*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FFD*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00006FFE*
- ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon Caching Agent
+ ID_MODEL_FROM_DATABASE=Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent
 
 pci:v00008086d00007000*
  ID_MODEL_FROM_DATABASE=82371SB PIIX3 ISA [Natoma/Triton II]
@@ -77363,6 +77600,9 @@ pci:v00008086d0000A1FC*
 pci:v00008086d0000A620*
  ID_MODEL_FROM_DATABASE=6400/6402 Advanced Memory Buffer (AMB)
 
+pci:v00008086d0000ABC0*
+ ID_MODEL_FROM_DATABASE=Omni-Path Fabric Switch Silicon 100 Series
+
 pci:v00008086d0000B152*
  ID_MODEL_FROM_DATABASE=21152 PCI-to-PCI Bridge
 
diff --git a/hwdb/20-usb-vendor-model.hwdb b/hwdb/20-usb-vendor-model.hwdb
index 151ba5c..87dad3a 100644
--- a/hwdb/20-usb-vendor-model.hwdb
+++ b/hwdb/20-usb-vendor-model.hwdb
@@ -44943,7 +44943,7 @@ usb:v152Dp0539*
  ID_MODEL_FROM_DATABASE=JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge
 
 usb:v152Dp0567*
- ID_MODEL_FROM_DATABASE=JMS567 SATA 6.0Gb/s bridge
+ ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge
 
 usb:v152Dp0770*
  ID_MODEL_FROM_DATABASE=Alienware Integrated Webcam
@@ -44978,8 +44978,11 @@ usb:v152Dp2551*
 usb:v152Dp2566*
  ID_MODEL_FROM_DATABASE=JMS566 SATA 3Gb/s bridge
 
+usb:v152Dp2590*
+ ID_MODEL_FROM_DATABASE=Seatay ATA/ATAPI Bridge
+
 usb:v152Dp3562*
- ID_MODEL_FROM_DATABASE=JMS567 SATA 6.0Gb/s bridge
+ ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge
 
 usb:v152Dp3569*
  ID_MODEL_FROM_DATABASE=JMS566 SATA 3Gb/s bridge

commit 861b02ebd6ec997a6880824960ba8903bac74f7d
Author: Kay Sievers <kay at vrfy.org>
Date:   Sun Jul 5 16:02:13 2015 +0200

    NEWS: update

diff --git a/NEWS b/NEWS
index 097e853..03f8676 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,12 @@
 systemd System and Service Manager
 
 CHANGES WITH 222:
+        * udev does not longer support the WAIT_FOR_SYSFS= key in udev rules.
+          There are no known issues with current sysfs, and udev does not need
+          or should be used to work around such bugs.
+
+        * udev does no longer enable USB HID power management. Several reports
+          indicate, that some devices cannot handle that setting.
 
         * The udev accelerometer helper was removed. The functionality
           is now fully included in iio-sensor-proxy. But this means,

commit a521dbf43be0a0ae4f3ec0db3b65b559834e9232
Author: Susant Sahani <susant at redhat.com>
Date:   Sun Jul 5 11:25:54 2015 +0530

    TODO: remove ipv6 Ipv6 privacy extensions

diff --git a/TODO b/TODO
index 386599b..3424fb6 100644
--- a/TODO
+++ b/TODO
@@ -49,8 +49,6 @@ Features:
 
 * install: include generator dirs in unit file search paths
 
-* networkd: add support for configuring ipv6 privacy extensions
-
 * introduce an NSS module that uses machined info to give container UIDs pretty names when user namespacing is used.
 
 * stop using off_t, it's a crazy type. Use uint64_t instead.

commit a46e37cb1225a36a33e8728005693e825cdbc01a
Author: Susant Sahani <susant at redhat.com>
Date:   Sun Jul 5 11:25:20 2015 +0530

    man: add manual for ipv6 privacy extension

diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 1a2699a..c13dc71 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -391,6 +391,16 @@
           <literal>no</literal>.</para></listitem>
         </varlistentry>
         <varlistentry>
+          <term><varname>IPv6PrivacyExtensions=</varname></term>
+          <listitem><para>Configures use of stateless temporary addresses that change over time
+          (see <ulink url="https://tools.ietf.org/html/rfc4941">RFC 4941</ulink>, Privacy Extensions for Stateless Address
+          Autoconfiguration in IPv6). A boolean or <literal>prefer-temporary</literal>. When true or <literal>prefer-public</literal>
+          enables privacy extensions, but prefer public addresses over temporary addresses.
+          <literal>prefer-temporary</literal> prefers temporary addresses over public addresses.
+          Defaults to
+          <literal>no</literal>.</para></listitem>
+        </varlistentry>
+        <varlistentry>
           <term><varname>Bridge=</varname></term>
           <listitem>
             <para>The name of the bridge to add the link to.</para>

commit 49092e22c2893118304bac1b3b706cd88f90590d
Author: Susant Sahani <susant at redhat.com>
Date:   Sun Jul 5 11:24:31 2015 +0530

    networkd: Add support for ipv6 privacy extension
    
    This patch add support for ipv6 privacy extensions.
    
    The variable  /proc/sys/net/ipv6/conf/<if>/use_tempaddr
    
    can be changed via the boolean
    
    IPv6PrivacyExtensions=[yes/no/prefer-temporary]
    
    When true enables privacy extensions, but prefer public addresses over
    temporary addresses.
    prefer-temporary  prefers temporary adresses over public addresses.
    Defaults to false.
    
    [Match]
    Name=enp0s25
    
    [Network]
    IPv6PrivacyExtensions=prefer-temporary

diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index dff81a5..f67a19e 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -116,6 +116,19 @@ static bool link_ipv6_forward_enabled(Link *link) {
         return link->network->ip_forward & ADDRESS_FAMILY_IPV6;
 }
 
+static bool link_ipv6_privacy_extensions_enabled(Link *link) {
+        if (link->flags & IFF_LOOPBACK)
+                return false;
+
+        if (!link->network)
+                return false;
+
+        if (link->network->ipv6_privacy_extensions == _IPV6_PRIVACY_EXTENSIONS_INVALID)
+                return false;
+
+        return link->network->ipv6_privacy_extensions;
+}
+
 #define FLAG_STRING(string, flag, old, new) \
         (((old ^ new) & flag) \
                 ? ((old & flag) ? (" -" string) : (" +" string)) \
@@ -1506,6 +1519,28 @@ static int link_set_ipv6_forward(Link *link) {
         return 0;
 }
 
+static int link_set_ipv6_privacy_extensions(Link *link) {
+        char buf[2 * DECIMAL_STR_MAX(unsigned) + 1];
+        const char *p = NULL;
+        int r;
+
+        /* Make this a NOP if IPv6 is not available */
+        if (!socket_ipv6_is_supported())
+                return 0;
+
+        if (!link_ipv6_privacy_extensions_enabled(link))
+                return 0;
+
+        p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/use_tempaddr");
+        xsprintf(buf, "%u", link->network->ipv6_privacy_extensions);
+
+        r = write_string_file_no_create(p, buf);
+        if (r < 0)
+                log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extension for interface: %m");
+
+        return 0;
+}
+
 static int link_configure(Link *link) {
         int r;
 
@@ -1525,6 +1560,10 @@ static int link_configure(Link *link) {
         if (r < 0)
                 return r;
 
+        r = link_set_ipv6_privacy_extensions(link);
+        if (r < 0)
+                return r;
+
         if (link_ipv4ll_enabled(link)) {
                 r = ipv4ll_configure(link);
                 if (r < 0)
diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
index b05bc94..787fc2f 100644
--- a/src/network/networkd-network-gperf.gperf
+++ b/src/network/networkd-network-gperf.gperf
@@ -15,69 +15,70 @@ struct ConfigPerfItem;
 %struct-type
 %includes
 %%
-Match.MACAddress,            config_parse_hwaddr,                            0,                             offsetof(Network, match_mac)
-Match.Path,                  config_parse_strv,                              0,                             offsetof(Network, match_path)
-Match.Driver,                config_parse_strv,                              0,                             offsetof(Network, match_driver)
-Match.Type,                  config_parse_strv,                              0,                             offsetof(Network, match_type)
-Match.Name,                  config_parse_ifnames,                           0,                             offsetof(Network, match_name)
-Match.Host,                  config_parse_net_condition,                     CONDITION_HOST,                offsetof(Network, match_host)
-Match.Virtualization,        config_parse_net_condition,                     CONDITION_VIRTUALIZATION,      offsetof(Network, match_virt)
-Match.KernelCommandLine,     config_parse_net_condition,                     CONDITION_KERNEL_COMMAND_LINE, offsetof(Network, match_kernel)
-Match.Architecture,          config_parse_net_condition,                     CONDITION_ARCHITECTURE,        offsetof(Network, match_arch)
-Link.MACAddress,             config_parse_hwaddr,                            0,                             offsetof(Network, mac)
-Link.MTUBytes,               config_parse_iec_size,                          0,                             offsetof(Network, mtu)
-Network.Description,         config_parse_string,                            0,                             offsetof(Network, description)
-Network.Bridge,              config_parse_netdev,                            0,                             offsetof(Network, bridge)
-Network.Bond,                config_parse_netdev,                            0,                             offsetof(Network, bond)
-Network.VLAN,                config_parse_netdev,                            0,                             0
-Network.MACVLAN,             config_parse_netdev,                            0,                             0
-Network.IPVLAN,              config_parse_netdev,                            0,                             0
-Network.VXLAN,               config_parse_netdev,                            0,                             0
-Network.Tunnel,              config_parse_tunnel,                            0,                             0
-Network.DHCP,                config_parse_dhcp,                              0,                             offsetof(Network, dhcp)
-Network.DHCPServer,          config_parse_bool,                              0,                             offsetof(Network, dhcp_server)
-Network.LinkLocalAddressing, config_parse_address_family_boolean,            0,                             offsetof(Network, link_local)
-Network.IPv4LLRoute,         config_parse_bool,                              0,                             offsetof(Network, ipv4ll_route)
-Network.IPv6Token,           config_parse_ipv6token,                         0,                             offsetof(Network, ipv6_token)
-Network.LLDP,                config_parse_bool,                              0,                             offsetof(Network, lldp)
-Network.Address,             config_parse_address,                           0,                             0
-Network.Gateway,             config_parse_gateway,                           0,                             0
-Network.Domains,             config_parse_domains,                           0,                             offsetof(Network, domains)
-Network.DNS,                 config_parse_strv,                              0,                             offsetof(Network, dns)
-Network.LLMNR,               config_parse_llmnr,                             0,                             offsetof(Network, llmnr)
-Network.NTP,                 config_parse_strv,                              0,                             offsetof(Network, ntp)
-Network.IPForward,           config_parse_address_family_boolean_with_kernel,0,                             offsetof(Network, ip_forward)
-Network.IPMasquerade,        config_parse_bool,                              0,                             offsetof(Network, ip_masquerade)
-Network.BindCarrier,         config_parse_strv,                              0,                             offsetof(Network, bind_carrier)
-Address.Address,             config_parse_address,                           0,                             0
-Address.Peer,                config_parse_address,                           0,                             0
-Address.Broadcast,           config_parse_broadcast,                         0,                             0
-Address.Label,               config_parse_label,                             0,                             0
-Route.Gateway,               config_parse_gateway,                           0,                             0
-Route.Destination,           config_parse_destination,                       0,                             0
-Route.Source,                config_parse_destination,                       0,                             0
-Route.Metric,                config_parse_route_priority,                    0,                             0
-Route.Scope,                 config_parse_route_scope,                       0,                             0
-DHCP.ClientIdentifier,       config_parse_dhcp_client_identifier,            0,                             offsetof(Network, dhcp_client_identifier)
-DHCP.UseDNS,                 config_parse_bool,                              0,                             offsetof(Network, dhcp_dns)
-DHCP.UseNTP,                 config_parse_bool,                              0,                             offsetof(Network, dhcp_ntp)
-DHCP.UseMTU,                 config_parse_bool,                              0,                             offsetof(Network, dhcp_mtu)
-DHCP.UseHostname,            config_parse_bool,                              0,                             offsetof(Network, dhcp_hostname)
-DHCP.UseDomains,             config_parse_bool,                              0,                             offsetof(Network, dhcp_domains)
-DHCP.UseRoutes,              config_parse_bool,                              0,                             offsetof(Network, dhcp_routes)
-DHCP.SendHostname,           config_parse_bool,                              0,                             offsetof(Network, dhcp_sendhost)
-DHCP.RequestBroadcast,       config_parse_bool,                              0,                             offsetof(Network, dhcp_broadcast)
-DHCP.CriticalConnection,     config_parse_bool,                              0,                             offsetof(Network, dhcp_critical)
-DHCP.VendorClassIdentifier,  config_parse_string,                            0,                             offsetof(Network, dhcp_vendor_class_identifier)
-DHCP.RouteMetric,            config_parse_unsigned,                          0,                             offsetof(Network, dhcp_route_metric)
-Bridge.Cost,                 config_parse_unsigned,                          0,                             offsetof(Network, cost)
-BridgeFDB.MACAddress,        config_parse_fdb_hwaddr,                        0,                             0
-BridgeFDB.VLANId,            config_parse_fdb_vlan_id,                       0,                             0
+Match.MACAddress,              config_parse_hwaddr,                            0,                             offsetof(Network, match_mac)
+Match.Path,                    config_parse_strv,                              0,                             offsetof(Network, match_path)
+Match.Driver,                  config_parse_strv,                              0,                             offsetof(Network, match_driver)
+Match.Type,                    config_parse_strv,                              0,                             offsetof(Network, match_type)
+Match.Name,                    config_parse_ifnames,                           0,                             offsetof(Network, match_name)
+Match.Host,                    config_parse_net_condition,                     CONDITION_HOST,                offsetof(Network, match_host)
+Match.Virtualization,          config_parse_net_condition,                     CONDITION_VIRTUALIZATION,      offsetof(Network, match_virt)
+Match.KernelCommandLine,       config_parse_net_condition,                     CONDITION_KERNEL_COMMAND_LINE, offsetof(Network, match_kernel)
+Match.Architecture,            config_parse_net_condition,                     CONDITION_ARCHITECTURE,        offsetof(Network, match_arch)
+Link.MACAddress,               config_parse_hwaddr,                            0,                             offsetof(Network, mac)
+Link.MTUBytes,                 config_parse_iec_size,                          0,                             offsetof(Network, mtu)
+Network.Description,           config_parse_string,                            0,                             offsetof(Network, description)
+Network.Bridge,                config_parse_netdev,                            0,                             offsetof(Network, bridge)
+Network.Bond,                  config_parse_netdev,                            0,                             offsetof(Network, bond)
+Network.VLAN,                  config_parse_netdev,                            0,                             0
+Network.MACVLAN,               config_parse_netdev,                            0,                             0
+Network.IPVLAN,                config_parse_netdev,                            0,                             0
+Network.VXLAN,                 config_parse_netdev,                            0,                             0
+Network.Tunnel,                config_parse_tunnel,                            0,                             0
+Network.DHCP,                  config_parse_dhcp,                              0,                             offsetof(Network, dhcp)
+Network.DHCPServer,            config_parse_bool,                              0,                             offsetof(Network, dhcp_server)
+Network.LinkLocalAddressing,   config_parse_address_family_boolean,            0,                             offsetof(Network, link_local)
+Network.IPv4LLRoute,           config_parse_bool,                              0,                             offsetof(Network, ipv4ll_route)
+Network.IPv6Token,             config_parse_ipv6token,                         0,                             offsetof(Network, ipv6_token)
+Network.LLDP,                  config_parse_bool,                              0,                             offsetof(Network, lldp)
+Network.Address,               config_parse_address,                           0,                             0
+Network.Gateway,               config_parse_gateway,                           0,                             0
+Network.Domains,               config_parse_domains,                           0,                             offsetof(Network, domains)
+Network.DNS,                   config_parse_strv,                              0,                             offsetof(Network, dns)
+Network.LLMNR,                 config_parse_llmnr,                             0,                             offsetof(Network, llmnr)
+Network.NTP,                   config_parse_strv,                              0,                             offsetof(Network, ntp)
+Network.IPForward,             config_parse_address_family_boolean_with_kernel,0,                             offsetof(Network, ip_forward)
+Network.IPMasquerade,          config_parse_bool,                              0,                             offsetof(Network, ip_masquerade)
+Network.IPv6PrivacyExtensions, config_parse_ipv6_privacy_extensions,           0,                             offsetof(Network, ipv6_privacy_extensions)
+Network.BindCarrier,           config_parse_strv,                              0,                             offsetof(Network, bind_carrier)
+Address.Address,               config_parse_address,                           0,                             0
+Address.Peer,                  config_parse_address,                           0,                             0
+Address.Broadcast,             config_parse_broadcast,                         0,                             0
+Address.Label,                 config_parse_label,                             0,                             0
+Route.Gateway,                 config_parse_gateway,                           0,                             0
+Route.Destination,             config_parse_destination,                       0,                             0
+Route.Source,                  config_parse_destination,                       0,                             0
+Route.Metric,                  config_parse_route_priority,                    0,                             0
+Route.Scope,                   config_parse_route_scope,                       0,                             0
+DHCP.ClientIdentifier,         config_parse_dhcp_client_identifier,            0,                             offsetof(Network, dhcp_client_identifier)
+DHCP.UseDNS,                   config_parse_bool,                              0,                             offsetof(Network, dhcp_dns)
+DHCP.UseNTP,                   config_parse_bool,                              0,                             offsetof(Network, dhcp_ntp)
+DHCP.UseMTU,                   config_parse_bool,                              0,                             offsetof(Network, dhcp_mtu)
+DHCP.UseHostname,              config_parse_bool,                              0,                             offsetof(Network, dhcp_hostname)
+DHCP.UseDomains,               config_parse_bool,                              0,                             offsetof(Network, dhcp_domains)
+DHCP.UseRoutes,                config_parse_bool,                              0,                             offsetof(Network, dhcp_routes)
+DHCP.SendHostname,             config_parse_bool,                              0,                             offsetof(Network, dhcp_sendhost)
+DHCP.RequestBroadcast,         config_parse_bool,                              0,                             offsetof(Network, dhcp_broadcast)
+DHCP.CriticalConnection,       config_parse_bool,                              0,                             offsetof(Network, dhcp_critical)
+DHCP.VendorClassIdentifier,    config_parse_string,                            0,                             offsetof(Network, dhcp_vendor_class_identifier)
+DHCP.RouteMetric,              config_parse_unsigned,                          0,                             offsetof(Network, dhcp_route_metric)
+Bridge.Cost,                   config_parse_unsigned,                          0,                             offsetof(Network, cost)
+BridgeFDB.MACAddress,          config_parse_fdb_hwaddr,                        0,                             0
+BridgeFDB.VLANId,              config_parse_fdb_vlan_id,                       0,                             0
 /* backwards compatibility: do not add new entries to this section */
-Network.IPv4LL,              config_parse_ipv4ll,                            0,                             offsetof(Network, link_local)
-DHCPv4.UseDNS,               config_parse_bool,                              0,                             offsetof(Network, dhcp_dns)
-DHCPv4.UseMTU,               config_parse_bool,                              0,                             offsetof(Network, dhcp_mtu)
-DHCPv4.UseHostname,          config_parse_bool,                              0,                             offsetof(Network, dhcp_hostname)
-DHCP.UseDomainName,          config_parse_bool,                              0,                             offsetof(Network, dhcp_domains)
-DHCPv4.UseDomainName,        config_parse_bool,                              0,                             offsetof(Network, dhcp_domains)
-DHCPv4.CriticalConnection,   config_parse_bool,                              0,                             offsetof(Network, dhcp_critical)
+Network.IPv4LL,                config_parse_ipv4ll,                            0,                             offsetof(Network, link_local)
+DHCPv4.UseDNS,                 config_parse_bool,                              0,                             offsetof(Network, dhcp_dns)
+DHCPv4.UseMTU,                 config_parse_bool,                              0,                             offsetof(Network, dhcp_mtu)
+DHCPv4.UseHostname,            config_parse_bool,                              0,                             offsetof(Network, dhcp_hostname)
+DHCP.UseDomainName,            config_parse_bool,                              0,                             offsetof(Network, dhcp_domains)
+DHCPv4.UseDomainName,          config_parse_bool,                              0,                             offsetof(Network, dhcp_domains)
+DHCPv4.CriticalConnection,     config_parse_bool,                              0,                             offsetof(Network, dhcp_critical)
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
index ec95c86..ddf03e6 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -111,6 +111,8 @@ static int network_load_one(Manager *manager, const char *filename) {
 
         network->link_local = ADDRESS_FAMILY_IPV6;
 
+        network->ipv6_privacy_extensions = _IPV6_PRIVACY_EXTENSIONS_INVALID;
+
         r = config_parse(NULL, filename, file,
                          "Match\0"
                          "Link\0"
@@ -751,3 +753,54 @@ int config_parse_address_family_boolean_with_kernel(
 
         return 0;
 }
+
+static const char* const ipv6_privacy_extensions_table[_IPV6_PRIVACY_EXTENSIONS_MAX] = {
+        [IPV6_PRIVACY_EXTENSIONS_DISABLE] = "no",
+        [IPV6_PRIVACY_EXTENSIONS_PREFER_PUBLIC] = "yes",
+        [IPV6_PRIVACY_EXTENSIONS_PREFER_TEMPORARY] = "prefer-temporary",
+};
+
+DEFINE_STRING_TABLE_LOOKUP(ipv6_privacy_extensions, IPv6PrivacyExtensions);
+
+int config_parse_ipv6_privacy_extensions(
+                const char* unit,
+                const char *filename,
+                unsigned line,
+                const char *section,
+                unsigned section_line,
+                const char *lvalue,
+                int ltype,
+                const char *rvalue,
+                void *data,
+                void *userdata) {
+
+        IPv6PrivacyExtensions *ipv6_privacy_extensions = data;
+        int k;
+
+        assert(filename);
+        assert(lvalue);
+        assert(rvalue);
+        assert(ipv6_privacy_extensions);
+
+        /* Our enum shall be a superset of booleans, hence first try
+         * to parse as boolean, and then as enum */
+
+        k = parse_boolean(rvalue);
+        if (k > 0)
+                *ipv6_privacy_extensions = IPV6_PRIVACY_EXTENSIONS_PREFER_PUBLIC;
+        else if (k == 0)
+                *ipv6_privacy_extensions = IPV6_PRIVACY_EXTENSIONS_DISABLE;
+        else {
+               IPv6PrivacyExtensions s;
+
+                s = ipv6_privacy_extensions_from_string(rvalue);
+                if (s < 0){
+                        log_syntax(unit, LOG_ERR, filename, line, -s, "Failed to parse IPv6 privacy extensions option, ignoring: %s", rvalue);
+                        return 0;
+                }
+
+                *ipv6_privacy_extensions = s;
+        }
+
+        return 0;
+}
diff --git a/src/network/networkd.h b/src/network/networkd.h
index ac6e2c8..0764609 100644
--- a/src/network/networkd.h
+++ b/src/network/networkd.h
@@ -90,6 +90,14 @@ typedef enum DCHPClientIdentifier {
         _DHCP_CLIENT_ID_INVALID = -1,
 } DCHPClientIdentifier;
 
+typedef enum IPv6PrivacyExtensions {
+        IPV6_PRIVACY_EXTENSIONS_DISABLE,
+        IPV6_PRIVACY_EXTENSIONS_PREFER_PUBLIC,
+        IPV6_PRIVACY_EXTENSIONS_PREFER_TEMPORARY,
+        _IPV6_PRIVACY_EXTENSIONS_MAX,
+        _IPV6_PRIVACY_EXTENSIONS_INVALID = -1,
+} IPv6PrivacyExtensions;
+
 struct FdbEntry {
         Network *network;
         unsigned section;
@@ -145,6 +153,8 @@ struct Network {
         AddressFamilyBoolean ip_forward;
         bool ip_masquerade;
 
+        IPv6PrivacyExtensions ipv6_privacy_extensions;
+
         struct ether_addr *mac;
         unsigned mtu;
 
@@ -455,3 +465,10 @@ int config_parse_address_family_boolean_with_kernel(const char *unit, const char
 
 const char* link_operstate_to_string(LinkOperationalState s) _const_;
 LinkOperationalState link_operstate_from_string(const char *s) _pure_;
+
+/* Ipv6 privacy extensions support */
+
+const char* ipv6_privacy_extensions_to_string(IPv6PrivacyExtensions i) _const_;
+IPv6PrivacyExtensions ipv6_privacy_extensions_from_string(const char *s) _pure_;
+
+int config_parse_ipv6_privacy_extensions(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);

commit 9bb1bffe3018aef5e70c411f68863eafdc92fddf
Author: Susant Sahani <susant at redhat.com>
Date:   Thu Jul 2 09:00:02 2015 +0530

    lldp: set correct state for processing
    
    ldp_receive_frame after correct processing of the packet the state
    should be LLDP_AGENT_RX_WAIT_FOR_FRAME not LLDP_AGENT_RX_UPDATE_INFO.

diff --git a/src/libsystemd-network/sd-lldp.c b/src/libsystemd-network/sd-lldp.c
index fddda97..6a2c051 100644
--- a/src/libsystemd-network/sd-lldp.c
+++ b/src/libsystemd-network/sd-lldp.c
@@ -133,8 +133,6 @@ static int lldp_receive_frame(sd_lldp *lldp, tlv_packet *tlv) {
 
         lldp->statistics.stats_frames_in_total ++;
 
-        return 0;
-
  out:
         if (r < 0)
                 log_lldp("Receive frame failed: %s", strerror(-r));



More information about the systemd-commits mailing list