diff options
56 files changed, 1008 insertions, 378 deletions
diff --git a/Makefile-man.am b/Makefile-man.am index 734a923799..74a1f4cb43 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -23,7 +23,6 @@ MANPAGES += \ man/localtime.5 \ man/machine-id.5 \ man/machine-info.5 \ - man/networkctl.1 \ man/os-release.5 \ man/sd-daemon.3 \ man/sd-id128.3 \ @@ -144,7 +143,6 @@ MANPAGES += \ man/systemd.time.7 \ man/systemd.timer.5 \ man/systemd.unit.5 \ - man/sysusers.d.5 \ man/telinit.8 \ man/tmpfiles.d.5 \ man/udev.7 \ @@ -1538,6 +1536,7 @@ endif if ENABLE_NETWORKD MANPAGES += \ + man/networkctl.1 \ man/systemd-networkd-wait-online.service.8 \ man/systemd-networkd.service.8 \ man/systemd.netdev.5 \ @@ -1605,6 +1604,15 @@ man/systemd-rfkill.html: man/systemd-rfkill@.service.html endif +if ENABLE_SYSUSERS +MANPAGES += \ + man/sysusers.d.5 +MANPAGES_ALIAS += \ + # + + +endif + if ENABLE_TIMEDATED MANPAGES += \ man/systemd-timedated.service.8 \ diff --git a/Makefile.am b/Makefile.am index 7ac3c1d7eb..19a3706b18 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 @@ -708,10 +708,14 @@ noinst_DATA += \ CLEANFILES += \ man/index.html +XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml) NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES)) SOURCE_XML_FILES = ${patsubst %,$(top_srcdir)/%,$(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))} -update-man-list: $(top_srcdir)/tools/make-man-rules.py $(SOURCE_XML_FILES) +# This target should only be run manually. It recreates Makefile-man.am +# file in the source directory based on all man/*.xml files. Run it after +# adding, removing, or changing the conditional in a man page. +update-man-list: $(top_srcdir)/tools/make-man-rules.py $(XML_GLOB) $(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp $(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am @echo "Makefile-man.am has been regenerated" @@ -1,5 +1,31 @@ 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, + older iio-sensor-proxy versions will no longer provide + accelerometer/orientation data with this systemd version. + Please upgrade iio-sensor-proxy to version 1.0. + + 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, + 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 + + -- Berlin, 2015-07-XX + CHANGES WITH 221: * The sd-bus.h and sd-event.h APIs have now been declared @@ -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. diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb index 51f591c77a..cbf70da880 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 065f8988ba..8316bc979e 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 151ba5ce04..87dad3a0ea 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 diff --git a/man/sysctl.d.xml b/man/sysctl.d.xml index 8a131791a5..e5b2bc0ac9 100644 --- a/man/sysctl.d.xml +++ b/man/sysctl.d.xml @@ -123,11 +123,12 @@ </example> <example> - <title>Disable packet filter on bridged packets (method one)</title> + <title>Apply settings available only when a certain module is loaded (method one)</title> <para><filename>/etc/udev/rules.d/99-bridge.rules</filename>: </para> - <programlisting>ACTION=="add", SUBSYSTEM=="module", KERNEL=="bridge", RUN+="/usr/lib/systemd/systemd-sysctl --prefix=/net/bridge" + <programlisting>ACTION=="add", SUBSYSTEM=="module", KERNEL=="br_netfilter", \ + RUN+="/usr/lib/systemd/systemd-sysctl --prefix=/net/bridge" </programlisting> <para><filename>/etc/sysctl.d/bridge.conf</filename>: @@ -137,14 +138,20 @@ net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 </programlisting> + + <para>This method applies settings when the module is + loaded. Please note that unless the <filename>br_netfilter</filename> + module is loaded, bridged packets will not be filtered by + netfilter (starting with kernel 3.18), so simply not loading the + module is suffient to avoid filtering.</para> </example> <example> - <title>Disable packet filter on bridged packets (method two)</title> + <title>Apply settings available only when a certain module is loaded (method two)</title> <para><filename>/etc/modules-load.d/bridge.conf</filename>: </para> - <programlisting>bridge</programlisting> + <programlisting>br_netfilter</programlisting> <para><filename>/etc/sysctl.d/bridge.conf</filename>: </para> @@ -153,6 +160,12 @@ net.bridge.bridge-nf-call-arptables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 </programlisting> + + <para>This method forces the module to be always loaded. Please + note that unless the <filename>br_netfilter</filename> module is + loaded, bridged packets will not be filtered with netfilter + (starting with kernel 3.18), so simply not loading the module is + suffient to avoid filtering.</para> </example> </refsect1> diff --git a/man/systemctl.xml b/man/systemctl.xml index e18ef6f898..66a090049d 100644 --- a/man/systemctl.xml +++ b/man/systemctl.xml @@ -114,12 +114,30 @@ <listitem> <para>When showing unit/job/manager properties with the - <command>show</command> command, limit display to certain - properties as specified as argument. If not specified, all - set properties are shown. The argument should be a + <command>show</command> command, limit display to properties + specified in the argument. The argument should be a comma-separated list of property names, such as - <literal>MainPID</literal>. If specified more than once, all - properties with the specified names are shown.</para> + <literal>MainPID</literal>. Unless specified, all known + properties are shown. If specified more than once, all + properties with the specified names are shown. Shell + completion is implemented for property names.</para> + + <para>For the manager itself, + <command>systemctl show</command> will show all available + properties. Those properties are documented in + <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. + </para> + + <para>Properties for units vary by unit type, so showing any + unit (even a non-existent one) is a way to list properties + pertaining to this type. Similarly showing any job will list + properties pertaining to all jobs. Properties for units are + documented in + <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + and the pages for individual unit types + <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, + etc.</para> </listitem> </varlistentry> diff --git a/man/systemd.network.xml b/man/systemd.network.xml index 1a2699a47f..85867e7f66 100644 --- a/man/systemd.network.xml +++ b/man/systemd.network.xml @@ -376,8 +376,9 @@ <para>Note: unless this option is turned on, or set to <literal>kernel</literal>, no IP forwarding is done on this interface, even if this is globally turned on in the kernel, with the - <filename>net.ipv4.ip_forward</filename> and - <filename>net.ipv4.ip_forward</filename> sysctl + <filename>net.ipv4.ip_forward</filename>, + <filename>net.ipv4.conf.all.forwarding</filename>, and + <filename>net.ipv6.conf.all.forwarding</filename> sysctl options.</para> </listitem> </varlistentry> @@ -391,6 +392,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> diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules index 90b62cc490..5ab03fc278 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" diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c index 9583458f72..c0863e4167 100644 --- a/src/analyze/analyze.c +++ b/src/analyze/analyze.c @@ -1331,7 +1331,7 @@ int main(int argc, char *argv[]) { arg_user ? MANAGER_USER : MANAGER_SYSTEM, arg_man); else { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus); if (r < 0) { diff --git a/src/basic/util.c b/src/basic/util.c index 906e4abad6..aa912bde28 100644 --- a/src/basic/util.c +++ b/src/basic/util.c @@ -5925,10 +5925,9 @@ int rename_noreplace(int olddirfd, const char *oldpath, int newdirfd, const char if (ret >= 0) return 0; - /* Even though renameat2() exists since Linux 3.15, btrfs added - * support for it later. If it is not implemented, fallback to another - * method. */ - if (errno != EINVAL) + /* renameat2() exists since Linux 3.15, btrfs added support for it later. + * If it is not implemented, fallback to another method. */ + if (!IN_SET(errno, EINVAL, ENOSYS)) return -errno; /* The link()/unlink() fallback does not work on directories. But diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c index 1e65597acf..ed69fb0cec 100644 --- a/src/boot/bootctl.c +++ b/src/boot/bootctl.c @@ -918,7 +918,7 @@ static int install_loader_config(const char *esp_path) { static int help(void) { printf("%s [COMMAND] [OPTIONS...]\n" "\n" - "Install, update or remove the sdboot EFI boot manager.\n\n" + "Install, update or remove the systemd-boot EFI boot manager.\n\n" " -h --help Show this help\n" " --version Print version\n" " --path=PATH Path to the EFI System Partition (ESP)\n" diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c index 1dc55171e7..c0055d3788 100644 --- a/src/bus-proxyd/proxy.c +++ b/src/bus-proxyd/proxy.c @@ -45,7 +45,7 @@ #include "formats-util.h" static int proxy_create_destination(Proxy *p, const char *destination, const char *local_sec, bool negotiate_fds) { - _cleanup_bus_close_unref_ sd_bus *b = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *b = NULL; int r; r = sd_bus_new(&b); @@ -101,7 +101,7 @@ static int proxy_create_destination(Proxy *p, const char *destination, const cha } static int proxy_create_local(Proxy *p, int in_fd, int out_fd, bool negotiate_fds) { - _cleanup_bus_close_unref_ sd_bus *b = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *b = NULL; sd_id128_t server_id; int r; @@ -238,8 +238,8 @@ Proxy *proxy_free(Proxy *p) { if (!p) return NULL; - sd_bus_close_unrefp(&p->local_bus); - sd_bus_close_unrefp(&p->destination_bus); + sd_bus_flush_close_unref(p->local_bus); + sd_bus_flush_close_unref(p->destination_bus); set_free_free(p->owned_names); free(p); diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c index c6f5485716..46a444340a 100644 --- a/src/cgls/cgls.c +++ b/src/cgls/cgls.c @@ -127,7 +127,7 @@ int main(int argc, char *argv[]) { int r = 0, retval = EXIT_FAILURE; int output_flags; _cleanup_free_ char *root = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; log_parse_environment(); log_open(); diff --git a/src/cgroups-agent/cgroups-agent.c b/src/cgroups-agent/cgroups-agent.c index 529e843030..612bc8fdec 100644 --- a/src/cgroups-agent/cgroups-agent.c +++ b/src/cgroups-agent/cgroups-agent.c @@ -26,7 +26,7 @@ #include "bus-util.h" int main(int argc, char *argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; if (argc != 2) { diff --git a/src/core/dbus.c b/src/core/dbus.c index 86886e6d2c..057653a8b5 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -69,13 +69,37 @@ int bus_send_queued_message(Manager *m) { } static int signal_agent_released(sd_bus_message *message, void *userdata, sd_bus_error *error) { + _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; + const char *cgroup, *me; Manager *m = userdata; - const char *cgroup; + uid_t sender_uid; + sd_bus *bus; int r; assert(message); assert(m); + /* ignore recursive events sent by us on the system/user bus */ + bus = sd_bus_message_get_bus(message); + if (!sd_bus_is_server(bus)) { + r = sd_bus_get_unique_name(bus, &me); + if (r < 0) + return r; + + if (streq_ptr(sd_bus_message_get_sender(message), me)) + return 0; + } + + /* only accept org.freedesktop.systemd1.Agent from UID=0 */ + r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_EUID, &creds); + if (r < 0) + return r; + + r = sd_bus_creds_get_euid(creds, &sender_uid); + if (r < 0 || sender_uid != 0) + return 0; + + /* parse 'cgroup-empty' notification */ r = sd_bus_message_read(message, "s", &cgroup); if (r < 0) { bus_log_parse_error(r); @@ -84,19 +108,15 @@ static int signal_agent_released(sd_bus_message *message, void *userdata, sd_bus manager_notify_cgroup_empty(m, cgroup); - /* only forward to system bus if running as system instance */ - if (m->running_as != MANAGER_SYSTEM || !m->system_bus) - return 0; - - r = sd_bus_message_rewind(message, 1); - if (r < 0) - goto exit; - - r = sd_bus_send(m->system_bus, message, NULL); + /* if running as system-instance, forward under our name */ + if (m->running_as == MANAGER_SYSTEM && m->system_bus) { + r = sd_bus_message_rewind(message, 1); + if (r >= 0) + r = sd_bus_send(m->system_bus, message, NULL); + if (r < 0) + log_warning_errno(r, "Failed to forward Released message: %m"); + } -exit: - if (r < 0) - log_warning_errno(r, "Failed to forward Released message: %m"); return 0; } diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 42a6b952b9..1782d40720 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -27,6 +27,7 @@ #include "mount-setup.h" #include "dev-setup.h" +#include "bus-util.h" #include "log.h" #include "macro.h" #include "util.h" @@ -105,7 +106,7 @@ static const MountPoint mount_table[] = { is_efi_boot, MNT_NONE }, #endif { "kdbusfs", "/sys/fs/kdbus", "kdbusfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, - NULL, MNT_IN_CONTAINER }, + is_kdbus_wanted, MNT_IN_CONTAINER }, }; /* These are API file systems that might be mounted by other software, diff --git a/src/escape/escape.c b/src/escape/escape.c index 9ccb015538..341453398d 100644 --- a/src/escape/escape.c +++ b/src/escape/escape.c @@ -236,5 +236,5 @@ int main(int argc, char *argv[]) { fputc('\n', stdout); finish: - return r <= 0 ? EXIT_FAILURE : EXIT_SUCCESS; + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c index 30254b6680..bd3051f30d 100644 --- a/src/fsck/fsck.c +++ b/src/fsck/fsck.c @@ -62,7 +62,7 @@ static const char *arg_repair = "-a"; static void start_target(const char *target) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; assert(target); diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c index 69ecd61f60..c996fc04a0 100644 --- a/src/hostname/hostnamectl.c +++ b/src/hostname/hostnamectl.c @@ -509,7 +509,7 @@ static int hostnamectl_main(sd_bus *bus, int argc, char *argv[]) { } int main(int argc, char *argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index 7ff3a4e224..e52b872a8c 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -663,7 +663,7 @@ static const sd_bus_vtable hostname_vtable[] = { }; static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; assert(c); @@ -695,7 +695,7 @@ static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { int main(int argc, char *argv[]) { Context context = {}; _cleanup_event_unref_ sd_event *event = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_set_target(LOG_TARGET_AUTO); diff --git a/src/import/importd.c b/src/import/importd.c index 03aede6016..dd314f5b00 100644 --- a/src/import/importd.c +++ b/src/import/importd.c @@ -551,8 +551,7 @@ static Manager *manager_unref(Manager *m) { bus_verify_polkit_async_registry_free(m->polkit_registry); - sd_bus_close(m->bus); - sd_bus_unref(m->bus); + m->bus = sd_bus_flush_close_unref(m->bus); sd_event_unref(m->event); free(m); diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index 76ec0827e7..2d6ecfb750 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -1719,7 +1719,7 @@ static int access_check(sd_journal *j) { static int flush_to_var(void) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_close_ int watch_fd = -1; int r; diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index f7402984af..46358e1c1a 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -943,7 +943,7 @@ static int system_journal_open(Server *s, bool flush_requested) { * the machine path */ if (s->storage == STORAGE_PERSISTENT) - (void) mkdir("/var/log/journal/", 0755); + (void) mkdir_p("/var/log/journal/", 0755); fn = strjoina("/var/log/journal/", ids); (void) mkdir(fn, 0755); diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym index 97005dbac3..7bf1d66dde 100644 --- a/src/libsystemd/libsystemd.sym +++ b/src/libsystemd/libsystemd.sym @@ -465,4 +465,5 @@ global: /* sd-bus */ sd_bus_emit_object_added; sd_bus_emit_object_removed; + sd_bus_flush_close_unref; } LIBSYSTEMD_221; diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c index f08db2da89..e3fac01f92 100644 --- a/src/libsystemd/sd-bus/bus-kernel.c +++ b/src/libsystemd/sd-bus/bus-kernel.c @@ -1385,15 +1385,16 @@ int bus_kernel_read_message(sd_bus *bus, bool hint_priority, int64_t priority) { r = 0; } - } else if (k->payload_type == KDBUS_PAYLOAD_KERNEL) + if (r <= 0) + close_kdbus_msg(bus, k); + } else if (k->payload_type == KDBUS_PAYLOAD_KERNEL) { r = bus_kernel_translate_message(bus, k); - else { + close_kdbus_msg(bus, k); + } else { log_debug("Ignoring message with unknown payload type %llu.", (unsigned long long) k->payload_type); r = 0; - } - - if (r <= 0) close_kdbus_msg(bus, k); + } return r < 0 ? r : 1; } diff --git a/src/libsystemd/sd-bus/busctl.c b/src/libsystemd/sd-bus/busctl.c index 39caa4e7d6..6aaaf0e5ec 100644 --- a/src/libsystemd/sd-bus/busctl.c +++ b/src/libsystemd/sd-bus/busctl.c @@ -1137,6 +1137,7 @@ static int monitor(sd_bus *bus, char *argv[], int (*dump)(sd_bus_message *m, FIL if (m) { dump(m, stdout); + fflush(stdout); if (sd_bus_message_is_signal(m, "org.freedesktop.DBus.Local", "Disconnected") > 0) { log_info("Connection terminated, exiting."); @@ -1973,7 +1974,7 @@ static int busctl_main(sd_bus *bus, int argc, char *argv[]) { } int main(int argc, char *argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_parse_environment(); diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index 5dd6468707..0ca225c617 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -1428,6 +1428,17 @@ _public_ void sd_bus_close(sd_bus *bus) { * ioctl on the fd when they are freed. */ } +_public_ sd_bus* sd_bus_flush_close_unref(sd_bus *bus) { + + if (!bus) + return NULL; + + sd_bus_flush(bus); + sd_bus_close(bus); + + return sd_bus_unref(bus); +} + static void bus_enter_closing(sd_bus *bus) { assert(bus); diff --git a/src/libsystemd/sd-bus/test-bus-chat.c b/src/libsystemd/sd-bus/test-bus-chat.c index 046e999008..754335b5e7 100644 --- a/src/libsystemd/sd-bus/test-bus-chat.c +++ b/src/libsystemd/sd-bus/test-bus-chat.c @@ -262,7 +262,7 @@ fail: static void* client1(void*p) { _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; const char *hello; int r; @@ -361,7 +361,7 @@ static int quit_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_er static void* client2(void*p) { _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; bool quit = false; const char *mid; diff --git a/src/libsystemd/sd-bus/test-bus-gvariant.c b/src/libsystemd/sd-bus/test-bus-gvariant.c index 22ea00c2fb..9b7dd2e499 100644 --- a/src/libsystemd/sd-bus/test-bus-gvariant.c +++ b/src/libsystemd/sd-bus/test-bus-gvariant.c @@ -132,7 +132,7 @@ static void test_bus_gvariant_get_alignment(void) { static void test_marshal(void) { _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *n = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_free_ void *blob; size_t sz; int r; diff --git a/src/libsystemd/sd-bus/test-bus-match.c b/src/libsystemd/sd-bus/test-bus-match.c index a1687b1c7b..83cb5c62c2 100644 --- a/src/libsystemd/sd-bus/test-bus-match.c +++ b/src/libsystemd/sd-bus/test-bus-match.c @@ -92,7 +92,7 @@ int main(int argc, char *argv[]) { }; _cleanup_bus_message_unref_ sd_bus_message *m = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; enum bus_match_node_type i; sd_bus_slot slots[19]; int r; diff --git a/src/locale/localectl.c b/src/locale/localectl.c index 601839d5dc..3616f4af1f 100644 --- a/src/locale/localectl.c +++ b/src/locale/localectl.c @@ -667,7 +667,7 @@ static int localectl_main(sd_bus *bus, int argc, char *argv[]) { } int main(int argc, char*argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); diff --git a/src/locale/localed.c b/src/locale/localed.c index 0e59350e98..88756542fd 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -1240,7 +1240,7 @@ static const sd_bus_vtable locale_vtable[] = { }; static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; assert(c); @@ -1272,7 +1272,7 @@ static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { int main(int argc, char *argv[]) { _cleanup_(context_free) Context context = {}; _cleanup_event_unref_ sd_event *event = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_set_target(LOG_TARGET_AUTO); diff --git a/src/login/71-seat.rules.in b/src/login/71-seat.rules.in index ab7b66f651..47d68b85fb 100644 --- a/src/login/71-seat.rules.in +++ b/src/login/71-seat.rules.in @@ -17,6 +17,11 @@ SUBSYSTEM=="usb", ATTR{bDeviceClass}=="09", TAG+="seat" # 'Plugable' USB hub, sound, network, graphics adapter 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: +# 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" + # Mimo 720, with integrated USB hub, displaylink graphics, and e2i # touchscreen. This device carries no proper VID/PID in the USB hub, # but it does carry good ID data in the graphics component, hence we diff --git a/src/login/inhibit.c b/src/login/inhibit.c index 0e5dce5925..c53ea8add7 100644 --- a/src/login/inhibit.c +++ b/src/login/inhibit.c @@ -223,7 +223,7 @@ static int parse_argv(int argc, char *argv[]) { int main(int argc, char *argv[]) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_parse_environment(); diff --git a/src/login/loginctl.c b/src/login/loginctl.c index 06208bc4b3..9709eca9bd 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -1389,7 +1389,7 @@ static int loginctl_main(int argc, char *argv[], sd_bus *bus) { } int main(int argc, char *argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c index dd192b90ce..2f390237dc 100644 --- a/src/login/pam_systemd.c +++ b/src/login/pam_systemd.c @@ -213,7 +213,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( *seat = NULL, *type = NULL, *class = NULL, *class_pam = NULL, *type_pam = NULL, *cvtnr = NULL, *desktop = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int session_fd = -1, existing, r; bool debug = false, remote; struct passwd *pw; @@ -496,7 +496,7 @@ _public_ PAM_EXTERN int pam_sm_close_session( int argc, const char **argv) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; const void *existing = NULL; const char *id; int r; diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index 7938aa4dbe..7cb6ce77ac 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -2572,7 +2572,7 @@ static int machinectl_main(int argc, char *argv[], sd_bus *bus) { } int main(int argc, char*argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index dff81a5cf0..f67a19e50b 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 b05bc949f2..787fc2ff5b 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 ec95c8661e..ddf03e67f9 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.c b/src/network/networkd.c index 9fe8a5fa15..e6259043fa 100644 --- a/src/network/networkd.c +++ b/src/network/networkd.c @@ -103,7 +103,7 @@ int main(int argc, char *argv[]) { r = manager_rtnl_enumerate_addresses(m); if (r < 0) { - log_error_errno(r, "Could not enumerate links: %m"); + log_error_errno(r, "Could not enumerate addresses: %m"); goto out; } diff --git a/src/network/networkd.h b/src/network/networkd.h index ac6e2c8a8e..0764609daa 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); diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 7fa098bea8..1ba248f6d6 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -2273,7 +2273,7 @@ static int drop_capabilities(void) { static int register_machine(pid_t pid, int local_ifindex) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; if (!arg_register) @@ -2430,7 +2430,7 @@ static int register_machine(pid_t pid, int local_ifindex) { static int terminate_machine(pid_t pid) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; const char *path; int r; @@ -4313,6 +4313,10 @@ static int outer_child( if (r < 0) return r; + r = determine_uid_shift(directory); + if (r < 0) + return r; + /* Turn directory into bind mount */ if (mount(directory, directory, NULL, MS_BIND|MS_REC, NULL) < 0) return log_error_errno(errno, "Failed to make bind mount: %m"); @@ -4491,10 +4495,6 @@ int main(int argc, char *argv[]) { if (r < 0) goto finish; - r = determine_uid_shift(arg_directory); - if (r < 0) - return r; - if (geteuid() != 0) { log_error("Need to be root."); r = -EPERM; diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c index 9476ad1694..f712033e6c 100644 --- a/src/nss-mymachines/nss-mymachines.c +++ b/src/nss-mymachines/nss-mymachines.c @@ -79,7 +79,7 @@ enum nss_status _nss_mymachines_gethostbyname4_r( struct gaih_addrtuple *r_tuple, *r_tuple_first = NULL; _cleanup_bus_message_unref_ sd_bus_message* reply = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_free_ int *ifindices = NULL; _cleanup_free_ char *class = NULL; size_t l, ms, idx; @@ -228,7 +228,7 @@ enum nss_status _nss_mymachines_gethostbyname3_r( char **canonp) { _cleanup_bus_message_unref_ sd_bus_message* reply = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_free_ char *class = NULL; unsigned c = 0, i = 0; char *r_name, *r_aliases, *r_addr, *r_addr_list; diff --git a/src/nss-resolve/nss-resolve.c b/src/nss-resolve/nss-resolve.c index 8f181a6c72..da22f98eba 100644 --- a/src/nss-resolve/nss-resolve.c +++ b/src/nss-resolve/nss-resolve.c @@ -122,7 +122,7 @@ enum nss_status _nss_resolve_gethostbyname4_r( _cleanup_bus_message_unref_ sd_bus_message *req = NULL, *reply = NULL; _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; struct gaih_addrtuple *r_tuple, *r_tuple_first = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; const char *canonical = NULL; size_t l, ms, idx; char *r_name; @@ -305,7 +305,7 @@ enum nss_status _nss_resolve_gethostbyname3_r( _cleanup_bus_message_unref_ sd_bus_message *req = NULL, *reply = NULL; _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; char *r_name, *r_aliases, *r_addr, *r_addr_list; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; size_t l, idx, ms, alen; const char *canonical; int c, r, i = 0, ifindex; @@ -513,7 +513,7 @@ enum nss_status _nss_resolve_gethostbyaddr2_r( _cleanup_bus_message_unref_ sd_bus_message *req = NULL, *reply = NULL; _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; char *r_name, *r_aliases, *r_addr, *r_addr_list; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; unsigned c = 0, i = 0; size_t ms = 0, idx; const char *n; diff --git a/src/resolve-host/resolve-host.c b/src/resolve-host/resolve-host.c index 068756cab1..f9448e3bc5 100644 --- a/src/resolve-host/resolve-host.c +++ b/src/resolve-host/resolve-host.c @@ -592,7 +592,7 @@ static int parse_argv(int argc, char *argv[]) { } int main(int argc, char **argv) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_parse_environment(); diff --git a/src/run/run.c b/src/run/run.c index 99d960a664..148854a9b5 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -1099,7 +1099,7 @@ static int start_transient_timer( } int main(int argc, char* argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; _cleanup_free_ char *description = NULL, *command = NULL; int r; diff --git a/src/shared/bus-util.h b/src/shared/bus-util.h index d8dba584d6..4ae216b7d9 100644 --- a/src/shared/bus-util.h +++ b/src/shared/bus-util.h @@ -135,22 +135,15 @@ typedef struct UnitInfo { int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u); -static inline void sd_bus_close_unrefp(sd_bus **bus) { - if (*bus) { - sd_bus_flush(*bus); - sd_bus_close(*bus); - sd_bus_unref(*bus); - } -} - DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, sd_bus_unref); +DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, sd_bus_flush_close_unref); DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_slot*, sd_bus_slot_unref); DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_message*, sd_bus_message_unref); DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_creds*, sd_bus_creds_unref); DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_track*, sd_bus_track_unref); #define _cleanup_bus_unref_ _cleanup_(sd_bus_unrefp) -#define _cleanup_bus_close_unref_ _cleanup_(sd_bus_close_unrefp) +#define _cleanup_bus_flush_close_unref_ _cleanup_(sd_bus_flush_close_unrefp) #define _cleanup_bus_slot_unref_ _cleanup_(sd_bus_slot_unrefp) #define _cleanup_bus_message_unref_ _cleanup_(sd_bus_message_unrefp) #define _cleanup_bus_creds_unref_ _cleanup_(sd_bus_creds_unrefp) diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 538838b7fc..6db4d6587a 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -617,7 +617,7 @@ static int get_unit_list_recursive( return r; STRV_FOREACH(i, machines) { - _cleanup_bus_close_unref_ sd_bus *container = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *container = NULL; int k; r = sd_bus_open_system_machine(&container, *i); @@ -1709,7 +1709,7 @@ static int compare_machine_info(const void *a, const void *b) { } static int get_machine_properties(sd_bus *bus, struct machine_info *mi) { - _cleanup_bus_close_unref_ sd_bus *container = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *container = NULL; int r; assert(mi); @@ -7340,7 +7340,7 @@ static int halt_main(sd_bus *bus) { if (arg_when > 0) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *b = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *b = NULL; _cleanup_free_ char *m = NULL; if (avoid_bus()) { @@ -7449,7 +7449,7 @@ static int runlevel_main(void) { } int main(int argc, char*argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); @@ -7517,7 +7517,7 @@ int main(int argc, char*argv[]) { case ACTION_CANCEL_SHUTDOWN: { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *b = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *b = NULL; _cleanup_free_ char *m = NULL; if (avoid_bus()) { diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h index 57e46ced8e..f34893171f 100644 --- a/src/systemd/sd-bus.h +++ b/src/systemd/sd-bus.h @@ -156,6 +156,7 @@ void sd_bus_close(sd_bus *bus); sd_bus *sd_bus_ref(sd_bus *bus); sd_bus *sd_bus_unref(sd_bus *bus); +sd_bus *sd_bus_flush_close_unref(sd_bus *bus); int sd_bus_is_open(sd_bus *bus); diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 25c25952aa..240578bca0 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -491,7 +491,7 @@ static int timedatectl_main(sd_bus *bus, int argc, char *argv[]) { } int main(int argc, char *argv[]) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c index 4e8ae94717..21d6ee4c0c 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -660,7 +660,7 @@ static const sd_bus_vtable timedate_vtable[] = { }; static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; assert(c); @@ -692,7 +692,7 @@ static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { int main(int argc, char *argv[]) { Context context = {}; _cleanup_event_unref_ sd_event *event = NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_set_target(LOG_TARGET_AUTO); diff --git a/tools/make-man-rules.py b/tools/make-man-rules.py index e75bfffba1..5e61917d60 100644 --- a/tools/make-man-rules.py +++ b/tools/make-man-rules.py @@ -62,7 +62,7 @@ FOOTER = '''\ # Really, do not edit this file. EXTRA_DIST += \\ - {files} + {dist_files} ''' def man(page, number): @@ -106,7 +106,7 @@ def create_rules(xml_files): def mjoin(files): return ' \\\n\t'.join(sorted(files) or '#') -def make_makefile(rules, files): +def make_makefile(rules, dist_files): return HEADER + '\n'.join( (CONDITIONAL if conditional else SECTION).format( manpages=mjoin(set(rulegroup.values())), @@ -119,9 +119,11 @@ def make_makefile(rules, files): if k != v), conditional=conditional) for conditional,rulegroup in sorted(rules.items()) - ) + FOOTER.format(files=mjoin(sorted(files))) + ) + FOOTER.format(dist_files=mjoin(sorted(dist_files))) if __name__ == '__main__': rules = create_rules(sys.argv[1:]) - files = (xml(file) for file in sys.argv[1:]) - print(make_makefile(rules, files), end='') + dist_files = (xml(file) for file in sys.argv[1:] + if not file.endswith(".directives.xml") and + not file.endswith(".index.xml")) + print(make_makefile(rules, dist_files), end='') |