]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: register callback for dhcp server (#18146)
authorLuka Kudra <32751380+lukakudra@users.noreply.github.com>
Sun, 10 Jan 2021 05:36:07 +0000 (06:36 +0100)
committerGitHub <noreply@github.com>
Sun, 10 Jan 2021 05:36:07 +0000 (14:36 +0900)
Setting dhcp_server_callback is needed in order to get an event when dhcp
leases change.

The callback was introduced by 38ee31a6e4ceb0381ed838340929aae2b5634c3e,
but never used.

src/network/networkd-dhcp-server.c

index cf279c640dc75cef0f045149de749236d39ffd18..9a9f1eabe53c7fffbeef09dcc9273584fe1f9142 100644 (file)
@@ -10,6 +10,7 @@
 #include "fileio.h"
 #include "networkd-address.h"
 #include "networkd-dhcp-server.h"
+#include "networkd-dhcp-server-bus.h"
 #include "networkd-link.h"
 #include "networkd-manager.h"
 #include "networkd-network.h"
@@ -271,6 +272,10 @@ int dhcp4_server_configure(Link *link) {
                         return r;
         }
 
+        r = sd_dhcp_server_set_callback(link->dhcp_server, dhcp_server_callback, link);
+        if (r < 0)
+                return log_link_warning_errno(link, r, "Failed to set callback for DHCPv4 server instance: %m");
+
         address = link_find_dhcp_server_address(link);
         if (!address)
                 return log_link_error_errno(link, SYNTHETIC_ERRNO(EBUSY),