]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network/can: properly handle CAN.RestartSec=0
authorRyan Blue <ryanzblue@gmail.com>
Fri, 13 Jun 2025 05:36:47 +0000 (01:36 -0400)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 13 Jun 2025 14:37:36 +0000 (23:37 +0900)
Previously, 0 was ignored and restart-ms wouldn't get added to the
netlink message. Instead, set the attribute unconditionally.

src/network/networkd-can.c

index 3cb4ed1100d2234a6766d15ae92d723235333a5b..96f503ca3a04d3c024a214e9cbc87e0f6441df5d 100644 (file)
@@ -89,19 +89,17 @@ int can_set_netlink_message(Link *link, sd_netlink_message *m) {
                         return r;
         }
 
-        if (link->network->can_restart_us > 0) {
-                uint64_t restart_ms;
+        uint64_t restart_ms;
 
-                if (link->network->can_restart_us == USEC_INFINITY)
-                        restart_ms = 0;
-                else
-                        restart_ms = DIV_ROUND_UP(link->network->can_restart_us, USEC_PER_MSEC);
+        if (link->network->can_restart_us == USEC_INFINITY)
+                restart_ms = 0;
+        else
+                restart_ms = DIV_ROUND_UP(link->network->can_restart_us, USEC_PER_MSEC);
 
-                log_link_debug(link, "Setting restart = %s", FORMAT_TIMESPAN(restart_ms * 1000, MSEC_PER_SEC));
-                r = sd_netlink_message_append_u32(m, IFLA_CAN_RESTART_MS, restart_ms);
-                if (r < 0)
-                        return r;
-        }
+        log_link_debug(link, "Setting restart = %s", FORMAT_TIMESPAN(restart_ms * 1000, MSEC_PER_SEC));
+        r = sd_netlink_message_append_u32(m, IFLA_CAN_RESTART_MS, restart_ms);
+        if (r < 0)
+                return r;
 
         if (link->network->can_control_mode_mask != 0) {
                 struct can_ctrlmode cm = {