]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: increase receive buffer size for device monitor
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 8 Sep 2020 14:28:22 +0000 (23:28 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 8 Sep 2020 21:39:05 +0000 (06:39 +0900)
If networkd creates huge amount of netdevs, then the buffer of device
monitor becomes easily flowed.

Hopefully fixes #16865.

src/network/networkd-manager.c

index bb1df8cca60007eb47ee3da164253205a870b917..344fc08c5b62733b800c17917898aef4369e3f7d 100644 (file)
@@ -270,6 +270,10 @@ static int manager_connect_udev(Manager *m) {
         if (r < 0)
                 return log_error_errno(r, "Failed to initialize device monitor: %m");
 
+        r = sd_device_monitor_set_receive_buffer_size(m->device_monitor, RCVBUF_SIZE);
+        if (r < 0)
+                log_warning_errno(r, "Failed to increase buffer size for device monitor, ignoring: %m");
+
         r = sd_device_monitor_filter_add_match_subsystem_devtype(m->device_monitor, "net", NULL);
         if (r < 0)
                 return log_error_errno(r, "Could not add device monitor filter: %m");