1
0
mirror of https://github.com/systemd/systemd synced 2025-09-24 14:24:46 +02:00

Compare commits

...

8 Commits

Author SHA1 Message Date
Tomer Shechner
c1495f8e9d fix typo
I was thoroughly reading your nice coding style page and found out that you guys missed an 's'.

😁
2020-07-07 10:50:36 +09:00
Michael Marley
d469cea3bd network: Don't send RA with zero router lifetime when restarting radv
While investigating https://github.com/systemd/systemd/issues/16356, I
discovered that networkd stops the radv service before adding or updating
prefixes and then starts it again.  This causes networkd to send an RA with
a router lifetime of zero, causing the routes to flap on systems receiving
the RA for a fraction of a second before radv is started again and proper
RAs are sent.  That has the potential to cause issues with latency-sensitive
traffic like gaming or VoIP.  This patch adds a boolean argument to the
sd_radv_stop() function to control this behavior.  The zero lifetime RA is
still sent whenever radv is actually being stopped, but when it is being
restarted for a prefix update (from networkd-dhcp6.c), the final RA is no
longer sent to avoid the route flapping.
2020-07-07 10:49:25 +09:00
Yu Watanabe
c82012605b
Merge pull request #16374 from keszybz/docs-and-networkd
Docs and networkd
2020-07-07 08:29:56 +09:00
Zbigniew Jędrzejewski-Szmek
08bf20287c hwdb: update again for v246
Just a few minor changes.
2020-07-07 08:26:13 +09:00
Susant Sahani
98ebef62c7 DHCPv4: client add support for DHCP server allow list 2020-07-06 22:28:54 +02:00
Zbigniew Jędrzejewski-Szmek
1f68f77292 networkd: we should not loop when extract_first_word() fails
While at it, define iterator in the loop to reduce the indentation a bit.
2020-07-06 16:32:34 +02:00
Zbigniew Jędrzejewski-Szmek
8dc647fd30 man: do not say that tasks are threads and processes
This is confusing because the reader might think that processes and threads are
counted separately. Another issue pointed out in #16363.
2020-07-06 16:32:33 +02:00
Zbigniew Jędrzejewski-Szmek
24c8d4d3f4 man: one more typo
Also from #16363.
2020-07-06 16:11:27 +02:00
20 changed files with 1571 additions and 1002 deletions

View File

@ -521,7 +521,7 @@ layout: default
hence we might want to call it "big endian" right-away.
- Please never use `dup()`. Use `fcntl(fd, F_DUPFD_CLOEXEC, 3)` instead. For
two reason: first, you want `O_CLOEXEC` set on the new `fd` (see
two reasons: first, you want `O_CLOEXEC` set on the new `fd` (see
above). Second, `dup()` will happily duplicate your `fd` as 0, 1, 2,
i.e. stdin, stdout, stderr, should those `fd`s be closed. Given the special
semantics of those `fd`s, it's probably a good idea to avoid

View File

@ -368,11 +368,11 @@ directory is first created, and defaults to `/etc/skel` if not defined.
access mask for the home directory when it is first created.
`tasksMax` → Takes an unsigned 64bit integer indicating the maximum number of
tasks the user may start in parallel during system runtime. This value is
enforced on all tasks (i.e. processes and threads) the user starts or that are
forked off these processes regardless if the change user identity (for example
by setuid binaries/`su`/`sudo` and
similar). [`systemd-logind.service`](https://www.freedesktop.org/software/systemd/man/systemd-logind.service.html)
tasks the user may start in parallel during system runtime. This counts
all tasks (i.e. threads, where each process is at least one thread) the user starts or that are
forked from these processes even if the user identity is changed (for example
by setuid binaries/`su`/`sudo` and similar).
[`systemd-logind.service`](https://www.freedesktop.org/software/systemd/man/systemd-logind.service.html)
enforces this by setting the `TasksMax` slice property for the user's slice
`user-$UID.slice`.

View File

@ -5808,7 +5808,7 @@ OUI:00078D*
ID_OUI_FROM_DATABASE=NetEngines Ltd.
OUI:00078E*
ID_OUI_FROM_DATABASE=Garz & Friche GmbH
ID_OUI_FROM_DATABASE=Garz & Fricke GmbH
OUI:00078F*
ID_OUI_FROM_DATABASE=Emkay Innovative Products
@ -30855,7 +30855,7 @@ OUI:003053*
ID_OUI_FROM_DATABASE=Basler AG
OUI:003054*
ID_OUI_FROM_DATABASE=CASTLENET TECHNOLOGY, INC.
ID_OUI_FROM_DATABASE=Castlenet Technology Inc.
OUI:003055*
ID_OUI_FROM_DATABASE=Renesas Technology America, Inc.
@ -39593,6 +39593,9 @@ OUI:0445A1*
OUI:044665*
ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
OUI:0446CF*
ID_OUI_FROM_DATABASE=Beijing Venustech Cybervision Co.,Ltd.
OUI:04489A*
ID_OUI_FROM_DATABASE=Apple, Inc.
@ -40001,6 +40004,9 @@ OUI:04C103*
OUI:04C1B9*
ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
OUI:04C1D8*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:04C23E*
ID_OUI_FROM_DATABASE=HTC Corporation
@ -46652,6 +46658,9 @@ OUI:20F3A3*
OUI:20F41B*
ID_OUI_FROM_DATABASE=Shenzhen Bilian electronic CO.,LTD
OUI:20F44F*
ID_OUI_FROM_DATABASE=Nokia
OUI:20F452*
ID_OUI_FROM_DATABASE=Shanghai IUV Software Development Co. Ltd
@ -47009,6 +47018,9 @@ OUI:245CCB*
OUI:245EBE*
ID_OUI_FROM_DATABASE=QNAP Systems, Inc.
OUI:245F9F*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:245FDF*
ID_OUI_FROM_DATABASE=KYOCERA CORPORATION
@ -47210,6 +47222,9 @@ OUI:24AF54*
OUI:24B0A9*
ID_OUI_FROM_DATABASE=Shanghai Mobiletek Communication Ltd.
OUI:24B105*
ID_OUI_FROM_DATABASE=Prama Hikvision India Private Limited
OUI:24B209*
ID_OUI_FROM_DATABASE=Avaya Inc
@ -50495,6 +50510,9 @@ OUI:343D98*
OUI:343DC4*
ID_OUI_FROM_DATABASE=BUFFALO.INC
OUI:343EA4*
ID_OUI_FROM_DATABASE=Ring LLC
OUI:3440B5*
ID_OUI_FROM_DATABASE=IBM
@ -53135,6 +53153,9 @@ OUI:40040C*
OUI:400589*
ID_OUI_FROM_DATABASE=T-Mobile, USA
OUI:400634*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:4006A0*
ID_OUI_FROM_DATABASE=Texas Instruments
@ -54563,6 +54584,9 @@ OUI:44A42D*
OUI:44A466*
ID_OUI_FROM_DATABASE=GROUPE LDLC
OUI:44A54E*
ID_OUI_FROM_DATABASE=Qorvo Utrecht B.V.
OUI:44A56E*
ID_OUI_FROM_DATABASE=NETGEAR
@ -56762,6 +56786,9 @@ OUI:502690*
OUI:5027C7*
ID_OUI_FROM_DATABASE=TECHNART Co.,Ltd
OUI:502873*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:50294D*
ID_OUI_FROM_DATABASE=NANJING IOT SENSOR TECHNOLOGY CO,LTD
@ -57614,6 +57641,9 @@ OUI:54055F*
OUI:540593*
ID_OUI_FROM_DATABASE=WOORI ELEC Co.,Ltd
OUI:5405DB*
ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd
OUI:54068B*
ID_OUI_FROM_DATABASE=Ningbo Deli Kebei Technology Co.LTD
@ -59360,6 +59390,9 @@ OUI:5C78F8*
OUI:5C7D5E*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
OUI:5C7D7D*
ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
OUI:5C80B6*
ID_OUI_FROM_DATABASE=Intel Corporate
@ -63332,6 +63365,9 @@ OUI:706173*
OUI:70617B*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
OUI:7061EE*
ID_OUI_FROM_DATABASE=Sunwoda Electronic Co.,Ltd
OUI:7062B8*
ID_OUI_FROM_DATABASE=D-Link International
@ -63608,6 +63644,9 @@ OUI:709BFC*
OUI:709C8F*
ID_OUI_FROM_DATABASE=Nero AG
OUI:709CD1*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:709E29*
ID_OUI_FROM_DATABASE=Sony Interactive Entertainment Inc.
@ -64637,6 +64676,9 @@ OUI:70B3D5154*
OUI:70B3D5155*
ID_OUI_FROM_DATABASE=Sanwa New Tec Co.,Ltd
OUI:70B3D5157*
ID_OUI_FROM_DATABASE=Shanghai Jupper Technology Co.Ltd
OUI:70B3D5158*
ID_OUI_FROM_DATABASE=EAX Labs s.r.o.
@ -65564,6 +65606,9 @@ OUI:70B3D52AD*
OUI:70B3D52AE*
ID_OUI_FROM_DATABASE=Alere Technologies AS
OUI:70B3D52AF*
ID_OUI_FROM_DATABASE=Enlaps
OUI:70B3D52B0*
ID_OUI_FROM_DATABASE=Beijing Zhongyi Yue Tai Technology Co., Ltd
@ -65771,6 +65816,9 @@ OUI:70B3D52F9*
OUI:70B3D52FA*
ID_OUI_FROM_DATABASE=Toray Medical Co.,Ltd
OUI:70B3D52FB*
ID_OUI_FROM_DATABASE=IK MULTIMEDIA PRODUCTION SRL
OUI:70B3D52FC*
ID_OUI_FROM_DATABASE=Loanguard T/A SE Controls
@ -66245,6 +66293,9 @@ OUI:70B3D53B1*
OUI:70B3D53B2*
ID_OUI_FROM_DATABASE=Sicon srl
OUI:70B3D53B4*
ID_OUI_FROM_DATABASE=YOUSUNG
OUI:70B3D53B5*
ID_OUI_FROM_DATABASE=Preston Industries dba PolyScience
@ -67259,6 +67310,9 @@ OUI:70B3D5532*
OUI:70B3D5533*
ID_OUI_FROM_DATABASE=Nippon Marine Enterprises, Ltd.
OUI:70B3D5534*
ID_OUI_FROM_DATABASE=Weihai Weigao Medical Imaging Technology Co., Ltd
OUI:70B3D5535*
ID_OUI_FROM_DATABASE=SITA Messtechnik GmbH
@ -67652,6 +67706,9 @@ OUI:70B3D55C9*
OUI:70B3D55CA*
ID_OUI_FROM_DATABASE=ACD Elekronik GmbH
OUI:70B3D55CB*
ID_OUI_FROM_DATABASE=ECoCoMS Ltd.
OUI:70B3D55CC*
ID_OUI_FROM_DATABASE=Akse srl
@ -67898,6 +67955,9 @@ OUI:70B3D5623*
OUI:70B3D5625*
ID_OUI_FROM_DATABASE=VX Instruments GmbH
OUI:70B3D5626*
ID_OUI_FROM_DATABASE=KRONOTECH SRL
OUI:70B3D5628*
ID_OUI_FROM_DATABASE=MECT SRL
@ -69140,6 +69200,9 @@ OUI:70B3D57EE*
OUI:70B3D57EF*
ID_OUI_FROM_DATABASE=CRAVIS CO., LIMITED
OUI:70B3D57F0*
ID_OUI_FROM_DATABASE=Yokogawa Denshikiki Co.,Ltd
OUI:70B3D57F1*
ID_OUI_FROM_DATABASE=AeroVision Avionics, Inc.
@ -69446,6 +69509,9 @@ OUI:70B3D5862*
OUI:70B3D5863*
ID_OUI_FROM_DATABASE=Shenzhen Wesion Technology Co., Ltd
OUI:70B3D5864*
ID_OUI_FROM_DATABASE=BORMANN EDV und Zubehoer
OUI:70B3D5865*
ID_OUI_FROM_DATABASE=Insitu, Inc.
@ -69875,6 +69941,9 @@ OUI:70B3D5903*
OUI:70B3D5904*
ID_OUI_FROM_DATABASE=PHB Eletronica Ltda.
OUI:70B3D5905*
ID_OUI_FROM_DATABASE=Wexiodisk AB
OUI:70B3D5906*
ID_OUI_FROM_DATABASE=Aplex Technology Inc.
@ -70490,6 +70559,9 @@ OUI:70B3D59E7*
OUI:70B3D59E8*
ID_OUI_FROM_DATABASE=Zerospace ICT Services B.V.
OUI:70B3D59E9*
ID_OUI_FROM_DATABASE=LiveCopper Inc.
OUI:70B3D59EA*
ID_OUI_FROM_DATABASE=Blue Storm Associates, Inc.
@ -70637,6 +70709,9 @@ OUI:70B3D5A21*
OUI:70B3D5A22*
ID_OUI_FROM_DATABASE=eSys Solutions Sweden AB
OUI:70B3D5A23*
ID_OUI_FROM_DATABASE=LG Electronics
OUI:70B3D5A24*
ID_OUI_FROM_DATABASE=Booz Allen Hamilton
@ -71510,6 +71585,9 @@ OUI:70B3D5B66*
OUI:70B3D5B67*
ID_OUI_FROM_DATABASE=RedWave Labs Ltd
OUI:70B3D5B68*
ID_OUI_FROM_DATABASE=S-Rain Control A/S
OUI:70B3D5B6A*
ID_OUI_FROM_DATABASE=YUYAMA MFG Co.,Ltd
@ -71765,6 +71843,9 @@ OUI:70B3D5BC5*
OUI:70B3D5BC6*
ID_OUI_FROM_DATABASE=Hatteland Display AS
OUI:70B3D5BC7*
ID_OUI_FROM_DATABASE=Autonomic Controls, Inc.
OUI:70B3D5BC9*
ID_OUI_FROM_DATABASE=Yite technology
@ -72647,6 +72728,9 @@ OUI:70B3D5D15*
OUI:70B3D5D16*
ID_OUI_FROM_DATABASE=Monnit Corporation
OUI:70B3D5D18*
ID_OUI_FROM_DATABASE=MetCom Solutions GmbH
OUI:70B3D5D19*
ID_OUI_FROM_DATABASE=Senior Group LLC
@ -72980,6 +73064,9 @@ OUI:70B3D5D94*
OUI:70B3D5D95*
ID_OUI_FROM_DATABASE=SANO SERVICE Co.,Ltd
OUI:70B3D5D96*
ID_OUI_FROM_DATABASE=Thermo Fisher Scientific Inc.
OUI:70B3D5D97*
ID_OUI_FROM_DATABASE=BRS Sistemas Eletrônicos
@ -74012,6 +74099,9 @@ OUI:70B3D5F13*
OUI:70B3D5F14*
ID_OUI_FROM_DATABASE=SANYU SWITCH CO., LTD.
OUI:70B3D5F15*
ID_OUI_FROM_DATABASE=ARECA EMBEDDED SYSTEMS PVT LTD
OUI:70B3D5F16*
ID_OUI_FROM_DATABASE=BRS Sistemas Eletrônicos
@ -74189,6 +74279,9 @@ OUI:70B3D5F57*
OUI:70B3D5F58*
ID_OUI_FROM_DATABASE=CDR SRL
OUI:70B3D5F59*
ID_OUI_FROM_DATABASE=KOREA SPECTRAL PRODUCTS
OUI:70B3D5F5A*
ID_OUI_FROM_DATABASE=HAMEG GmbH
@ -76784,6 +76877,9 @@ OUI:78F7D0*
OUI:78F882*
ID_OUI_FROM_DATABASE=LG Electronics (Mobile Communications)
OUI:78F8B8*
ID_OUI_FROM_DATABASE=Rako Controls Ltd
OUI:78F944*
ID_OUI_FROM_DATABASE=Private
@ -80699,6 +80795,9 @@ OUI:8C444F*
OUI:8C4500*
ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
OUI:8C47BE*
ID_OUI_FROM_DATABASE=Dell Inc.
OUI:8C4962*
ID_OUI_FROM_DATABASE=Roku, Inc
@ -80987,6 +81086,9 @@ OUI:8C8ABB*
OUI:8C8B83*
ID_OUI_FROM_DATABASE=Texas Instruments
OUI:8C8D28*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:8C8E76*
ID_OUI_FROM_DATABASE=taskit GmbH
@ -86198,6 +86300,9 @@ OUI:A45046*
OUI:A45055*
ID_OUI_FROM_DATABASE=BUSWARE.DE
OUI:A45129*
ID_OUI_FROM_DATABASE=XAG
OUI:A4516F*
ID_OUI_FROM_DATABASE=Microsoft Mobile Oy
@ -86489,6 +86594,9 @@ OUI:A4A6A9*
OUI:A4A80F*
ID_OUI_FROM_DATABASE=Shenzhen Coship Electronics Co., Ltd.
OUI:A4AC0F*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:A4AD00*
ID_OUI_FROM_DATABASE=Ragsdale Technology
@ -87146,6 +87254,9 @@ OUI:A865B2*
OUI:A8667F*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:A8698C*
ID_OUI_FROM_DATABASE=Oracle Corporation
OUI:A86A6F*
ID_OUI_FROM_DATABASE=RIM
@ -88727,6 +88838,9 @@ OUI:B07D47*
OUI:B07D62*
ID_OUI_FROM_DATABASE=Dipl.-Ing. H. Horstmann GmbH
OUI:B07D64*
ID_OUI_FROM_DATABASE=Intel Corporate
OUI:B07E11*
ID_OUI_FROM_DATABASE=Texas Instruments
@ -89237,6 +89351,9 @@ OUI:B0FD0BE*
OUI:B0FEBD*
ID_OUI_FROM_DATABASE=Private
OUI:B0FEE5*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:B40016*
ID_OUI_FROM_DATABASE=INGENICO TERMINALS SAS
@ -91931,9 +92048,42 @@ OUI:C05E79*
OUI:C06118*
ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
OUI:C0619A1*
ID_OUI_FROM_DATABASE=KidKraft
OUI:C0619A2*
ID_OUI_FROM_DATABASE=Grup Arge Enerji ve Kontrol Sistemleri
OUI:C0619A3*
ID_OUI_FROM_DATABASE=LYAND ACOUSTIC TECHNOLOGY CO.,LTD.
OUI:C0619A4*
ID_OUI_FROM_DATABASE=Stello
OUI:C0619A5*
ID_OUI_FROM_DATABASE=Nanjing Balance Network Technology Co., Ltd
OUI:C0619A6*
ID_OUI_FROM_DATABASE=IPG Automotive GmbH
OUI:C0619A7*
ID_OUI_FROM_DATABASE=MAD PIECE LLC.
OUI:C0619A8*
ID_OUI_FROM_DATABASE=Nanjing SinoVatio Technology Co., Ltd
OUI:C0619A9*
ID_OUI_FROM_DATABASE=Wingtech Mobile Communications Co.,Ltd.
OUI:C0619AA*
ID_OUI_FROM_DATABASE=Gronn Kontakt AS
OUI:C0619AC*
ID_OUI_FROM_DATABASE=JAM-Labs Corp
OUI:C0619AD*
ID_OUI_FROM_DATABASE=Uhnder
OUI:C0626B*
ID_OUI_FROM_DATABASE=Cisco Systems, Inc
@ -92618,6 +92768,9 @@ OUI:C42996*
OUI:C42AD0*
ID_OUI_FROM_DATABASE=Apple, Inc.
OUI:C42B44*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:C42C03*
ID_OUI_FROM_DATABASE=Apple, Inc.
@ -93941,6 +94094,9 @@ OUI:C8BAE9*
OUI:C8BBD3*
ID_OUI_FROM_DATABASE=Embrane
OUI:C8BC9C*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:C8BCC8*
ID_OUI_FROM_DATABASE=Apple, Inc.
@ -94640,6 +94796,9 @@ OUI:CC82EB*
OUI:CC856C*
ID_OUI_FROM_DATABASE=SHENZHEN MDK DIGITAL TECHNOLOGY CO.,LTD
OUI:CC874A*
ID_OUI_FROM_DATABASE=Nokia
OUI:CC8826*
ID_OUI_FROM_DATABASE=LG Innotek
@ -94745,6 +94904,9 @@ OUI:CCAB2C*
OUI:CCAF78*
ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
OUI:CCB0A8*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:CCB0DA*
ID_OUI_FROM_DATABASE=Liteon Technology Corporation
@ -95117,6 +95279,9 @@ OUI:CCFD17*
OUI:CCFE3C*
ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
OUI:CCFF90*
ID_OUI_FROM_DATABASE=Huawei Device Co., Ltd.
OUI:D0034B*
ID_OUI_FROM_DATABASE=Apple, Inc.
@ -98153,6 +98318,9 @@ OUI:DCA266*
OUI:DCA333*
ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
OUI:DCA3A2*
ID_OUI_FROM_DATABASE=Feng mi(Beijing)technology co., LTD
OUI:DCA3AC*
ID_OUI_FROM_DATABASE=RBcloudtech
@ -101054,6 +101222,9 @@ OUI:EC55F9*
OUI:EC5623*
ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
OUI:EC570D*
ID_OUI_FROM_DATABASE=AFE Inc.
OUI:EC58EA*
ID_OUI_FROM_DATABASE=Ruckus Wireless
@ -103907,6 +104078,9 @@ OUI:F8A097*
OUI:F8A188*
ID_OUI_FROM_DATABASE=LED Roadway Lighting
OUI:F8A26D*
ID_OUI_FROM_DATABASE=CANON INC.
OUI:F8A2B4*
ID_OUI_FROM_DATABASE=RHEWA-WAAGENFABRIK August Freudewald GmbH &Co. KG

View File

@ -1,5 +1,5 @@
--- 20-acpi-vendor.hwdb.base 2020-06-25 15:39:12.679783537 +0200
+++ 20-acpi-vendor.hwdb 2020-06-25 15:39:12.697783719 +0200
--- 20-acpi-vendor.hwdb.base 2020-07-06 17:50:38.655308539 +0200
+++ 20-acpi-vendor.hwdb 2020-07-06 17:50:38.678308990 +0200
@@ -3,6 +3,8 @@
# Data imported from:
# https://uefi.org/uefi-pnp-export

View File

@ -26045,12 +26045,6 @@ D4C766 (base 16) Acentic GmbH
Seoul
KR
00-07-8E (hex) Garz & Friche GmbH
00078E (base 16) Garz & Friche GmbH
Tempowerhving 4
DE
00-07-54 (hex) Xyterra Computing, Inc.
000754 (base 16) Xyterra Computing, Inc.
14505 Hayden Rd.,
@ -34049,12 +34043,42 @@ B8DD71 (base 16) zte corporation
shenzhen guangdong 518057
CN
78-F8-B8 (hex) Rako Controls Ltd
78F8B8 (base 16) Rako Controls Ltd
Knight Road
Rochester Kent ME2 2AH
GB
00-16-12 (hex) Otsuka Electronics Co., Ltd.
001612 (base 16) Otsuka Electronics Co., Ltd.
1-10 Sasagaoka, Minakuchi
kouka shiga 528-0061
JP
A4-51-29 (hex) XAG
A45129 (base 16) XAG
Block C, 115 Gaopu Road
Guangzhou 510663
CN
CC-87-4A (hex) Nokia
CC874A (base 16) Nokia
600 March Road
Kanata Ontario K2K 2E6
CA
04-46-CF (hex) Beijing Venustech Cybervision Co.,Ltd.
0446CF (base 16) Beijing Venustech Cybervision Co.,Ltd.
Venus Plaza No.21Zhongguancun Software Park,No.8 Dongbeiwang Xilu, Haidian District
Beijing Beijing 100193
CN
00-07-8E (hex) Garz & Fricke GmbH
00078E (base 16) Garz & Fricke GmbH
Schlachthofstrasse 20
Hamburg Hamburg 21079
DE
9C-FF-C2 (hex) AVI Systems GmbH
9CFFC2 (base 16) AVI Systems GmbH
Dr. Franz Wilhelmstraße 2A
@ -61469,12 +61493,6 @@ D4AAFF (base 16) MICRO WORLD
Washington DC 20008
US
00-30-54 (hex) CASTLENET TECHNOLOGY, INC.
003054 (base 16) CASTLENET TECHNOLOGY, INC.
NO. 130 WU-KUNG RD.,
TAIWAN TAIWAN R.O.C.
TW
00-30-0B (hex) mPHASE Technologies, Inc.
00300B (base 16) mPHASE Technologies, Inc.
250 14th Street
@ -67385,12 +67403,60 @@ A4AE12 (base 16) Hon Hai Precision Ind. Co., Ltd.
ShenZhen GuangDong 518109
CN
DC-A3-A2 (hex) Feng mi(Beijing)technology co., LTD
DCA3A2 (base 16) Feng mi(Beijing)technology co., LTD
RenHe Town barracks south street 10 yuan 33 level 301
shunyi district Beijing 101300
CN
7C-25-DA (hex) FN-LINK TECHNOLOGY LIMITED
7C25DA (base 16) FN-LINK TECHNOLOGY LIMITED
A Building,HuiXin industial park,No 31, YongHe road, Fuyong town, Bao'an District
SHENZHEN GUANGDONG 518100
CN
A8-69-8C (hex) Oracle Corporation
A8698C (base 16) Oracle Corporation
500 Oracle Parkway
Redwood Shores CA 94065
US
EC-57-0D (hex) AFE Inc.
EC570D (base 16) AFE Inc.
11210 County Line Rd
Mount Pleasant WI 53177
US
A4-AC-0F (hex) Huawei Device Co., Ltd.
A4AC0F (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
CC-FF-90 (hex) Huawei Device Co., Ltd.
CCFF90 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
54-05-DB (hex) LCFC(HeFei) Electronics Technology co., ltd
5405DB (base 16) LCFC(HeFei) Electronics Technology co., ltd
YunGu Road 3188-1
Hefei Anhui 230000
CN
44-A5-4E (hex) Qorvo Utrecht B.V.
44A54E (base 16) Qorvo Utrecht B.V.
Leidseveer 10
Utrecht Utrecht 3511SB
NL
00-30-54 (hex) Castlenet Technology Inc.
003054 (base 16) Castlenet Technology Inc.
NO. 130 WU-KUNG RD.,
TAIWAN TAIWAN R.O.C.
TW
84-80-94 (hex) Meter, Inc.
848094 (base 16) Meter, Inc.
148 Townsend St
@ -101240,6 +101306,36 @@ DCCD2F (base 16) Seiko Epson Corporation
shenzhen guangdong 518057
CN
8C-8D-28 (hex) Intel Corporate
8C8D28 (base 16) Intel Corporate
Lot 8, Jalan Hi-Tech 2/3
Kulim Kedah 09000
MY
34-3E-A4 (hex) Ring LLC
343EA4 (base 16) Ring LLC
1523 26th St
Santa Monica CA 90404
US
B0-FE-E5 (hex) Huawei Device Co., Ltd.
B0FEE5 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
04-C1-D8 (hex) Huawei Device Co., Ltd.
04C1D8 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
C8-BC-9C (hex) Huawei Device Co., Ltd.
C8BC9C (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
F8-D0-27 (hex) Seiko Epson Corporation
F8D027 (base 16) Seiko Epson Corporation
2070 Kotobuki Koaka
@ -134828,18 +134924,24 @@ B0B113 (base 16) Texas Instruments
Holzkirchen 83607
DE
24-B1-05 (hex) Prama Hikvision India Private Limited
24B105 (base 16) Prama Hikvision India Private Limited
Prama Hikvision India Pvt Ltd, Akurli Cross Road No 1, Kandivali East
Mumbai Maharashtra 400101
IN
70-9C-D1 (hex) Intel Corporate
709CD1 (base 16) Intel Corporate
Lot 8, Jalan Hi-Tech 2/3
Kulim Kedah 09000
MY
80-60-B7 (hex) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.
8060B7 (base 16) CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.
B22 Building,NO.51 Tongle Road, Shajing Town, Jiangnan District, Nanning, Guangxi Province, China
Nanning Guangxi 530007
CN
34-20-E3 (hex) Ruckus Wireless
3420E3 (base 16) Ruckus Wireless
350 West Java Drive
Sunnyvale CA 94089
US
90-AA-C3 (hex) Hitron Technologies. Inc
90AAC3 (base 16) Hitron Technologies. Inc
No. 1-8, Lising 1st Rd. Hsinchu Science Park, Hsinchu, 300, Taiwan, R.O.C
@ -134858,6 +134960,42 @@ DC7223 (base 16) Hui Zhou Gaoshengda Technology Co.,LTD
Hui Zhou Guangdong 516006
CN
34-20-E3 (hex) Ruckus Wireless
3420E3 (base 16) Ruckus Wireless
350 West Java Drive
Sunnyvale CA 94089
US
8C-47-BE (hex) Dell Inc.
8C47BE (base 16) Dell Inc.
One Dell Way
Round Rock TX 78682
US
20-F4-4F (hex) Nokia
20F44F (base 16) Nokia
600 March Road
Kanata Ontario K2K 2E6
CA
24-5F-9F (hex) Huawei Device Co., Ltd.
245F9F (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
CC-B0-A8 (hex) Huawei Device Co., Ltd.
CCB0A8 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
50-28-73 (hex) Huawei Device Co., Ltd.
502873 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
7C-8A-E1 (hex) COMPAL INFORMATION (KUNSHAN) CO., LTD.
7C8AE1 (base 16) COMPAL INFORMATION (KUNSHAN) CO., LTD.
NO. 25, THE 3RD Street KUNSHAN EXPORT PROCESSING ZONE
@ -168581,20 +168719,56 @@ CCB182 (base 16) HUAWEI TECHNOLOGIES CO.,LTD
Piscataway NJ 08554
US
F4-BF-A8 (hex) Juniper Networks
F4BFA8 (base 16) Juniper Networks
1133 Innovation Way
Sunnyvale CA 94089
US
28-C2-1F (hex) SAMSUNG ELECTRO-MECHANICS(THAILAND)
28C21F (base 16) SAMSUNG ELECTRO-MECHANICS(THAILAND)
93Moo5T. Bangsamak SEMTHAI, WELLGROW INDUSTRIAL ESTATE
Bangpakong Chachoengsao 24180
TH
5C-7D-7D (hex) Technicolor CH USA Inc.
5C7D7D (base 16) Technicolor CH USA Inc.
5030 Sugarloaf Parkway Bldg 6
Lawrenceville GA 30044
US
B0-7D-64 (hex) Intel Corporate
B07D64 (base 16) Intel Corporate
Lot 8, Jalan Hi-Tech 2/3
Kulim Kedah 09000
MY
F4-BF-A8 (hex) Juniper Networks
F4BFA8 (base 16) Juniper Networks
1133 Innovation Way
Sunnyvale CA 94089
US
C0-61-9A (hex) IEEE Registration Authority
C0619A (base 16) IEEE Registration Authority
445 Hoes Lane
Piscataway NJ 08554
US
70-61-EE (hex) Sunwoda Electronic Co.,Ltd
7061EE (base 16) Sunwoda Electronic Co.,Ltd
No 2,Yihe Road, shiyan Street?shilong Community ,Baoan District
Shenzhen 518105
CN
40-06-34 (hex) Huawei Device Co., Ltd.
400634 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
C4-2B-44 (hex) Huawei Device Co., Ltd.
C42B44 (base 16) Huawei Device Co., Ltd.
No.2 of Xincheng Road, Songshan Lake Zone
Dongguan Guangdong 523808
CN
F8-A2-6D (hex) CANON INC.
F8A26D (base 16) CANON INC.
30-2 Shimomaruko 3-chome,
Ohta-ku Tokyo 146-8501
JP

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -504,10 +504,10 @@
<term><option>--tasks-max=</option><replaceable>TASKS</replaceable></term>
<listitem><para>Takes a non-zero unsigned integer as argument. Configures the maximum numer of tasks
(i.e. processes and threads) the user may have at any given time. This limit applies to all tasks
forked off the user's sessions, even if they change user identity via <citerefentry
project='man-pages'><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> or a
similar tool. Use <option>--rlimit=LIMIT_NPROC=</option> to place a limit on the tasks actually
(i.e. threads, where each process is at least one thread) the user may have at any given time. This
limit applies to all tasks forked off the user's sessions, even if they change user identity via
<citerefentry project='man-pages'><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>
or a similar tool. Use <option>--rlimit=LIMIT_NPROC=</option> to place a limit on the tasks actually
running under the UID of the user, thus excluding any child processes that might have changed user
identity. This controls the <varname>TasksMax=</varname> setting of the per-user systemd slice unit
<filename>user-$UID.slice</filename>. See
@ -532,7 +532,7 @@
<term><option>--cpu-weight=</option><replaceable>WEIGHT</replaceable></term>
<term><option>--io-weight=</option><replaceable>WEIGHT</replaceable></term>
<listitem><para>Set a CPU and IO scheduling weights of the processes of the user, including those of
<listitem><para>Set CPU and IO scheduling weights of the processes of the user, including those of
processes forked off by the user that changed user credentials. Takes a numeric value in the range
1…10000. This controls the <varname>CPUWeight=</varname> and <varname>IOWeight=</varname> settings of
the per-user systemd slice unit <filename>user-$UID.slice</filename>. See

View File

@ -1748,7 +1748,15 @@
<varlistentry>
<term><varname>DenyList=</varname></term>
<listitem>
<para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are rejected.</para>
<para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are rejected. Note that
if <varname>AllowList=</varname> is configured then <varname>DenyList=</varname> is ignored.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>AllowList=</varname></term>
<listitem>
<para>A whitespace-separated list of IPv4 addresses. DHCP offers from servers in the list are accepted.</para>
</listitem>
</varlistentry>

View File

@ -339,12 +339,12 @@ static int radv_timeout(sd_event_source *s, uint64_t usec, void *userdata) {
return 0;
fail:
sd_radv_stop(ra);
sd_radv_stop(ra, true);
return 0;
}
_public_ int sd_radv_stop(sd_radv *ra) {
_public_ int sd_radv_stop(sd_radv *ra, bool zero_router_lifetime) {
int r;
assert_return(ra, -EINVAL);
@ -354,11 +354,15 @@ _public_ int sd_radv_stop(sd_radv *ra) {
log_radv("Stopping IPv6 Router Advertisement daemon");
/* RFC 4861, Section 6.2.5, send at least one Router Advertisement
with zero lifetime */
r = radv_send(ra, NULL, 0);
if (r < 0)
log_radv_errno(r, "Unable to send last Router Advertisement with router lifetime set to zero: %m");
if (zero_router_lifetime) {
/* RFC 4861, Section 6.2.5, send at least one Router Advertisement
with zero lifetime */
r = radv_send(ra, NULL, 0);
if (r < 0)
log_radv_errno(r, "Unable to send last Router Advertisement with router lifetime set to zero: %m");
else
log_radv("Sent last Router Advertisement with router lifetime set to zero");
}
radv_reset(ra);
ra->fd = safe_close(ra->fd);

View File

@ -284,7 +284,7 @@ static int radv_recv(sd_event_source *s, int fd, uint32_t revents, void *userdat
return 0;
}
assert_se(sd_radv_stop(ra) >= 0);
assert_se(sd_radv_stop(ra, true) >= 0);
test_stopped = true;
return 0;

View File

@ -1079,6 +1079,34 @@ static int dhcp_server_is_deny_listed(Link *link, sd_dhcp_client *client) {
return false;
}
static int dhcp_server_is_allow_listed(Link *link, sd_dhcp_client *client) {
sd_dhcp_lease *lease;
struct in_addr addr;
int r;
assert(link);
assert(link->network);
assert(client);
r = sd_dhcp_client_get_lease(client, &lease);
if (r < 0)
return log_link_error_errno(link, r, "Failed to get DHCP lease: %m");
r = sd_dhcp_lease_get_server_identifier(lease, &addr);
if (r < 0)
return log_link_debug_errno(link, r, "Failed to get DHCP server ip address: %m");
if (set_contains(link->network->dhcp_allow_listed_ip, UINT32_TO_PTR(addr.s_addr))) {
log_struct(LOG_DEBUG,
LOG_LINK_INTERFACE(link),
LOG_LINK_MESSAGE(link, "DHCPv4 ip '%u.%u.%u.%u' found in allow-listed ip addresses, accepting offer",
ADDRESS_FMT_VAL(addr)));
return true;
}
return false;
}
static int dhcp4_handler(sd_dhcp_client *client, int event, void *userdata) {
Link *link = userdata;
int r;
@ -1163,12 +1191,19 @@ static int dhcp4_handler(sd_dhcp_client *client, int event, void *userdata) {
}
break;
case SD_DHCP_CLIENT_EVENT_SELECTING:
r = dhcp_server_is_deny_listed(link, client);
if (r < 0)
return r;
if (r != 0)
return -ENOMSG;
if (!set_isempty(link->network->dhcp_allow_listed_ip)) {
r = dhcp_server_is_allow_listed(link, client);
if (r < 0)
return r;
if (r == 0)
return -ENOMSG;
} else {
r = dhcp_server_is_deny_listed(link, client);
if (r < 0)
return r;
if (r != 0)
return -ENOMSG;
}
break;
default:
if (event < 0)
@ -1551,7 +1586,7 @@ int config_parse_dhcp_max_attempts(
return 0;
}
int config_parse_dhcp_deny_listed_ip_address(
int config_parse_dhcp_acl_ip_address(
const char *unit,
const char *filename,
unsigned line,
@ -1564,6 +1599,7 @@ int config_parse_dhcp_deny_listed_ip_address(
void *userdata) {
Network *network = data;
Set **acl;
int r;
assert(filename);
@ -1571,8 +1607,10 @@ int config_parse_dhcp_deny_listed_ip_address(
assert(rvalue);
assert(data);
acl = STR_IN_SET(lvalue, "DenyList", "BlackList") ? &network->dhcp_deny_listed_ip : &network->dhcp_allow_listed_ip;
if (isempty(rvalue)) {
network->dhcp_deny_listed_ip = set_free(network->dhcp_deny_listed_ip);
*acl = set_free(*acl);
return 0;
}
@ -1583,8 +1621,8 @@ int config_parse_dhcp_deny_listed_ip_address(
r = extract_first_word(&p, &n, NULL, 0);
if (r < 0) {
log_syntax(unit, LOG_ERR, filename, line, r,
"Failed to parse DHCP deny-listed IP address, ignoring assignment: %s",
rvalue);
"Failed to parse DHCP '%s=' IP address, ignoring assignment: %s",
lvalue, rvalue);
return 0;
}
if (r == 0)
@ -1593,14 +1631,14 @@ int config_parse_dhcp_deny_listed_ip_address(
r = in_addr_from_string(AF_INET, n, &ip);
if (r < 0) {
log_syntax(unit, LOG_ERR, filename, line, r,
"DHCP deny-listed IP address is invalid, ignoring assignment: %s", n);
"DHCP '%s=' IP address is invalid, ignoring assignment: %s", lvalue, n);
continue;
}
r = set_ensure_put(&network->dhcp_deny_listed_ip, NULL, UINT32_TO_PTR(ip.in.s_addr));
r = set_ensure_put(acl, NULL, UINT32_TO_PTR(ip.in.s_addr));
if (r < 0)
log_syntax(unit, LOG_ERR, filename, line, r,
"Failed to store DHCP deny-listed IP address '%s', ignoring assignment: %m", n);
"Failed to store DHCP '%s=' IP address '%s', ignoring assignment: %m", lvalue, n);
}
return 0;

View File

@ -23,7 +23,7 @@ int dhcp4_set_client_identifier(Link *link);
int dhcp4_set_promote_secondaries(Link *link);
CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_client_identifier);
CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_deny_listed_ip_address);
CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_acl_ip_address);
CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_max_attempts);
CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_ip_service_type);
CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_mud_url);

View File

@ -188,7 +188,7 @@ static int dhcp6_pd_prefix_assign(Link *link, struct in6_addr *prefix,
if (r < 0)
return r;
r = sd_radv_stop(radv);
r = sd_radv_stop(radv, false);
if (r < 0)
return r;

View File

@ -840,7 +840,7 @@ int link_stop_clients(Link *link, bool may_keep_dhcp) {
}
if (link->radv) {
k = sd_radv_stop(link->radv);
k = sd_radv_stop(link->radv, true);
if (k < 0)
r = log_link_warning_errno(link, k, "Could not stop IPv6 Router Advertisement: %m");
}
@ -3450,7 +3450,6 @@ static int link_load(Link *link) {
*dhcp4_address = NULL,
*ipv4ll_address = NULL;
union in_addr_union address;
const char *p;
int r;
assert(link);
@ -3489,107 +3488,100 @@ static int link_load(Link *link) {
network_file_fail:
if (addresses) {
p = addresses;
for (const char *p = addresses; p; ) {
_cleanup_free_ char *address_str = NULL;
char *prefixlen_str;
int family;
unsigned char prefixlen;
for (;;) {
_cleanup_free_ char *address_str = NULL;
char *prefixlen_str;
int family;
unsigned char prefixlen;
r = extract_first_word(&p, &address_str, NULL, 0);
if (r < 0)
log_link_warning_errno(link, r, "failed to parse ADDRESSES: %m");
if (r <= 0)
break;
r = extract_first_word(&p, &address_str, NULL, 0);
if (r < 0) {
log_link_debug_errno(link, r, "Failed to extract next address string: %m");
continue;
}
if (r == 0)
break;
prefixlen_str = strchr(address_str, '/');
if (!prefixlen_str) {
log_link_debug(link, "Failed to parse address and prefix length %s", address_str);
continue;
}
*prefixlen_str++ = '\0';
r = sscanf(prefixlen_str, "%hhu", &prefixlen);
if (r != 1) {
log_link_error(link, "Failed to parse prefixlen %s", prefixlen_str);
continue;
}
r = in_addr_from_string_auto(address_str, &family, &address);
if (r < 0) {
log_link_debug_errno(link, r, "Failed to parse address %s: %m", address_str);
continue;
}
r = address_add(link, family, &address, prefixlen, NULL);
if (r < 0)
return log_link_error_errno(link, r, "Failed to add address: %m");
prefixlen_str = strchr(address_str, '/');
if (!prefixlen_str) {
log_link_debug(link, "Failed to parse address and prefix length %s", address_str);
continue;
}
*prefixlen_str++ = '\0';
r = sscanf(prefixlen_str, "%hhu", &prefixlen);
if (r != 1) {
log_link_error(link, "Failed to parse prefixlen %s", prefixlen_str);
continue;
}
r = in_addr_from_string_auto(address_str, &family, &address);
if (r < 0) {
log_link_debug_errno(link, r, "Failed to parse address %s: %m", address_str);
continue;
}
r = address_add(link, family, &address, prefixlen, NULL);
if (r < 0)
return log_link_error_errno(link, r, "Failed to add address: %m");
}
if (routes) {
p = routes;
for (const char *p = routes; p; ) {
_cleanup_(sd_event_source_unrefp) sd_event_source *expire = NULL;
_cleanup_(route_freep) Route *tmp = NULL;
_cleanup_free_ char *route_str = NULL;
char *prefixlen_str;
Route *route;
for (;;) {
_cleanup_(sd_event_source_unrefp) sd_event_source *expire = NULL;
_cleanup_(route_freep) Route *tmp = NULL;
_cleanup_free_ char *route_str = NULL;
char *prefixlen_str;
Route *route;
r = extract_first_word(&p, &route_str, NULL, 0);
if (r < 0)
log_link_debug_errno(link, r, "failed to parse ROUTES: %m");
if (r <= 0)
break;
r = extract_first_word(&p, &route_str, NULL, 0);
if (r < 0) {
log_link_debug_errno(link, r, "Failed to extract next route string: %m");
continue;
}
if (r == 0)
break;
prefixlen_str = strchr(route_str, '/');
if (!prefixlen_str) {
log_link_debug(link, "Failed to parse route %s", route_str);
continue;
}
*prefixlen_str++ = '\0';
r = route_new(&tmp);
if (r < 0)
return log_oom();
r = sscanf(prefixlen_str, "%hhu/%hhu/%"SCNu32"/%"PRIu32"/"USEC_FMT, &tmp->dst_prefixlen, &tmp->tos, &tmp->priority, &tmp->table, &tmp->lifetime);
if (r != 5) {
log_link_debug(link,
"Failed to parse destination prefix length, tos, priority, table or expiration %s",
prefixlen_str);
continue;
}
r = in_addr_from_string_auto(route_str, &tmp->family, &tmp->dst);
if (r < 0) {
log_link_debug_errno(link, r, "Failed to parse route destination %s: %m", route_str);
continue;
}
r = route_add(link, tmp, &route);
if (r < 0)
return log_link_error_errno(link, r, "Failed to add route: %m");
if (route->lifetime != USEC_INFINITY && !kernel_route_expiration_supported()) {
r = sd_event_add_time(link->manager->event, &expire, clock_boottime_or_monotonic(), route->lifetime,
0, route_expire_handler, route);
if (r < 0)
log_link_warning_errno(link, r, "Could not arm route expiration handler: %m");
}
sd_event_source_unref(route->expire);
route->expire = TAKE_PTR(expire);
prefixlen_str = strchr(route_str, '/');
if (!prefixlen_str) {
log_link_debug(link, "Failed to parse route %s", route_str);
continue;
}
*prefixlen_str++ = '\0';
r = route_new(&tmp);
if (r < 0)
return log_oom();
r = sscanf(prefixlen_str,
"%hhu/%hhu/%"SCNu32"/%"PRIu32"/"USEC_FMT,
&tmp->dst_prefixlen,
&tmp->tos,
&tmp->priority,
&tmp->table,
&tmp->lifetime);
if (r != 5) {
log_link_debug(link,
"Failed to parse destination prefix length, tos, priority, table or expiration %s",
prefixlen_str);
continue;
}
r = in_addr_from_string_auto(route_str, &tmp->family, &tmp->dst);
if (r < 0) {
log_link_debug_errno(link, r, "Failed to parse route destination %s: %m", route_str);
continue;
}
r = route_add(link, tmp, &route);
if (r < 0)
return log_link_error_errno(link, r, "Failed to add route: %m");
if (route->lifetime != USEC_INFINITY && !kernel_route_expiration_supported()) {
r = sd_event_add_time(link->manager->event, &expire,
clock_boottime_or_monotonic(),
route->lifetime, 0, route_expire_handler, route);
if (r < 0)
log_link_warning_errno(link, r, "Could not arm route expiration handler: %m");
}
sd_event_source_unref(route->expire);
route->expire = TAKE_PTR(expire);
}
if (dhcp4_address) {

View File

@ -197,8 +197,8 @@ DHCPv4.IAID, config_parse_iaid,
DHCPv4.ListenPort, config_parse_uint16, 0, offsetof(Network, dhcp_client_port)
DHCPv4.SendRelease, config_parse_bool, 0, offsetof(Network, dhcp_send_release)
DHCPv4.SendDecline, config_parse_bool, 0, offsetof(Network, dhcp_send_decline)
DHCPv4.DenyList, config_parse_dhcp_deny_listed_ip_address, 0, 0
DHCPv4.BlackList, config_parse_dhcp_deny_listed_ip_address, 0, 0
DHCPv4.DenyList, config_parse_dhcp_acl_ip_address, 0, 0
DHCPv4.AllowList, config_parse_dhcp_acl_ip_address, 0, 0
DHCPv4.IPServiceType, config_parse_dhcp_ip_service_type, 0, offsetof(Network, ip_service_type)
DHCPv4.SendOption, config_parse_dhcp_send_option, AF_INET, offsetof(Network, dhcp_client_send_options)
DHCPv4.SendVendorOption, config_parse_dhcp_send_option, 0, offsetof(Network, dhcp_client_send_vendor_options)
@ -414,6 +414,7 @@ TrivialLinkEqualizer.Handle, config_parse_qdisc_handle,
TrivialLinkEqualizer.Id, config_parse_trivial_link_equalizer_id, QDISC_KIND_TEQL, 0
/* backwards compatibility: do not add new entries to this section */
Network.IPv4LL, config_parse_ipv4ll, 0, offsetof(Network, link_local)
DHCPv4.BlackList, config_parse_dhcp_acl_ip_address, 0, 0
DHCP.ClientIdentifier, config_parse_dhcp_client_identifier, 0, offsetof(Network, dhcp_client_identifier)
DHCP.UseDNS, config_parse_dhcp_use_dns, 0, 0
DHCP.UseNTP, config_parse_dhcp_use_ntp, 0, 0

View File

@ -670,6 +670,7 @@ static Network *network_free(Network *network) {
strv_free(network->dhcp_user_class);
free(network->dhcp_hostname);
set_free(network->dhcp_deny_listed_ip);
set_free(network->dhcp_allow_listed_ip);
set_free(network->dhcp_request_options);
set_free(network->dhcp6_request_options);
free(network->mac);

View File

@ -140,6 +140,7 @@ struct Network {
DHCPUseDomains dhcp_use_domains;
sd_ipv4acd *dhcp_acd;
Set *dhcp_deny_listed_ip;
Set *dhcp_allow_listed_ip;
Set *dhcp_request_options;
OrderedHashmap *dhcp_client_send_options;
OrderedHashmap *dhcp_client_send_vendor_options;

View File

@ -22,6 +22,7 @@
#include <inttypes.h>
#include <net/ethernet.h>
#include <netinet/in.h>
#include <stdbool.h>
#include <sys/types.h>
#include "_sd-common.h"
@ -49,7 +50,7 @@ int sd_radv_detach_event(sd_radv *nd);
sd_event *sd_radv_get_event(sd_radv *ra);
int sd_radv_start(sd_radv *ra);
int sd_radv_stop(sd_radv *ra);
int sd_radv_stop(sd_radv *ra, bool zero_router_lifetime);
int sd_radv_set_ifindex(sd_radv *ra, int interface_index);
int sd_radv_set_mac(sd_radv *ra, const struct ether_addr *mac_addr);

View File

@ -107,6 +107,7 @@ UseTimezone=
RouteTable=
DenyList=
BlackList=
AllowList=
RequestOptions=
SendRelease=
MaxAttempts=