X-Git-Url: https://git.decadent.org.uk/gitweb/?p=odhcp6c.git;a=blobdiff_plain;f=src%2Fodhcp6c.h;h=f2924b061d9d7719aeced09ab7b8aecf3a0c4d00;hp=8abb6311f945ed61b65d39b5b98bfef3eb7464a7;hb=c52296c48abe2025abab03cea98f52a654b92ee2;hpb=76c4797e82ec820d488e41ffe37adc107b5d0218 diff --git a/src/odhcp6c.h b/src/odhcp6c.h index 8abb631..f2924b0 100644 --- a/src/odhcp6c.h +++ b/src/odhcp6c.h @@ -37,12 +37,14 @@ enum dhcvp6_opt { DHCPV6_OPT_CLIENTID = 1, DHCPV6_OPT_SERVERID = 2, DHCPV6_OPT_IA_NA = 3, + DHCPV6_OPT_IA_TA = 4, DHCPV6_OPT_IA_ADDR = 5, DHCPV6_OPT_ORO = 6, DHCPV6_OPT_PREF = 7, DHCPV6_OPT_ELAPSED = 8, DHCPV6_OPT_RELAY_MSG = 9, DHCPV6_OPT_AUTH = 11, + DHCPV6_OPT_UNICAST = 12, DHCPV6_OPT_STATUS = 13, DHCPV6_OPT_RAPID_COMMIT = 14, DHCPV6_OPT_USER_CLASS = 15, @@ -71,17 +73,15 @@ enum dhcvp6_opt { /* draft-donley-dhc-cer-id-option-03 */ DHCPV6_OPT_CER_ID = EXT_CER_ID, #endif -#ifdef EXT_S46 - /* draft-ietf-softwire-map-dhcp-07 */ - DHCPV6_OPT_S46_RULE = EXT_S46, - DHCPV6_OPT_S46_BR = EXT_S46 + 1, - DHCPV6_OPT_S46_DMR = EXT_S46 + 2, - DHCPV6_OPT_S46_V4V6BIND = EXT_S46 + 3, - DHCPV6_OPT_S46_PORTPARAMS = EXT_S46 + 4, - DHCPV6_OPT_S46_CONT_MAPE = EXT_S46 + 5, - DHCPV6_OPT_S46_CONT_MAPT = EXT_S46 + 6, - DHCPV6_OPT_S46_CONT_LW = EXT_S46 + 7, -#endif + /* draft-ietf-softwire-map-dhcp-08 */ + DHCPV6_OPT_S46_RULE = 89, + DHCPV6_OPT_S46_BR = 90, + DHCPV6_OPT_S46_DMR = 91, + DHCPV6_OPT_S46_V4V6BIND = 92, + DHCPV6_OPT_S46_PORTPARAMS = 93, + DHCPV6_OPT_S46_CONT_MAPE = 94, + DHCPV6_OPT_S46_CONT_MAPT = 95, + DHCPV6_OPT_S46_CONT_LW = 96, }; enum dhcpv6_opt_npt { @@ -123,7 +123,7 @@ enum dhcpv6_config { }; typedef int(reply_handler)(enum dhcpv6_msg orig, const int rc, - const void *opt, const void *end); + const void *opt, const void *end, const struct sockaddr_in6 *from); // retransmission strategy struct dhcpv6_retx { @@ -246,6 +246,7 @@ enum odhcp6c_state { STATE_CLIENT_ID, STATE_SERVER_ID, STATE_SERVER_CAND, + STATE_SERVER_ADDR, STATE_ORO, STATE_DNS, STATE_SEARCH, @@ -268,6 +269,7 @@ enum odhcp6c_state { STATE_S46_MAPT, STATE_S46_MAPE, STATE_S46_LW, + STATE_PASSTHRU, _STATE_MAX }; @@ -323,7 +325,6 @@ int set_rtnetlink_addr(int ifindex, const struct in6_addr *addr, int script_init(const char *path, const char *ifname); ssize_t script_unhexlify(uint8_t *dst, size_t len, const char *src); void script_call(const char *status); -void script_delay_call(const char *status, int timeout); bool odhcp6c_signal_process(void); uint64_t odhcp6c_get_milli_time(void);