]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/network/networkd.h
DHCP DUID, IAID configuration options
[thirdparty/systemd.git] / src / network / networkd.h
index 6c5a9939beca50b987ba7e4455723b7a1076bf98..72a2438ac8db5d5f88fffe2c71448f3dffb30d80 100644 (file)
@@ -1,4 +1,4 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+#pragma once
 
 /***
   This file is part of systemd.
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#pragma once
-
 #include <arpa/inet.h>
 
+#include "sd-bus.h"
 #include "sd-event.h"
 #include "sd-netlink.h"
-#include "sd-bus.h"
-#include "udev.h"
 
 #include "hashmap.h"
 #include "list.h"
+#include "udev.h"
 
 typedef struct Manager Manager;
 
-#include "networkd-network.h"
+#include "dhcp-identifier.h"
 #include "networkd-address-pool.h"
 #include "networkd-link.h"
+#include "networkd-network.h"
 #include "networkd-util.h"
 
 struct Manager {
@@ -63,6 +62,13 @@ struct Manager {
         LIST_HEAD(AddressPool, address_pools);
 
         usec_t network_dirs_ts_usec;
+
+        /* Value of Type in [DUID] section */
+        DUIDType duid_type;
+        /* DUID type code - RFC 3315 */
+        uint16_t dhcp_duid_type;
+        size_t dhcp_duid_len;
+        uint8_t dhcp_duid[MAX_DUID_LEN];
 };
 
 extern const char* const network_dirs[];
@@ -82,8 +88,10 @@ bool manager_should_reload(Manager *m);
 
 int manager_rtnl_enumerate_links(Manager *m);
 int manager_rtnl_enumerate_addresses(Manager *m);
+int manager_rtnl_enumerate_routes(Manager *m);
 
 int manager_rtnl_process_address(sd_netlink *nl, sd_netlink_message *message, void *userdata);
+int manager_rtnl_process_route(sd_netlink *nl, sd_netlink_message *message, void *userdata);
 
 int manager_send_changed(Manager *m, const char *property, ...) _sentinel_;
 void manager_dirty(Manager *m);