module DHCPv6; export { const message_types = { [1] = "SOLICIT", [2] = "ADVERTISE", [3] = "REQUEST", [4] = "CONFIRM", [5] = "RENEW", [6] = "REBIND", [7] = "REPLY", [8] = "RELEASE", [9] = "DECLINE", [10] = "RECONFIGURE", [11] = "INFORMATION_REQUEST", } &default = function(n: count): string { return fmt("unk-%d", n); }; ## DUID types const duid_types = { [1] = "LLT", [2] = "EN", [3] = "LL", [4] = "UUID", } &default = function(n: count): string { return fmt("unk-%d", n); }; ## Status codes # Full list https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-5 const status_codes = { [0] = "Success", [1] = "UnspecFail", [2] = "NoAddrsAvail", [3] = "NoBinding", [4] = "NotOnLink", [5] = "UseMulticast", [6] = "NoPrefixAvail", [7] = "UnknownQueryType", [8] = "MalformedQuery", [9] = "NotConfigured", [10] = "NotAllowed", [11] = "QueryTerminated", [12] = "DataMissing", [13] = "CatchUpComplete", [14] = "NotSupported", [15] = "TLSConnectionRefused", [16] = "AddressInUse", [17] = "ConfigurationConflict", [18] = "MissingBindingInformation", [19] = "OutdatedBindingInformation", [20] = "ServerShuttingDown", [21] = "DNSUpdateNotSupported", [22] = "ExcessiveTimeSkew", } &default = function(n: count): string { return fmt("unk-%d", n); }; ## Option types mapped to their names. const option_types = { [0] = "Reserved", [1] = "CLIENTID", [2] = "SERVERID", [3] = "IA_NA", [4] = "IA_TA", [5] = "IAADDR", [6] = "ORO", [7] = "PREFERENCE", [8] = "ELAPSED_TIME", [9] = "RELAY_MSG", [10] = "Unassigned", [11] = "AUTH", [12] = "UNICAST", [13] = "STATUS_CODE", [14] = "RAPID_COMMIT", [15] = "USER_CLASS", [16] = "VENDOR_CLASS", [17] = "VENDOR_OPTS", [18] = "INTERFACE_ID", [19] = "RECONF_MSG", [20] = "RECONF_ACCEPT", [21] = "SIP_SERVER_D", [22] = "SIP_SERVER_A", [23] = "DNS_SERVERS", [24] = "DOMAIN_LIST", [25] = "IA_PD", [26] = "IAPREFIX", [27] = "NIS_SERVERS", [28] = "NISP_SERVERS", [29] = "NIS_DOMAIN_NAME", [30] = "NISP_DOMAIN_NAME", [31] = "SNTP_SERVERS", [32] = "INFORMATION_REFRESH_TIME", [33] = "BCMCS_SERVER_D", [34] = "BCMCS_SERVER_A", [35] = "Unassigned", [36] = "GEOCONF_CIVIC", [37] = "REMOTE_ID", [38] = "SUBSCRIBER_ID", [39] = "CLIENT_FQDN", [40] = "PANA_AGENT", [41] = "NEW_POSIX_TIMEZONE", [42] = "NEW_TZDB_TIMEZONE", [43] = "ERO", [44] = "LQ_QUERY", [45] = "CLIENT_DATA", [46] = "CLT_TIME", [47] = "LQ_RELAY_DATA", [48] = "LQ_CLIENT_LINK", [49] = "MIP6_HNIDF", [50] = "MIP6_VDINF", [51] = "V6_LOST", [52] = "CAPWAP_AC_V6", [53] = "RELAY_ID", [54] = "IPv6_Address-MoS", [55] = "IPv6_FQDN-MoS", [56] = "NTP_SERVER", [57] = "V6_ACCESS_DOMAIN", [58] = "SIP_UA_CS_LIST", [59] = "OPT_BOOTFILE_URL", [60] = "OPT_BOOTFILE_PARAM", [61] = "CLIENT_ARCH_TYPE", [62] = "NII", [63] = "GEOLOCATION", [64] = "AFTR_NAME", [65] = "ERP_LOCAL_DOMAIN_NAME", [66] = "RSOO", [67] = "PD_EXCLUDE", [68] = "VSS", [69] = "MIP6_IDINF", [70] = "MIP6_UDINF", [71] = "MIP6_HNP", [72] = "MIP6_HAA", [73] = "MIP6_HAF", [74] = "RDNSS_SELECTION", [75] = "KRB_PRINCIPAL_NAME", [76] = "KRB_REALM_NAME", [77] = "KRB_DEFAULT_REALM_NAME", [78] = "KRB_KDC", [79] = "CLIENT_LINKLAYER_ADDR", [80] = "LINK_ADDRESS", [81] = "RADIUS", [82] = "SOL_MAX_RT", [83] = "INF_MAX_RT", [84] = "ADDRSEL", [85] = "ADDRSEL_TABLE", [86] = "V6_PCP_SERVER", [87] = "DHCPV4_MSG", [88] = "DHCP4_O_DHCP6_SERVER", [89] = "S46_RULE", [90] = "S46_BR", [91] = "S46_DMR", [92] = "S46_V4V6BIND", [93] = "S46_PORTPARAMS", [94] = "S46_CONT_MAPE", [95] = "S46_CONT_MAPT", [96] = "S46_CONT_LW", [97] = "4RD", [98] = "4RD_MAP_RULE", [99] = "4RD_NON_MAP_RULE", [100] = "LQ_BASE_TIME", [101] = "LQ_START_TIME", [102] = "LQ_END_TIME", [103] = "DHCP_Captive_Portal", [104] = "MPL_PARAMETERS", [105] = "ANI_ATT", [106] = "ANI_NETWORK_NAME", [107] = "ANI_AP_NAME", [108] = "ANI_AP_BSSID", [109] = "ANI_OPERATOR_ID", [110] = "ANI_OPERATOR_REALM", [111] = "S46_PRIORITY", [112] = "MUD_URL_V6", [113] = "V6_PREFIX64", [114] = "F_BINDING_STATUS", [115] = "F_CONNECT_FLAGS", [116] = "F_DNS_REMOVAL_INFO", [117] = "F_DNS_HOST_NAME", [118] = "F_DNS_ZONE_NAME", [119] = "F_DNS_FLAGS", [120] = "F_EXPIRATION_TIME", [121] = "F_MAX_UNACKED_BNDUPD", [122] = "F_MCLT", [123] = "F_PARTNER_LIFETIME", [124] = "F_PARTNER_LIFETIME_SENT", [125] = "F_PARTNER_DOWN_TIME", [126] = "F_PARTNER_RAW_CLT_TIME", [127] = "F_PROTOCOL_VERSION", [128] = "F_KEEPALIVE_TIME", [129] = "F_RECONFIGURE_DATA", [130] = "F_RELATIONSHIP_NAME", [131] = "F_SERVER_FLAGS", [132] = "F_SERVER_STATE", [133] = "F_START_TIME_OF_STATE", [134] = "F_STATE_EXPIRATION_TIME", [135] = "RELAY_PORT", [136] = "V6_SZTP_REDIRECT", [137] = "S46_BIND_IPV6_PREFIX", [138] = "IA_LL", [139] = "LLADDR", [140] = "SLAP_QUAD", [141] = "V6_DOTS_RI", [142] = "V6_DOTS_ADDRESS", [143] = "IPv6_Address-ANDSF", [144] = "V6_DNR", [145] = "REGISTERED_DOMAIN", [146] = "FORWARD_DIST_MANAGER", [147] = "REVERSE_DIST_MANAGER", [148] = "ADDR_REG_ENABLE", } &default = function(n: count): string { return fmt("unk-%d", n); }; }