Yu Watanabe
7afc8abdf3
Merge pull request #19487 from mrc0mmand/test-all-services-in-TEST-01
...
test: don't mask "supporting" services in TEST-01-BASIC
2021-05-03 12:15:29 +09:00
Yu Watanabe
0c9cdcb9d4
Merge pull request #19476 from yuwata/network-can
...
network: several CAN device related updates
2021-05-01 15:03:22 +09:00
Yu Watanabe
bff97a251d
Merge pull request #18904 from yuwata/udev-watch
...
udev: several inotify watch fixups
2021-05-01 15:02:43 +09:00
Yu Watanabe
c068a17f6a
sd-bus: fix vtable named argument logic
...
Fixes #19468 .
2021-04-30 17:06:29 +01:00
Yu Watanabe
b43669a4b1
test: add a simple test for udev watch
2021-04-30 19:42:09 +09:00
Yu Watanabe
e63916ab29
test: generate debugging logs for udev tests
2021-04-30 19:42:09 +09:00
Yu Watanabe
e1e56f3443
test: run udev tests after currently queued events are finished
2021-04-30 19:42:09 +09:00
Yu Watanabe
e7f781e473
udev,sd_device: also save map from device ID to watch handle in /run/udev/watch
...
Previously, watch handle is saved in the udev databse. But in most cases,
the handle saved in the database is not updated. Especially, when udevd
is restarted, the inotify watch is restarted, but the database is not
updated.
Moreover, it is not necessary to save watch handle in the database, as
the handle is only take a effect during udevd is running, and the value
is meaningless when udevd is restarted.
So, this makes the opposite map from device ID to watch handle is saved
in /run/udev/watch as a symbolic link, and the handle not saved in the
database anymore.
Fixes #18525 .
2021-04-30 19:41:41 +09:00
Yu Watanabe
5e0d051067
udev: make udev_watch_end() noop when device does not have devname
2021-04-30 19:32:14 +09:00
Yu Watanabe
4956f220a1
sd-device: cleanup sd_device_get_subsystem()
2021-04-30 19:32:10 +09:00
Yu Watanabe
6e25642f8e
sd-device: drop sysname_set flag
...
When device_set_sysname() succeeds, sysname is always set.
2021-04-30 19:21:18 +09:00
Yu Watanabe
ff7a8d2938
sd-device: minor optimization for sd_device_new_from_device_id()
2021-04-30 19:21:18 +09:00
Yu Watanabe
db2bad4368
sd-device: check the validity of device id
...
The device id is used as filename under /run/udev/data or
/run/udev/watch.
2021-04-30 19:21:18 +09:00
Yu Watanabe
fe7323815d
sd-device: rename device_get_id_filename() -> device_get_device_id()
...
We have sd_device_new_from_device_id(), which takes device ID generated
from device_get_id_filename(). For consistency, let's rename the
function.
2021-04-30 19:21:18 +09:00
Yu Watanabe
0d77bc4a18
udev: refuse to enable inotify watch on remove event
...
Some udev rule may erroneously set inotify watch on remove event.
For safety, silently ignore such an inotify watch enablement.
This also moves inotify watch enablement code to udev-event.c.
2021-04-30 19:21:18 +09:00
Yu Watanabe
4cac2260c8
udev: also propagate error in udev_rules_apply_to_event() on remove event
...
When udev rules are not applied correctly, then run program lists is
not perfect. So, udev_event_execute_run() later in
worker_process_device() should not be called.
2021-04-30 19:21:18 +09:00
Yu Watanabe
75b4984638
udev: shorten code a bit
2021-04-30 19:21:18 +09:00
Yu Watanabe
fa5d8899aa
udev: drop unused variable
2021-04-30 19:21:18 +09:00
Yu Watanabe
99e0c96f31
sd-device: drop doubled empty lines
2021-04-30 19:21:18 +09:00
Yu Watanabe
df7ee95913
udev: do not store inotify fd in a global variable
...
When manager_exit() or manager_free() is called, the global variable in
udev-watch.c is not set '-1'. Of course, that is safe, as the event source
for the inotify fd is unref()ed in manager_exit() and manager_free().
But let's not store fd globally.
2021-04-30 19:21:18 +09:00
Yu Watanabe
36161cba7c
network: do not bring up CAN interface on configure
2021-04-30 19:16:15 +09:00
Yu Watanabe
d9fc3b0da9
network: make CAN device follow activation policy
2021-04-30 19:16:15 +09:00
Yu Watanabe
04952b25e8
network: introduce link_activate()
2021-04-30 19:16:15 +09:00
Yu Watanabe
600b7898e8
network: do not try to configure address or etc on can device
2021-04-30 19:16:02 +09:00
Yu Watanabe
e361398e48
network: can: shorten code a bit
2021-04-30 19:11:25 +09:00
Yu Watanabe
ed52cce33f
network: can: do not warn if link does not exist anymore
2021-04-30 19:11:25 +09:00
Yu Watanabe
f282ce20aa
network: drop duplicated link_up_can()
2021-04-30 19:11:25 +09:00
Yu Watanabe
4bd7e99232
test-network: set DNS= and NTP= for DHCP server
...
Now, RoutesToDNS= and RoutesToNTP= are enabled by default on DHCPv4
client. So, if DHCP server picks up DNS or NTP servers from uplink,
then the routes may break CI environment.
Hopefully fixes #19463 .
2021-04-30 10:57:17 +02:00
Yu Watanabe
2ff739a6ac
kernel-insteall: do not remove the first slash in $ENTRY_DIR
...
Follow-up for cd0d230e7b .
Fixes #19456 .
2021-04-30 15:37:34 +09:00
Yu Watanabe
65a245c3ef
Merge pull request #19459 from yuwata/network-log-neighbor
...
network: introduce log_neighbor_debug()
2021-04-30 15:36:29 +09:00
Yu Watanabe
5aa87ec7ec
network: neighbor: use sd_netlink_message_read_data() at one more place
2021-04-30 05:44:58 +09:00
Yu Watanabe
2775e1c578
network: introduce log_neighbor_debug()
2021-04-30 05:44:14 +09:00
Yu Watanabe
7653a9dcd3
network: reduce indentation in log_address_debug() or friends
2021-04-30 05:43:22 +09:00
Yu Watanabe
ae8e3c2b25
ether-addr-util: introduce ether_addr_to_string_alloc()
2021-04-30 05:39:10 +09:00
Yu Watanabe
3c7f1c0757
network: do not set nexthop ID, gateway, and multipath routes simultaneously
...
See kernel's rtm_to_fib_config() in net/ipv4/fib_frontend.c and
rtm_to_fib6_config() in net/ipv6/route.c.
Note that if both gateway and multipath routes are specified, then
kernel ignores gateway. So, strictly speaking, setting both gateway and
multipath routes is allowed by kernel. But such situation is mostly
user's misconfiguration. Let's refuse it.
Note that the conditions newly added in route_configure() are redundant,
as all static configurations are already verified in
route_section_verify(), and dynamic configurations do not set
nexthop_id or multipath routes. Just for safety.
2021-04-29 22:54:40 +09:00
Yu Watanabe
8a9ce525d1
network: do not remove reject type routes more than once
...
Usually, removing non-existing addresses, routes, and etc, are safe.
However, when multiple interfaces lost their carriers simultaneously,
then manager_drop_routes() and manager_drop_nexthop() are called multiple
times. If a route with a blackhole nexthop is removed in that process,
the later removal requests of the route fail with -EINVAL, rathar
than -ESRCH, as the corresponding nexthop does not exist anymore.
So, let's not remove routes which managed by Manager more than once.
2021-04-29 09:11:36 +09:00
Yu Watanabe
c3fa1257da
network: do not set route type on specific route removal
2021-04-29 09:08:55 +09:00
Yu Watanabe
fd221544f2
network: unify log_link_message_full_errno() and log_message_warning_errno()
...
This also introduces log_message_error_errno() or friends.
2021-04-29 09:07:42 +09:00
Yu Watanabe
e558d4f47a
network: dhcp4: downgrade log level when interface is removed
2021-04-29 08:58:13 +09:00
Yu Watanabe
4cbd379e01
network: drop meaningless bitfield specifiers
2021-04-29 08:58:13 +09:00
Yu Watanabe
bf8a5f6473
Merge pull request #19449 from yuwata/network-downgrade-log-level
...
network: downgrade log level and fix typo
2021-04-29 08:54:08 +09:00
Yu Watanabe
086a351ad9
network: ndisc: fix ipv6 route preference for routes with Gateway=_ipv6ra
2021-04-29 08:50:54 +09:00
Yu Watanabe
27a213392f
network: neighbor: downgrade log level
...
As commented in the code, kernel sends messages about neighbors after
a link is removed.
2021-04-29 03:16:30 +09:00
Yu Watanabe
83e7c37b19
network: link: downgrade log level
...
The error is harmless, and will be ignored. Let's downgrade log level.
2021-04-29 03:16:30 +09:00
Yu Watanabe
dec2ed3e75
network: dhcp4: downgrade log level
...
It is not necessary to log such information on higher level.
2021-04-29 03:12:29 +09:00
Yu Watanabe
e110d0f0f6
systemctl: fix build failure
...
Follow-up for 255b1fc8a3 .
2021-04-29 03:03:55 +09:00
Yu Watanabe
255b1fc8a3
bus-print-property: introduce BusPrintPropertyFlags
...
Follow-ups for 1ceaad6937 .
2021-04-28 17:36:09 +02:00
Yu Watanabe
e1220a70de
test-network: add tests for RoutesToNTP=
2021-04-27 00:01:18 +09:00
Yu Watanabe
d7b0450639
network: dhcp4: introduce RoutesToNTP= boolean setting
2021-04-27 00:01:18 +09:00
Yu Watanabe
949b2c95c9
network: dhcp4: split and rename link_set_dns_routes()
2021-04-27 00:01:18 +09:00
Yu Watanabe
7057030610
network: dhcp4: enable RoutesToDNS= by default
2021-04-27 00:01:18 +09:00
Yu Watanabe
0e27527170
network: update comment and log message
...
After 4b30f2e135 , reading stable_secret
sysctl property fails with -ENOMEM, instead of -EIO.
This is due to read_full_virtual_file() uses read() as the backend while
read_one_line_file() uses fgetc(). And each functions return different
error on fails.
Anyway, the failure is harmless here. So, the log message and comment is
updated.
Closes one of the issues in #19410 .
2021-04-26 10:08:41 +01:00
Yu Watanabe
25054e1bfb
network: add missing sections
...
Follow-up for 4e26a5baa0 .
Fixes one of issues in #19410 .
2021-04-26 10:07:52 +02:00
Yu Watanabe
8170992a79
core/service: fix typo
...
Follow-up for bbe19f6884 .
2021-04-26 09:20:30 +09:00
Yu Watanabe
cead8ed66e
network: fix typo
...
Follow-up for 4b409e855b .
2021-04-26 09:19:41 +09:00
Yu Watanabe
625772c9c1
test-network: update tests for DHCP routes
...
This removes static-route option from the default dnsmasq command.
2021-04-23 08:49:29 +09:00
Yu Watanabe
3e42968342
network: dhcp4: ignore null dns address
2021-04-23 08:49:29 +09:00
Yu Watanabe
afe23f876e
network: dhcp4: set gateway for route to DNS server if it is not in the same network
...
Fixes #19077 .
2021-04-23 08:49:29 +09:00
Yu Watanabe
7f206276ad
network: dhcp4: ignore gateway in static routes if destination is link-local or in the same network
...
This also configures routes to gateways in static routes if the
destination is not in the same network.
2021-04-23 08:49:29 +09:00
Yu Watanabe
b714d9a6e3
network: dhcp4: also set route MTU to prefix route and DNS routes
2021-04-23 08:49:29 +09:00
Yu Watanabe
ec39af3249
Merge pull request #19392 from yuwata/network-dhcp-split-link_set_dhcp_routes
...
network: split link_set_dhcp_routes() into smaller functions
2021-04-23 08:32:46 +09:00
Yu Watanabe
e1c08a3d0a
network: dhcp4: simplify link_set_dns_routes()
2021-04-22 12:49:56 +09:00
Yu Watanabe
ff2cf67740
network: dhcp4: introduce link_set_dhcp_gateway() and link_set_dhcp_route_to_gateway()
2021-04-22 12:49:56 +09:00
Yu Watanabe
7872d0f7b6
network: dhcp4: introduce link_set_dhcp_static_routes()
2021-04-22 12:49:56 +09:00
Yu Watanabe
c0fef8f349
network: dhcp4: introduce link_set_dhcp_prefix_route()
2021-04-22 12:49:56 +09:00
Yu Watanabe
28f9667d05
network: dhcp: constify link_get_duid()
2021-04-21 21:00:45 +09:00
Yu Watanabe
8c72f5c077
network: dhcp: introduce duid_needs_product_uuid() helper function
2021-04-21 21:00:45 +09:00
Yu Watanabe
294f129b0d
network: configure non-dhcp configs earlier even DUID-UUID is used by DHCP clients
...
Previously, if DUID-UUID is used, all configurations are configured
after networkd gets product uuid of machine.
This makes only DHCP clients are delayed, and other configs are
configured earlier.
2021-04-21 21:00:45 +09:00
Yu Watanabe
4e26a5baa0
network: make IAID and DUID for DHCPv6 configurable explicitly
...
Closes #18996 .
2021-04-21 21:00:11 +09:00
Yu Watanabe
cde74a65c1
network: move dhcp related conf parsers to networkd-dhcp-common.c
2021-04-21 20:56:58 +09:00
Yu Watanabe
b67bbfef14
Merge pull request #19344 from yuwata/network-route-metric-19028
...
network: add RouteMetric= setting in [Address] and more
2021-04-21 20:51:31 +09:00
Yu Watanabe
ea846e45c1
doc: fix typo
2021-04-21 09:57:30 +02:00
Yu Watanabe
baad6421b1
network: dhcp6: logs about generated addresses in delegated prefix
2021-04-21 14:04:39 +09:00
Yu Watanabe
4b409e855b
network: dhcp6: logs about delegated prefixes
...
Closes #19354 .
2021-04-21 14:04:33 +09:00
Yu Watanabe
eccdc68771
in-addr-util: introduce 'struct in_addr_prefix' and hash ops for it
2021-04-21 13:57:47 +09:00
Yu Watanabe
93e44aa92f
in-addr-util: add assertions
2021-04-21 13:57:47 +09:00
Yu Watanabe
3e726c156b
test-network: update test for RouteMetric=
2021-04-21 13:55:02 +09:00
Yu Watanabe
4c0aae015f
man: update explanation about route metric
2021-04-21 13:55:02 +09:00
Yu Watanabe
b3cde1c3f5
network: set metric for prefix route of IPv4 link-local address
2021-04-21 13:55:02 +09:00
Yu Watanabe
0e1fb1d09a
network: radv: add RouteMetric= setting in [IPv6Prefix]
2021-04-21 13:55:02 +09:00
Yu Watanabe
9fe0b7b493
network: dhcp6-pd: add RouteMetric= setting in [DHCPv6PrefixDelegation]
2021-04-21 13:55:02 +09:00
Yu Watanabe
8ebafba9f9
network: move RouteMetric= from [DHCPv6] to [IPv6AcceptRA]
...
As the value is used in the routes in RA.
2021-04-21 13:55:02 +09:00
Yu Watanabe
415deef9c3
network: dhcp4: also apply RouteMetric= setting in [DHCPv4] to prefix route
2021-04-21 13:55:02 +09:00
Yu Watanabe
c4ff0629dd
network: add RouteMetric= setting in [Address] section
2021-04-21 13:54:59 +09:00
Yu Watanabe
a8d21c91f9
network: show route metric in debug log
2021-04-21 13:42:45 +09:00
Yu Watanabe
0e7bb99ff9
sd-netlink: add missing address types
2021-04-21 13:42:08 +09:00
Yu Watanabe
d5bfddf037
man: fix typo
...
Follow-up for e73309c532 .
2021-04-20 11:41:05 +01:00
Yu Watanabe
66205cb3f5
wifi-util: do not set zero errno to log_debug_errno()
2021-04-20 10:39:50 +02:00
Yu Watanabe
4e6c50a5d4
core: add RestrictAddressFamilies=none to deny all address families
...
Closes #15753 .
2021-04-19 11:47:08 +01:00
Yu Watanabe
6604fb0207
fileio: use take_fdopen_unlocked()
...
This fixes maybe-uninitialized warning:
```
../src/basic/fileio.c: In function ‘chase_symlinks_and_fopen_unlocked’:
../src/basic/fileio.c:1026:19: warning: ‘f’ may be used uninitialized in this function [-Wmaybe-uninitialized]
1026 | *ret_file = f;
| ~~~~~~~~~~^~~
```
2021-04-17 00:22:12 +09:00
Yu Watanabe
b4bc798f87
Merge pull request #19332 from yuwata/log_xxx_yyy_errno-follow-ups-19317
...
core,timedate,network: make log_unit_error_errno() or friends refuse zero errno
2021-04-16 23:44:32 +09:00
Yu Watanabe
4ab334472c
Merge pull request #19325 from sainAk/patch-1
...
hwdb: 60-keyboard:: merge Micro Star in MSI and merge MSI Prestige And MSI Modern FnKeys and Special keys definitions
2021-04-16 20:01:10 +09:00
Yu Watanabe
74bd6ad016
network: update log message
...
In some optimization level with gcc, including netdev->ifname in log
message causes error.
2021-04-16 19:48:54 +09:00
Yu Watanabe
6064344894
network: make log_netdev_xxx_errno() refuse zero errno
2021-04-16 09:17:28 +09:00
Yu Watanabe
5b098203fd
timedate: make log_unit_xxx_errno() refuse zero errno
2021-04-16 08:46:51 +09:00
Yu Watanabe
ac51363496
core: make log_unit_xxx_errno() refuse zero errno
2021-04-16 08:46:11 +09:00
Yu Watanabe
22bbba8444
sd-dhcp-client: introduce sd_dhcp_client_is_running()
2021-04-14 22:31:28 +02:00
Yu Watanabe
6fb61918cc
udev: ignore additional newline in sysfs attribute on verify
...
Some driver may automatically add additional newline at the end.
E.g., portno attribute for qeth driver.
Fixes #19314 .
2021-04-15 01:46:58 +09:00
Yu Watanabe
6873d20392
fileio: introduce a new flag to make write_string_file() ignore trailing newline
...
When writing a sysfs attribute, kernel may automatically append newline
at the end, e.g., 'portno' attribute for qeth driver.
2021-04-15 01:40:52 +09:00
Yu Watanabe
f11bee0cb9
wait-online: update debug log messages
2021-04-14 22:17:44 +09:00