X-Git-Url: https://git.decadent.org.uk/gitweb/?p=odhcp6c.git;a=blobdiff_plain;f=src%2Fodhcp6c.h;h=2bc289b3d6198f7fae2ab185100b38b0f4ed2827;hp=285f6b10d2e1d3da5d6644fdc69f02bfcde89f33;hb=47fac6f603c236d7b149e0ec593269322572b352;hpb=6fde63d392fcb57418eafd4916726bd8c5393914 diff --git a/src/odhcp6c.h b/src/odhcp6c.h index 285f6b1..2bc289b 100644 --- a/src/odhcp6c.h +++ b/src/odhcp6c.h @@ -31,7 +31,7 @@ #define DHCPV6_REB_MAX_RT 600 #define DHCPV6_INF_MAX_RT 3600 -#define DEFAULT_MIN_UPDATE_INTERVAL 60 +#define DEFAULT_MIN_UPDATE_INTERVAL 30 enum dhcvp6_opt { DHCPV6_OPT_CLIENTID = 1, @@ -67,6 +67,10 @@ enum dhcvp6_opt { /* draft-bhandari-dhc-class-based-prefix, not yet standardized */ DHCPV6_OPT_PREFIX_CLASS = EXT_PREFIX_CLASS, #endif +#ifdef EXT_CER_ID + /* draft-donley-dhc-cer-id-option-03 */ + DHCPV6_OPT_CER_ID = EXT_CER_ID, +#endif }; enum dhcpv6_opt_npt { @@ -170,6 +174,15 @@ struct dhcpv6_auth_reconfigure { uint8_t key[16]; } _packed; +struct dhcpv6_cer_id { + uint16_t type; + uint16_t len; + uint16_t reserved; + uint16_t auth_type; + uint8_t auth[16]; + struct in6_addr addr; +} _packed; + #define dhcpv6_for_each_option(start, end, otype, olen, odata)\ for (uint8_t *_o = (uint8_t*)(start); _o + 4 <= (uint8_t*)(end) &&\ @@ -215,6 +228,7 @@ enum odhcp6c_state { STATE_AFTR_NAME, STATE_VENDORCLASS, STATE_USERCLASS, + STATE_CER, _STATE_MAX };