X-Git-Url: https://git.decadent.org.uk/gitweb/?p=odhcp6c.git;a=blobdiff_plain;f=src%2Fodhcp6c.h;h=2bc289b3d6198f7fae2ab185100b38b0f4ed2827;hp=f9a3fec553f137bb579c41b64acd465a6b72b6d1;hb=47fac6f603c236d7b149e0ec593269322572b352;hpb=6c8109e0c77d5a54950ba607d1ec1f83d5efb5b7 diff --git a/src/odhcp6c.h b/src/odhcp6c.h index f9a3fec..2bc289b 100644 --- a/src/odhcp6c.h +++ b/src/odhcp6c.h @@ -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 };