Managed PD: initial support
[project/odhcpd.git] / src / dhcpv6.h
index 9b38283..936a350 100644 (file)
@@ -13,6 +13,8 @@
  */
 #pragma once
 
+#include <libubox/ustream.h>
+
 #define ALL_DHCPV6_RELAYS {{{0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
                0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02}}}
 
@@ -54,6 +56,7 @@
 #define DHCPV6_OPT_IA_PREFIX 26
 #define DHCPV6_OPT_INFO_REFRESH 32
 #define DHCPV6_OPT_FQDN 39
+#define DHCPV6_OPT_SOL_MAX_RT 82
 
 #ifdef EXT_PREFIX_CLASS
 /* draft-bhandari-dhc-class-based-prefix, not yet standardized */
@@ -152,6 +155,11 @@ struct dhcpv6_assignment {
        uint8_t mac[6];
        uint8_t length; // length == 128 -> IA_NA, length <= 64 -> IA_PD
        bool accept_reconf;
+
+       struct odhcpd_ipaddr *managed;
+       ssize_t managed_size;
+       struct ustream_fd managed_sock;
+
        uint8_t clid_len;
        uint8_t clid_data[];
 };