00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #define D6O_CLIENTID 1
00032 #define D6O_SERVERID 2
00033 #define D6O_IA_NA 3
00034 #define D6O_IA_TA 4
00035 #define D6O_IAADDR 5
00036 #define D6O_ORO 6
00037 #define D6O_PREFERENCE 7
00038 #define D6O_ELAPSED_TIME 8
00039 #define D6O_RELAY_MSG 9
00040
00041 #define D6O_AUTH 11
00042 #define D6O_UNICAST 12
00043 #define D6O_STATUS_CODE 13
00044 #define D6O_RAPID_COMMIT 14
00045 #define D6O_USER_CLASS 15
00046 #define D6O_VENDOR_CLASS 16
00047 #define D6O_VENDOR_OPTS 17
00048 #define D6O_INTERFACE_ID 18
00049 #define D6O_RECONF_MSG 19
00050 #define D6O_RECONF_ACCEPT 20
00051 #define D6O_SIP_SERVERS_DNS 21
00052 #define D6O_SIP_SERVERS_ADDR 22
00053 #define D6O_NAME_SERVERS 23
00054 #define D6O_DOMAIN_SEARCH 24
00055 #define D6O_IA_PD 25
00056 #define D6O_IAPREFIX 26
00057 #define D6O_NIS_SERVERS 27
00058 #define D6O_NISP_SERVERS 28
00059 #define D6O_NIS_DOMAIN_NAME 29
00060 #define D6O_NISP_DOMAIN_NAME 30
00061 #define D6O_SNTP_SERVERS 31
00062 #define D6O_INFORMATION_REFRESH_TIME 32
00063 #define D6O_BCMCS_SERVER_D 33
00064 #define D6O_BCMCS_SERVER_A 34
00065
00066 #define D6O_GEOCONF_CIVIC 36
00067 #define D6O_REMOTE_ID 37
00068 #define D6O_SUBSCRIBER_ID 38
00069 #define D6O_CLIENT_FQDN 39
00070 #define D6O_PANA_AGENT 40
00071 #define D6O_NEW_POSIX_TIMEZONE 41
00072 #define D6O_NEW_TZDB_TIMEZONE 42
00073 #define D6O_ERO 43
00074 #define D6O_LQ_QUERY 44
00075 #define D6O_CLIENT_DATA 45
00076 #define D6O_CLT_TIME 46
00077 #define D6O_LQ_RELAY_DATA 47
00078 #define D6O_LQ_CLIENT_LINK 48
00079
00080
00081
00082
00083 #define STATUS_Success 0
00084 #define STATUS_UnspecFail 1
00085 #define STATUS_NoAddrsAvail 2
00086 #define STATUS_NoBinding 3
00087 #define STATUS_NotOnLink 4
00088 #define STATUS_UseMulticast 5
00089 #define STATUS_NoPrefixAvail 6
00090 #define STATUS_UnknownQueryType 7
00091 #define STATUS_MalformedQuery 8
00092 #define STATUS_NotConfigured 9
00093 #define STATUS_NotAllowed 10
00094
00095
00096
00097
00098 #define DHCPV6_SOLICIT 1
00099 #define DHCPV6_ADVERTISE 2
00100 #define DHCPV6_REQUEST 3
00101 #define DHCPV6_CONFIRM 4
00102 #define DHCPV6_RENEW 5
00103 #define DHCPV6_REBIND 6
00104 #define DHCPV6_REPLY 7
00105 #define DHCPV6_RELEASE 8
00106 #define DHCPV6_DECLINE 9
00107 #define DHCPV6_RECONFIGURE 10
00108 #define DHCPV6_INFORMATION_REQUEST 11
00109 #define DHCPV6_RELAY_FORW 12
00110 #define DHCPV6_RELAY_REPL 13
00111 #define DHCPV6_LEASEQUERY 14
00112 #define DHCPV6_LEASEQUERY_REPLY 15
00113
00114 extern const char *dhcpv6_type_names[];
00115 extern const int dhcpv6_type_name_max;
00116
00117
00118
00119 #define DUID_LLT 1
00120 #define DUID_EN 2
00121 #define DUID_LL 3
00122
00123
00124 #define IA_NA_OFFSET 12
00125 #define IA_TA_OFFSET 4
00126 #define IA_PD_OFFSET 12
00127
00128
00129 #define IAADDR_OFFSET 24
00130
00131
00132 #define IAPREFIX_OFFSET 25
00133
00134
00135 #define LQ_QUERY_OFFSET 17
00136
00137
00138
00139
00140 #define All_DHCP_Relay_Agents_and_Servers "FF02::1:2"
00141 #define All_DHCP_Servers "FF05::1:3"
00142
00143
00144
00145
00146
00147 #define SOL_MAX_DELAY 1
00148 #define SOL_TIMEOUT 1
00149 #define SOL_MAX_RT 120
00150 #define REQ_TIMEOUT 1
00151 #define REQ_MAX_RT 30
00152 #define REQ_MAX_RC 10
00153 #define CNF_MAX_DELAY 1
00154 #define CNF_TIMEOUT 1
00155 #define CNF_MAX_RT 4
00156 #define CNF_MAX_RD 10
00157 #define REN_TIMEOUT 10
00158 #define REN_MAX_RT 600
00159 #define REB_TIMEOUT 10
00160 #define REB_MAX_RT 600
00161 #define INF_MAX_DELAY 1
00162 #define INF_TIMEOUT 1
00163 #define INF_MAX_RT 120
00164 #define REL_TIMEOUT 1
00165 #define REL_MAX_RC 5
00166 #define DEC_TIMEOUT 1
00167 #define DEC_MAX_RC 5
00168 #define REC_TIMEOUT 2
00169 #define REC_MAX_RC 8
00170 #define HOP_COUNT_LIMIT 32
00171 #define LQ6_TIMEOUT 1
00172 #define LQ6_MAX_RT 10
00173 #define LQ6_MAX_RC 5
00174
00175
00176
00177
00178 struct dhcpv6_packet {
00179 unsigned char msg_type;
00180 unsigned char transaction_id[3];
00181 unsigned char options[FLEXIBLE_ARRAY_MEMBER];
00182 };
00183
00184
00185 #define REPLY_OPTIONS_INDEX 4
00186
00187
00188
00189
00190 struct dhcpv6_relay_packet {
00191 unsigned char msg_type;
00192 unsigned char hop_count;
00193 unsigned char link_address[16];
00194 unsigned char peer_address[16];
00195 unsigned char options[FLEXIBLE_ARRAY_MEMBER];
00196 };
00197 #define MAX_V6RELAY_HOPS 32
00198
00199
00200
00201 #define LQ6QT_BY_ADDRESS 1
00202 #define LQ6QT_BY_CLIENTID 2
00203
00204
00205
00206
00207
00208
00209 #define DUID_TIME_EPOCH 946684800
00210
00211
00212
00213 #define IRT_DEFAULT 86400
00214 #define IRT_MINIMUM 600
00215