• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/odhcp6c/src/

Lines Matching refs:entry

289 	struct odhcp6c_entry *entry = alloca(sizeof(*entry) + 256);
292 memset(entry, 0, sizeof(*entry));
349 entry->target = any;
350 entry->length = 0;
351 entry->router = from.sin6_addr;
352 entry->priority = pref_to_priority(adv->nd_ra_flags_reserved);
353 if (entry->priority < 0)
354 entry->priority = pref_to_priority(0);
355 entry->valid = router_valid;
356 entry->preferred = entry->valid;
357 changed |= odhcp6c_update_entry(STATE_RA_ROUTE, entry, 0, true);
373 entry->router = from.sin6_addr;
374 entry->target = any;
375 entry->priority = pref_to_priority(opt->data[1]);
376 entry->length = opt->data[0];
378 entry->valid = ntohl(*valid);
379 memcpy(&entry->target, &opt->data[6], (opt->len - 1) * 8);
381 if (entry->length > 128 || IN6_IS_ADDR_LINKLOCAL(&entry->target)
382 || IN6_IS_ADDR_LOOPBACK(&entry->target)
383 || IN6_IS_ADDR_MULTICAST(&entry->target))
386 if (entry->priority > 0)
387 changed |= odhcp6c_update_entry(STATE_RA_ROUTE, entry, 0, true);
390 entry->router = any;
391 entry->target = pinfo->nd_opt_pi_prefix;
392 entry->priority = 256;
393 entry->length = pinfo->nd_opt_pi_prefix_len;
394 entry->valid = ntohl(pinfo->nd_opt_pi_valid_time);
395 entry->preferred = ntohl(pinfo->nd_opt_pi_preferred_time);
397 if (entry->length > 128 || IN6_IS_ADDR_LINKLOCAL(&entry->target)
398 || IN6_IS_ADDR_LOOPBACK(&entry->target)
399 || IN6_IS_ADDR_MULTICAST(&entry->target)
400 || entry->valid < entry->preferred)
404 changed |= odhcp6c_update_entry(STATE_RA_ROUTE, entry, 7200, true);
410 entry->target.s6_addr32[2] = lladdr.s6_addr32[2];
411 entry->target.s6_addr32[3] = lladdr.s6_addr32[3];
413 changed |= odhcp6c_update_entry(STATE_RA_PREFIX, entry, 7200, true);
415 entry->router = from.sin6_addr;
416 entry->priority = 0;
417 entry->length = 128;
419 entry->valid = ntohl(*valid);
420 entry->preferred = 0;
423 memcpy(&entry->target, &opt->data[6 + i * sizeof(entry->target)],
424 sizeof(entry->target));
425 changed |= odhcp6c_update_entry(STATE_RA_DNS, entry, 0, true);
432 entry->router = from.sin6_addr;
433 entry->valid = ntohl(*valid);
436 int len = dn_expand(buf, end, buf, (char*)entry->auxtarget, 256);
441 entry->auxlen = strlen((char*)entry->auxtarget);
443 if (entry->auxlen == 0)
446 changed |= odhcp6c_update_entry(STATE_RA_SEARCH, entry, 0, true);
447 entry->auxlen = 0;