
4.6 Relay Agent Implementation 439
Send Packet
Listing 4-134
dhcp6s.c
2286 /* specify the destination and send the reply */
2287 dst = relayed ? *sa6_any_relay : *sa6_any_downstream;
2288 dst.sin6_addr = ((struct sockaddr_in6 *)from)->sin6_addr;
2289 dst.sin6_scope_id = ((struct sockaddr_in6 *)from)->sin6_scope_id;
2290 if (transmit_sa(outsock, (struct sockaddr *)&dst,
2291 replybuf, len) != 0) {
2292 dprintf(LOG_ERR, FNAME, "transmit %s to %s failed",
2293 dhcp6msgstr(type), addr2str((struct sockaddr *)&dst));
2294 return (-1);
2295 }
2296
2297 dprintf(LOG_DEBUG, FNAME, "transmit %s to %s",
2298 dhcp6msgstr(type), addr2str((struct sockaddr *)&dst));
2299
2300 ...