• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/src/router/dhcp6/

Lines Matching defs:relay

536 	struct in6_addr relay;  /* the address of the first relay, if any */
596 * If this is a relayed message, parse all of the relay data, storing
603 &optinfo, &relay);
606 * NULL means there was an error in the relay format or no
610 dprintf(LOG_INFO, "%s" "failed to parse relay fields "
633 /* ToDo: allocate subnet after relay agent done
638 * If the relay list is empty, then this is a message received directly
640 * Otherwise, allocate the client an address based on the first relay
646 subnet = dhcp6_allocate_link(ifp, globalgroup, &relay);
779 * came in via unicast or multicast, since the relay may be configured
794 * came in via unicast or multicast, since the relay may be configured
1101 dprintf(LOG_INFO, "%s" "failed to construct relay message", FNAME);
1135 /* RELAY-REPL messages need to be directed back to the port the relay
1224 struct dhcp6 *relayed_msg; /* the original message that the relay
1242 memcpy (&relay_val->relay, relay_msg, sizeof (struct dhcp6_relay));
1244 /* set the msg type to relay reply now so that it doesn't need to be
1246 relay_val->relay.dh6_msg_type = DH6_RELAY_REPL;
1251 * need to record the first relay's link address field for later use.
1252 * The first relay is the last one we see, so keep overwriting the
1253 * relay value.
1255 memcpy (relay_addr, &relay_val->relay.link_addr,
1342 else /* No other options besides interface identifier and relay
1354 * message, then the relay processing is done. If it is another
1386 struct relay_listval *relay;
1391 for (relay = TAILQ_FIRST(&optinfo->relay_list); relay;
1392 relay = TAILQ_NEXT(relay, link)) {
1400 memcpy (msg, &relay->relay, sizeof(struct dhcp6_relay));
1408 if (relay->intf_id != NULL) {
1411 relay->intf_id->intf_len) >= (char *) endptr) {
1418 len = htons(relay->intf_id->intf_len);
1420 memcpy (option + 1, relay->intf_id->intf_id,
1421 relay->intf_id->intf_len);
1424 relay->intf_id->intf_len);
1425 relaylen += sizeof(struct dhcp6opt) + relay->intf_id->intf_len;
1428 /* save a pointer to the relay message option so that it is easier
1430 relay->option = option;
1464 * relay options)
1466 * Precondition: dhcp6_set_relay has already been called and the relay->option
1475 struct relay_listval *relay, *last = NULL;
1478 for (relay = TAILQ_LAST(&optinfo->relay_list, relay_list);
1479 relay; relay = TAILQ_PREV(relay, relay_list, link)) {
1482 memcpy (&relay->option->dh6opt_len, &len, sizeof(len));
1483 last = relay;
1487 ((void *) (relay->option + 1)));
1489 memcpy (&relay->option->dh6opt_len, &len, sizeof(len));