dhcp: make DHCP6_OPTION_* enum public
libsystemd-network provides the public function sd_dhcp6_client_set_request_option() to enable the request of a given DHCP option. However the enum defining such options is defined in the internal header dhcp6-protocol.h. Move the enum definition to the public header sd-dhcp6-client.h and properly namespace values.
This commit is contained in:
parent
22805d9207
commit
2c1ab8ca9b
|
@ -23,6 +23,8 @@
|
|||
#include <netinet/in.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "sd-dhcp6-client.h"
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "dhcp6-internal.h"
|
||||
#include "dhcp6-protocol.h"
|
||||
|
@ -90,11 +92,11 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
|||
assert_return(buf && *buf && buflen && ia, -EINVAL);
|
||||
|
||||
switch (ia->type) {
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
len = DHCP6_OPTION_IA_NA_LEN;
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_TA:
|
||||
case SD_DHCP6_OPTION_IA_TA:
|
||||
len = DHCP6_OPTION_IA_TA_LEN;
|
||||
break;
|
||||
|
||||
|
@ -117,7 +119,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
|||
*buflen -= len;
|
||||
|
||||
LIST_FOREACH(addresses, addr, ia->addresses) {
|
||||
r = option_append_hdr(buf, buflen, DHCP6_OPTION_IAADDR,
|
||||
r = option_append_hdr(buf, buflen, SD_DHCP6_OPTION_IAADDR,
|
||||
sizeof(addr->iaaddr));
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
@ -196,7 +198,7 @@ int dhcp6_option_parse_ia(uint8_t **buf, size_t *buflen, uint16_t iatype,
|
|||
assert_return(!ia->addresses, -EINVAL);
|
||||
|
||||
switch (iatype) {
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
|
||||
if (*buflen < DHCP6_OPTION_IA_NA_LEN + sizeof(DHCP6Option) +
|
||||
sizeof(addr->iaaddr)) {
|
||||
|
@ -219,7 +221,7 @@ int dhcp6_option_parse_ia(uint8_t **buf, size_t *buflen, uint16_t iatype,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_TA:
|
||||
case SD_DHCP6_OPTION_IA_TA:
|
||||
if (*buflen < DHCP6_OPTION_IA_TA_LEN + sizeof(DHCP6Option) +
|
||||
sizeof(addr->iaaddr)) {
|
||||
r = -ENOBUFS;
|
||||
|
@ -247,7 +249,7 @@ int dhcp6_option_parse_ia(uint8_t **buf, size_t *buflen, uint16_t iatype,
|
|||
while ((r = option_parse_hdr(buf, buflen, &opt, &optlen)) >= 0) {
|
||||
|
||||
switch (opt) {
|
||||
case DHCP6_OPTION_IAADDR:
|
||||
case SD_DHCP6_OPTION_IAADDR:
|
||||
|
||||
addr = new0(DHCP6Address, 1);
|
||||
if (!addr) {
|
||||
|
@ -274,7 +276,7 @@ int dhcp6_option_parse_ia(uint8_t **buf, size_t *buflen, uint16_t iatype,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_STATUS_CODE:
|
||||
case SD_DHCP6_OPTION_STATUS_CODE:
|
||||
if (optlen < sizeof(status))
|
||||
break;
|
||||
|
||||
|
|
|
@ -98,41 +98,6 @@ enum {
|
|||
_DHCP6_MESSAGE_MAX = 14,
|
||||
};
|
||||
|
||||
enum {
|
||||
DHCP6_OPTION_CLIENTID = 1,
|
||||
DHCP6_OPTION_SERVERID = 2,
|
||||
DHCP6_OPTION_IA_NA = 3,
|
||||
DHCP6_OPTION_IA_TA = 4,
|
||||
DHCP6_OPTION_IAADDR = 5,
|
||||
DHCP6_OPTION_ORO = 6,
|
||||
DHCP6_OPTION_PREFERENCE = 7,
|
||||
DHCP6_OPTION_ELAPSED_TIME = 8,
|
||||
DHCP6_OPTION_RELAY_MSG = 9,
|
||||
/* option code 10 is unassigned */
|
||||
DHCP6_OPTION_AUTH = 11,
|
||||
DHCP6_OPTION_UNICAST = 12,
|
||||
DHCP6_OPTION_STATUS_CODE = 13,
|
||||
DHCP6_OPTION_RAPID_COMMIT = 14,
|
||||
DHCP6_OPTION_USER_CLASS = 15,
|
||||
DHCP6_OPTION_VENDOR_CLASS = 16,
|
||||
DHCP6_OPTION_VENDOR_OPTS = 17,
|
||||
DHCP6_OPTION_INTERFACE_ID = 18,
|
||||
DHCP6_OPTION_RECONF_MSG = 19,
|
||||
DHCP6_OPTION_RECONF_ACCEPT = 20,
|
||||
|
||||
DHCP6_OPTION_DNS_SERVERS = 23, /* RFC 3646 */
|
||||
DHCP6_OPTION_DOMAIN_LIST = 24, /* RFC 3646 */
|
||||
|
||||
DHCP6_OPTION_SNTP_SERVERS = 31, /* RFC 4075, deprecated */
|
||||
|
||||
/* option code 35 is unassigned */
|
||||
|
||||
DHCP6_OPTION_NTP_SERVER = 56, /* RFC 5908 */
|
||||
|
||||
/* option codes 89-142 are unassigned */
|
||||
/* option codes 144-65535 are unassigned */
|
||||
};
|
||||
|
||||
enum {
|
||||
DHCP6_NTP_SUBOPTION_SRV_ADDR = 1,
|
||||
DHCP6_NTP_SUBOPTION_MC_ADDR = 2,
|
||||
|
|
|
@ -72,10 +72,10 @@ struct sd_dhcp6_client {
|
|||
};
|
||||
|
||||
static const uint16_t default_req_opts[] = {
|
||||
DHCP6_OPTION_DNS_SERVERS,
|
||||
DHCP6_OPTION_DOMAIN_LIST,
|
||||
DHCP6_OPTION_NTP_SERVER,
|
||||
DHCP6_OPTION_SNTP_SERVERS,
|
||||
SD_DHCP6_OPTION_DNS_SERVERS,
|
||||
SD_DHCP6_OPTION_DOMAIN_LIST,
|
||||
SD_DHCP6_OPTION_NTP_SERVER,
|
||||
SD_DHCP6_OPTION_SNTP_SERVERS,
|
||||
};
|
||||
|
||||
const char * dhcp6_message_type_table[_DHCP6_MESSAGE_MAX] = {
|
||||
|
@ -245,10 +245,10 @@ int sd_dhcp6_client_set_request_option(sd_dhcp6_client *client, uint16_t option)
|
|||
assert_return(client->state == DHCP6_STATE_STOPPED, -EBUSY);
|
||||
|
||||
switch(option) {
|
||||
case DHCP6_OPTION_DNS_SERVERS:
|
||||
case DHCP6_OPTION_DOMAIN_LIST:
|
||||
case DHCP6_OPTION_SNTP_SERVERS:
|
||||
case DHCP6_OPTION_NTP_SERVER:
|
||||
case SD_DHCP6_OPTION_DNS_SERVERS:
|
||||
case SD_DHCP6_OPTION_DOMAIN_LIST:
|
||||
case SD_DHCP6_OPTION_SNTP_SERVERS:
|
||||
case SD_DHCP6_OPTION_NTP_SERVER:
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -362,7 +362,7 @@ static int client_send_message(sd_dhcp6_client *client, usec_t time_now) {
|
|||
message->type = DHCP6_SOLICIT;
|
||||
|
||||
r = dhcp6_option_append(&opt, &optlen,
|
||||
DHCP6_OPTION_RAPID_COMMIT, 0, NULL);
|
||||
SD_DHCP6_OPTION_RAPID_COMMIT, 0, NULL);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
|
@ -380,7 +380,7 @@ static int client_send_message(sd_dhcp6_client *client, usec_t time_now) {
|
|||
else
|
||||
message->type = DHCP6_RENEW;
|
||||
|
||||
r = dhcp6_option_append(&opt, &optlen, DHCP6_OPTION_SERVERID,
|
||||
r = dhcp6_option_append(&opt, &optlen, SD_DHCP6_OPTION_SERVERID,
|
||||
client->lease->serverid_len,
|
||||
client->lease->serverid);
|
||||
if (r < 0)
|
||||
|
@ -406,14 +406,14 @@ static int client_send_message(sd_dhcp6_client *client, usec_t time_now) {
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
r = dhcp6_option_append(&opt, &optlen, DHCP6_OPTION_ORO,
|
||||
r = dhcp6_option_append(&opt, &optlen, SD_DHCP6_OPTION_ORO,
|
||||
client->req_opts_len * sizeof(be16_t),
|
||||
client->req_opts);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
assert (client->duid_len);
|
||||
r = dhcp6_option_append(&opt, &optlen, DHCP6_OPTION_CLIENTID,
|
||||
r = dhcp6_option_append(&opt, &optlen, SD_DHCP6_OPTION_CLIENTID,
|
||||
client->duid_len, &client->duid);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
@ -424,7 +424,7 @@ static int client_send_message(sd_dhcp6_client *client, usec_t time_now) {
|
|||
else
|
||||
elapsed_time = 0xffff;
|
||||
|
||||
r = dhcp6_option_append(&opt, &optlen, DHCP6_OPTION_ELAPSED_TIME,
|
||||
r = dhcp6_option_append(&opt, &optlen, SD_DHCP6_OPTION_ELAPSED_TIME,
|
||||
sizeof(elapsed_time), &elapsed_time);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
@ -687,7 +687,7 @@ static int client_parse_message(sd_dhcp6_client *client,
|
|||
while ((r = dhcp6_option_parse(&option, &len, &optcode, &optlen,
|
||||
&optval)) >= 0) {
|
||||
switch (optcode) {
|
||||
case DHCP6_OPTION_CLIENTID:
|
||||
case SD_DHCP6_OPTION_CLIENTID:
|
||||
if (clientid) {
|
||||
log_dhcp6_client(client, "%s contains multiple clientids",
|
||||
dhcp6_message_type_to_string(message->type));
|
||||
|
@ -705,7 +705,7 @@ static int client_parse_message(sd_dhcp6_client *client,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_SERVERID:
|
||||
case SD_DHCP6_OPTION_SERVERID:
|
||||
r = dhcp6_lease_get_serverid(lease, &id, &id_len);
|
||||
if (r >= 0 && id) {
|
||||
log_dhcp6_client(client, "%s contains multiple serverids",
|
||||
|
@ -719,7 +719,7 @@ static int client_parse_message(sd_dhcp6_client *client,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_PREFERENCE:
|
||||
case SD_DHCP6_OPTION_PREFERENCE:
|
||||
if (optlen != 1)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -729,7 +729,7 @@ static int client_parse_message(sd_dhcp6_client *client,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_STATUS_CODE:
|
||||
case SD_DHCP6_OPTION_STATUS_CODE:
|
||||
if (optlen < 2)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -743,7 +743,7 @@ static int client_parse_message(sd_dhcp6_client *client,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
if (client->state == DHCP6_STATE_INFORMATION_REQUEST) {
|
||||
log_dhcp6_client(client, "Information request ignoring IA NA option");
|
||||
|
||||
|
@ -767,35 +767,35 @@ static int client_parse_message(sd_dhcp6_client *client,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_RAPID_COMMIT:
|
||||
case SD_DHCP6_OPTION_RAPID_COMMIT:
|
||||
r = dhcp6_lease_set_rapid_commit(lease);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_DNS_SERVERS:
|
||||
case SD_DHCP6_OPTION_DNS_SERVERS:
|
||||
r = dhcp6_lease_set_dns(lease, optval, optlen);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_DOMAIN_LIST:
|
||||
case SD_DHCP6_OPTION_DOMAIN_LIST:
|
||||
r = dhcp6_lease_set_domains(lease, optval, optlen);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_NTP_SERVER:
|
||||
case SD_DHCP6_OPTION_NTP_SERVER:
|
||||
r = dhcp6_lease_set_ntp(lease, optval, optlen);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_SNTP_SERVERS:
|
||||
case SD_DHCP6_OPTION_SNTP_SERVERS:
|
||||
r = dhcp6_lease_set_sntp(lease, optval, optlen);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
@ -1285,7 +1285,7 @@ int sd_dhcp6_client_new(sd_dhcp6_client **ret) {
|
|||
|
||||
client->n_ref = 1;
|
||||
|
||||
client->ia_na.type = DHCP6_OPTION_IA_NA;
|
||||
client->ia_na.type = SD_DHCP6_OPTION_IA_NA;
|
||||
|
||||
client->index = -1;
|
||||
|
||||
|
|
|
@ -70,11 +70,11 @@ static int test_client_basic(sd_event *e) {
|
|||
sizeof (mac_addr),
|
||||
ARPHRD_ETHER) >= 0);
|
||||
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, DHCP6_OPTION_CLIENTID) == -EINVAL);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, DHCP6_OPTION_DNS_SERVERS) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, DHCP6_OPTION_NTP_SERVER) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, DHCP6_OPTION_SNTP_SERVERS) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, DHCP6_OPTION_DOMAIN_LIST) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_CLIENTID) == -EINVAL);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_DNS_SERVERS) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_NTP_SERVER) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_SNTP_SERVERS) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_DOMAIN_LIST) == -EEXIST);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, 10) == -EINVAL);
|
||||
|
||||
assert_se(sd_dhcp6_client_set_callback(client, NULL, NULL) >= 0);
|
||||
|
@ -88,9 +88,9 @@ static int test_client_basic(sd_event *e) {
|
|||
static int test_option(sd_event *e) {
|
||||
uint8_t packet[] = {
|
||||
'F', 'O', 'O',
|
||||
0x00, DHCP6_OPTION_ORO, 0x00, 0x07,
|
||||
0x00, SD_DHCP6_OPTION_ORO, 0x00, 0x07,
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G',
|
||||
0x00, DHCP6_OPTION_VENDOR_CLASS, 0x00, 0x09,
|
||||
0x00, SD_DHCP6_OPTION_VENDOR_CLASS, 0x00, 0x09,
|
||||
'1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'B', 'A', 'R',
|
||||
};
|
||||
|
@ -124,7 +124,7 @@ static int test_option(sd_event *e) {
|
|||
&optval) >= 0);
|
||||
pos += 4 + optlen;
|
||||
assert_se(buf == &packet[pos]);
|
||||
assert_se(optcode == DHCP6_OPTION_ORO);
|
||||
assert_se(optcode == SD_DHCP6_OPTION_ORO);
|
||||
assert_se(optlen == 7);
|
||||
assert_se(buflen + pos == sizeof(packet));
|
||||
|
||||
|
@ -137,7 +137,7 @@ static int test_option(sd_event *e) {
|
|||
&optval) >= 0);
|
||||
pos += 4 + optlen;
|
||||
assert_se(buf == &packet[pos]);
|
||||
assert_se(optcode == DHCP6_OPTION_VENDOR_CLASS);
|
||||
assert_se(optcode == SD_DHCP6_OPTION_VENDOR_CLASS);
|
||||
assert_se(optlen == 9);
|
||||
assert_se(buflen + pos == sizeof(packet));
|
||||
|
||||
|
@ -232,13 +232,13 @@ static int test_advertise_option(sd_event *e) {
|
|||
&optval)) >= 0) {
|
||||
|
||||
switch(optcode) {
|
||||
case DHCP6_OPTION_CLIENTID:
|
||||
case SD_DHCP6_OPTION_CLIENTID:
|
||||
assert_se(optlen == 14);
|
||||
|
||||
opt_clientid = true;
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
assert_se(optlen == 94);
|
||||
assert_se(!memcmp(optval, &msg_advertise[26], optlen));
|
||||
|
||||
|
@ -257,7 +257,7 @@ static int test_advertise_option(sd_event *e) {
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_SERVERID:
|
||||
case SD_DHCP6_OPTION_SERVERID:
|
||||
assert_se(optlen == 14);
|
||||
assert_se(!memcmp(optval, &msg_advertise[179], optlen));
|
||||
|
||||
|
@ -265,7 +265,7 @@ static int test_advertise_option(sd_event *e) {
|
|||
optlen) >= 0);
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_PREFERENCE:
|
||||
case SD_DHCP6_OPTION_PREFERENCE:
|
||||
assert_se(optlen == 1);
|
||||
assert_se(!*optval);
|
||||
|
||||
|
@ -273,24 +273,24 @@ static int test_advertise_option(sd_event *e) {
|
|||
*optval) >= 0);
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_ELAPSED_TIME:
|
||||
case SD_DHCP6_OPTION_ELAPSED_TIME:
|
||||
assert_se(optlen == 2);
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_DNS_SERVERS:
|
||||
case SD_DHCP6_OPTION_DNS_SERVERS:
|
||||
assert_se(optlen == 16);
|
||||
assert_se(dhcp6_lease_set_dns(lease, optval,
|
||||
optlen) >= 0);
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_DOMAIN_LIST:
|
||||
case SD_DHCP6_OPTION_DOMAIN_LIST:
|
||||
assert_se(optlen == 11);
|
||||
assert_se(dhcp6_lease_set_domains(lease, optval,
|
||||
optlen) >= 0);
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_SNTP_SERVERS:
|
||||
case SD_DHCP6_OPTION_SNTP_SERVERS:
|
||||
assert_se(optlen == 16);
|
||||
assert_se(dhcp6_lease_set_sntp(lease, optval,
|
||||
optlen) >= 0);
|
||||
|
@ -379,7 +379,7 @@ static void test_client_solicit_cb(sd_dhcp6_client *client, int event,
|
|||
assert_se(sd_dhcp6_lease_get_ntp_addrs(lease, &addrs) == 1);
|
||||
assert_se(!memcmp(addrs, &msg_advertise[159], 16));
|
||||
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, DHCP6_OPTION_DNS_SERVERS) == -EBUSY);
|
||||
assert_se(sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_DNS_SERVERS) == -EBUSY);
|
||||
|
||||
if (verbose)
|
||||
printf(" got DHCPv6 event %d\n", event);
|
||||
|
@ -425,7 +425,7 @@ static int test_client_verify_request(DHCP6Message *request, uint8_t *option,
|
|||
while ((r = dhcp6_option_parse(&option, &len,
|
||||
&optcode, &optlen, &optval)) >= 0) {
|
||||
switch(optcode) {
|
||||
case DHCP6_OPTION_CLIENTID:
|
||||
case SD_DHCP6_OPTION_CLIENTID:
|
||||
assert_se(!found_clientid);
|
||||
found_clientid = true;
|
||||
|
||||
|
@ -434,7 +434,7 @@ static int test_client_verify_request(DHCP6Message *request, uint8_t *option,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
assert_se(!found_iana);
|
||||
found_iana = true;
|
||||
|
||||
|
@ -453,7 +453,7 @@ static int test_client_verify_request(DHCP6Message *request, uint8_t *option,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_SERVERID:
|
||||
case SD_DHCP6_OPTION_SERVERID:
|
||||
assert_se(!found_serverid);
|
||||
found_serverid = true;
|
||||
|
||||
|
@ -462,7 +462,7 @@ static int test_client_verify_request(DHCP6Message *request, uint8_t *option,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_ELAPSED_TIME:
|
||||
case SD_DHCP6_OPTION_ELAPSED_TIME:
|
||||
assert_se(!found_elapsed_time);
|
||||
found_elapsed_time = true;
|
||||
|
||||
|
@ -521,7 +521,7 @@ static int test_client_verify_solicit(DHCP6Message *solicit, uint8_t *option,
|
|||
while ((r = dhcp6_option_parse(&option, &len,
|
||||
&optcode, &optlen, &optval)) >= 0) {
|
||||
switch(optcode) {
|
||||
case DHCP6_OPTION_CLIENTID:
|
||||
case SD_DHCP6_OPTION_CLIENTID:
|
||||
assert_se(!found_clientid);
|
||||
found_clientid = true;
|
||||
|
||||
|
@ -530,7 +530,7 @@ static int test_client_verify_solicit(DHCP6Message *solicit, uint8_t *option,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
assert_se(!found_iana);
|
||||
found_iana = true;
|
||||
|
||||
|
@ -540,7 +540,7 @@ static int test_client_verify_solicit(DHCP6Message *solicit, uint8_t *option,
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_ELAPSED_TIME:
|
||||
case SD_DHCP6_OPTION_ELAPSED_TIME:
|
||||
assert_se(!found_elapsed_time);
|
||||
found_elapsed_time = true;
|
||||
|
||||
|
@ -614,7 +614,7 @@ static int test_client_verify_information_request(DHCP6Message *information_requ
|
|||
while ((r = dhcp6_option_parse(&option, &len,
|
||||
&optcode, &optlen, &optval)) >= 0) {
|
||||
switch(optcode) {
|
||||
case DHCP6_OPTION_CLIENTID:
|
||||
case SD_DHCP6_OPTION_CLIENTID:
|
||||
assert_se(!found_clientid);
|
||||
found_clientid = true;
|
||||
|
||||
|
@ -623,17 +623,17 @@ static int test_client_verify_information_request(DHCP6Message *information_requ
|
|||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_IA_NA:
|
||||
case SD_DHCP6_OPTION_IA_NA:
|
||||
assert_not_reached("IA TA option must not be present");
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_SERVERID:
|
||||
case SD_DHCP6_OPTION_SERVERID:
|
||||
assert_not_reached("Server ID option must not be present");
|
||||
|
||||
break;
|
||||
|
||||
case DHCP6_OPTION_ELAPSED_TIME:
|
||||
case SD_DHCP6_OPTION_ELAPSED_TIME:
|
||||
assert_se(!found_elapsed_time);
|
||||
found_elapsed_time = true;
|
||||
|
||||
|
|
|
@ -41,6 +41,41 @@ enum {
|
|||
SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST = 13,
|
||||
};
|
||||
|
||||
enum {
|
||||
SD_DHCP6_OPTION_CLIENTID = 1,
|
||||
SD_DHCP6_OPTION_SERVERID = 2,
|
||||
SD_DHCP6_OPTION_IA_NA = 3,
|
||||
SD_DHCP6_OPTION_IA_TA = 4,
|
||||
SD_DHCP6_OPTION_IAADDR = 5,
|
||||
SD_DHCP6_OPTION_ORO = 6,
|
||||
SD_DHCP6_OPTION_PREFERENCE = 7,
|
||||
SD_DHCP6_OPTION_ELAPSED_TIME = 8,
|
||||
SD_DHCP6_OPTION_RELAY_MSG = 9,
|
||||
/* option code 10 is unassigned */
|
||||
SD_DHCP6_OPTION_AUTH = 11,
|
||||
SD_DHCP6_OPTION_UNICAST = 12,
|
||||
SD_DHCP6_OPTION_STATUS_CODE = 13,
|
||||
SD_DHCP6_OPTION_RAPID_COMMIT = 14,
|
||||
SD_DHCP6_OPTION_USER_CLASS = 15,
|
||||
SD_DHCP6_OPTION_VENDOR_CLASS = 16,
|
||||
SD_DHCP6_OPTION_VENDOR_OPTS = 17,
|
||||
SD_DHCP6_OPTION_INTERFACE_ID = 18,
|
||||
SD_DHCP6_OPTION_RECONF_MSG = 19,
|
||||
SD_DHCP6_OPTION_RECONF_ACCEPT = 20,
|
||||
|
||||
SD_DHCP6_OPTION_DNS_SERVERS = 23, /* RFC 3646 */
|
||||
SD_DHCP6_OPTION_DOMAIN_LIST = 24, /* RFC 3646 */
|
||||
|
||||
SD_DHCP6_OPTION_SNTP_SERVERS = 31, /* RFC 4075, deprecated */
|
||||
|
||||
/* option code 35 is unassigned */
|
||||
|
||||
SD_DHCP6_OPTION_NTP_SERVER = 56, /* RFC 5908 */
|
||||
|
||||
/* option codes 89-142 are unassigned */
|
||||
/* option codes 144-65535 are unassigned */
|
||||
};
|
||||
|
||||
typedef struct sd_dhcp6_client sd_dhcp6_client;
|
||||
|
||||
typedef void (*sd_dhcp6_client_cb_t)(sd_dhcp6_client *client, int event,
|
||||
|
|
Loading…
Reference in a new issue