Lines Matching +full:0 +full:xabcd

44 #define CSUM_MANGLED_0 (0xffff)
48 static uint32_t ip_id = 0xabcd;
59 ret = recv(fd_udp, recv_buff, payload_len, 0); in recv_validate_udp()
67 error(1, 0, "recv: expected timeout; got %d", in recv_validate_udp()
77 error(1, 0, "recv: wrong size: %d vs %d", (int)ret, payload_len); in recv_validate_udp()
79 error(1, 0, "recv: wrong data"); in recv_validate_udp()
86 for (i = 0; i < (len & ~1U); i += 2) { in raw_checksum()
88 if (sum > 0xffff) in raw_checksum()
89 sum -= 0xffff; in raw_checksum()
94 if (sum > 0xffff) in raw_checksum()
95 sum -= 0xffff; in raw_checksum()
103 uint32_t sum = 0; in udp_checksum()
110 res = 0xffff & ~sum; in udp_checksum()
119 uint32_t sum = 0; in udp6_checksum()
127 res = 0xffff & ~sum; in udp6_checksum()
139 int payload_offset = offset > 0 ? offset - UDP_HLEN : 0; in send_fragment()
143 if (offset == 0) { in send_fragment()
148 udphdr.check = 0; in send_fragment()
159 if (payload_len - payload_offset <= max_frag_len && offset > 0) { in send_fragment()
168 if (offset == 0) in send_fragment()
177 if (payload_len - payload_offset <= max_frag_len && offset > 0) { in send_fragment()
186 if (offset == 0) in send_fragment()
194 res = sendto(fd_raw, ip_frame, frag_len, 0, addr, alen); in send_fragment()
195 if (res < 0 && errno != EPERM) in send_fragment()
197 if (res >= 0 && res != frag_len) in send_fragment()
198 error(1, 0, "send_fragment: %d vs %d", res, frag_len); in send_fragment()
212 /* Send the UDP datagram using raw IP fragments: the 0th fragment in send_udp_frags()
217 * even fragments (0th, 2nd, etc.) are sent out. in send_udp_frags()
221 ((struct sockaddr_in6 *)addr)->sin6_port = 0; in send_udp_frags()
222 memset(ip6hdr, 0, sizeof(*ip6hdr)); in send_udp_frags()
229 fraghdr->ip6f_reserved = 0; in send_udp_frags()
232 memset(iphdr, 0, sizeof(*iphdr)); in send_udp_frags()
235 iphdr->ip_tos = 0; in send_udp_frags()
237 iphdr->ip_ttl = 0x40; in send_udp_frags()
241 iphdr->ip_sum = 0; in send_udp_frags()
246 offset = 0; in send_udp_frags()
267 offset = 0; in send_udp_frags()
306 frag_len &= ~0x7; in send_udp_frags()
315 res = sendto(fd_raw, ip_frame, frag_len, 0, addr, alen); in send_udp_frags()
316 if (res < 0 && errno != EPERM) in send_udp_frags()
318 if (res >= 0 && res != frag_len) in send_udp_frags()
319 error(1, 0, "sendto overlap: %d vs %d", (int)res, frag_len); in send_udp_frags()
324 offset = 0; in send_udp_frags()
346 for (idx = 0; idx < MSG_LEN_MAX; ++idx) in run_test()
354 fd_rx_udp = socket(addr->sa_family, SOCK_DGRAM, 0); in run_test()
411 struct sockaddr_in addr = {0}; in run_test_v4()
422 struct sockaddr_in6 addr = {0}; in run_test_v6()
453 error(1, 0, "%s: parse error", argv[0]); in parse_opts()
471 return 0; in main()