TestControl::factoryOptionRequestOption6(Option::Universe,
uint16_t,
const OptionBuffer&) {
- const uint16_t buf_array[] = {
- htons(D6O_NAME_SERVERS),
- htons(D6O_DOMAIN_SEARCH)
+ const uint8_t buf_array[] = {
+ D6O_NAME_SERVERS, 0,
+ D6O_DOMAIN_SEARCH, 0,
};
OptionBuffer buf_with_options(buf_array, buf_array + sizeof(buf_array));
return (OptionPtr(new Option(Option::V6, D6O_ORO, buf_with_options)));
if (requested_options[j] == buf[i]) {
// Requested option has been found.
++matched_num;
- break;
}
}
}
size_t matched_num = 0;
for (size_t i = 0; i < buf.size(); i += 2) {
for (int j = 0; j < requested_options.size(); j += 2) {
- uint16_t opt_i = buf[i + 1] << 8 + buf[i];
- uint16_t opt_j = buf[j + 1] << 8 + buf[j];
+ uint16_t opt_i = buf[i + 1] << 8 + buf[i] & 0xFF;
+ uint16_t opt_j = requested_options[j + 1] << 8 + requested_options[j] & 0xFF;
if (opt_i == opt_j) {
// Requested option has been found.
++matched_num;
- break;
}
}
}
// Validate the D6O_ORO (Option Request Option).
OptionPtr opt_oro(Option::factory(Option::V6, D6O_ORO));
// Prepare the reference buffer with requested options.
- const uint16_t requested_options[] = {
- htons(D6O_NAME_SERVERS),
- htons(D6O_DOMAIN_SEARCH)
+ const uint8_t requested_options[] = {
+ D6O_NAME_SERVERS, 0,
+ D6O_DOMAIN_SEARCH, 0,
};
int requested_options_num =
sizeof(requested_options) / sizeof(requested_options[0]);