X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=src%2Fodhcp6c.h;h=2bc289b3d6198f7fae2ab185100b38b0f4ed2827;hb=3dabd4b1c14df34f0a315c3e329d73ba27ac42b5;hp=e51fa33461efbd96cec364021b83f6801df6e94e;hpb=db2915f095db17cb10bf67d5b3bf67f891d45625;p=odhcp6c.git diff --git a/src/odhcp6c.h b/src/odhcp6c.h index e51fa33..2bc289b 100644 --- a/src/odhcp6c.h +++ b/src/odhcp6c.h @@ -31,6 +31,8 @@ #define DHCPV6_REB_MAX_RT 600 #define DHCPV6_INF_MAX_RT 3600 +#define DEFAULT_MIN_UPDATE_INTERVAL 30 + enum dhcvp6_opt { DHCPV6_OPT_CLIENTID = 1, DHCPV6_OPT_SERVERID = 2, @@ -65,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 { @@ -168,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) &&\ @@ -213,6 +228,7 @@ enum odhcp6c_state { STATE_AFTR_NAME, STATE_VENDORCLASS, STATE_USERCLASS, + STATE_CER, _STATE_MAX };