Lines Matching refs:dadPacket
91 ClatdDadPacket dadPacket;
93 dadPacket.v6Header.ip6_vfc = IPV6_VERSION_FLAG;
94 dadPacket.v6Header.ip6_plen = htons(sizeof(ClatdDadPacket) - sizeof(ip6_hdr));
95 dadPacket.v6Header.ip6_nxt = IPPROTO_ICMPV6;
96 dadPacket.v6Header.ip6_hlim = 0xff;
97 inet_pton(AF_INET6, "::", &dadPacket.v6Header.ip6_src);
98 inet_pton(AF_INET6, SOLICITED_NODE_PREFIX, &dadPacket.v6Header.ip6_dst);
101 dadPacket.v6Header.ip6_dst.s6_addr[i] = v6Addr_.s6_addr[i];
104 dadPacket.ns.nd_ns_type = ND_NEIGHBOR_SOLICIT;
105 dadPacket.ns.nd_ns_code = 0;
106 dadPacket.ns.nd_ns_reserved = 0;
107 dadPacket.ns.nd_ns_target = v6Addr_;
108 uint32_t checkSum = dadPacket.v6Header.ip6_plen + htons(dadPacket.v6Header.ip6_nxt);
109 checkSum = AddChecksum(checkSum, &dadPacket.v6Header.ip6_src, sizeof(dadPacket) - IPV6_SRC_OFFSET);
110 dadPacket.ns.nd_ns_cksum = ~Checksum32To16(checkSum);
112 dadPacket.nonceOptType = NDP_NOUNCE_OPT;
113 dadPacket.nonceOptLen = 1;
114 arc4random_buf(&dadPacket.nonce, sizeof(dadPacket.nonce));
118 dstAddr.sin6_addr = dadPacket.v6Header.ip6_dst;
121 sendto(writeSock6_, &dadPacket, sizeof(dadPacket), 0, reinterpret_cast<const sockaddr *>(&dstAddr),