ss2sin6
len, v6addr2str(&ss2sin6(&pc->pc_dst)->sin6_addr),
ntohs(ss2sin6(&pc->pc_dst)->sin6_port), intf->name);
ss2sin6(&ss)->sin6_scope_id = intf->index;
if (IN6_IS_ADDR_MULTICAST(&ss2sin6(&ss)->sin6_addr)) {
if (s6fromaddr(ss2sin6(&sp->to), buf,
if (!IN6_IS_ADDR_LINKLOCAL(&ss2sin6(&sp->to)->sin6_addr))
if (memcmp(&ss2sin6(&pc->pc_dst)->sin6_addr,
memcpy(&dsr->dsr_peer, &ss2sin6(&pc->pc_src)->sin6_addr,
ss2sin6(&pc->pc_dst)->sin6_addr = dsr->dsr_peer;
ss2sin6(&pc->pc_dst)->sin6_port =
v6addr2str(&ss2sin6(&pc->pc_srcorig)->sin6_addr),
v6addr2str(&ss2sin6(&pc->pc_dst)->sin6_addr),
v6addr2str(&ss2sin6(&pc->pc_src)->sin6_addr));
if (memcmp(&ss2sin6(&pc->pc_dst)->sin6_addr,
dsr->dsr_peer = ss2sin6(&pc->pc_src)->sin6_addr;
if (iflist_getbyaddr6(&ss2sin6(&ss)->sin6_addr) != NULL)
ss2sin6(&pc.pc_dst)->sin6_family = AF_INET6;
ss2sin6(&pc.pc_dst)->sin6_len = sizeof(struct sockaddr_in6);
ss2sin6(&pc.pc_dst)->sin6_addr = in6alldhcprelay;
ss2sin6(&pc.pc_dst)->sin6_port = htons(DHCP6_SERVER_PORT);
ip6.ip6_src = ss2sin6(&pc->pc_src)->sin6_addr;
ip6.ip6_dst = ss2sin6(&pc->pc_dst)->sin6_addr;
uh.uh_sport = ss2sin6(&pc->pc_src)->sin6_port;
uh.uh_dport = ss2sin6(&pc->pc_dst)->sin6_port;
asrc = &ss2sin6(&pc->pc_src)->sin6_addr;
adst = &ss2sin6(&pc->pc_dst)->sin6_addr;
ss2sin6(&pc->pc_src)->sin6_port = uh->uh_sport;
ss2sin6(&pc->pc_dst)->sin6_port = uh->uh_dport;
memcpy(&addr6, (void*)&ss2sin6(&ss)->sin6_addr, sizeof(addr6));
sin6 = ss2sin6(&vfr.vfr_mask);
sin6 = ss2sin6(&vfr.vfr_addr);